Commit Graph

6783 Commits

Author SHA1 Message Date
NeoBrainX ba310ce096 PixelShaderManager: Revert code introduced mainly in revision 0fdeb81038.
The shader constant usage profile functionality is still buggy and the code using it wasn't ever meant to be merged to master.
2013-06-25 13:37:38 +02:00
Jasper St. Pierre 748ee50536 Core: Fix a typo in the binding of IR Up
Whoops.
2013-06-25 01:58:22 -04:00
Jasper St. Pierre 54e1b58199 Core: Update default bound controls for new ExpressionParser 2013-06-25 01:46:13 -04:00
Jasper St. Pierre 89e84163c2 ExpressionParser: Fix delimiter scanning
We need to make sure we eat the delimiter, otherwise we'll notice
the colon / backtick and think it's either a new control or part
of the control name
2013-06-25 01:44:28 -04:00
Jasper St. Pierre c5c86d17dc InputConfigDiag: Use "..." for complicated expressions
The full expression is quite often too big for a simple button
label, so encourage people to use the full editor to edit it.
2013-06-25 00:58:31 -04:00
Jasper St. Pierre 62281fbfde InputConfigDiag: Give the input text field a monospace font 2013-06-25 00:58:30 -04:00
Jasper St. Pierre 03a835ec07 InputConfigDiag: Update for the new expression language
Modify the buttons and editor interface for the new expression
language, like the new op name for add, the new device name syntax,
and add new editing features, like simple selection behavior on
unary ops.
2013-06-25 00:58:30 -04:00
Jasper St. Pierre a42388d061 ExpressionParser: Support bare words for simple control names
Using backticks for all control names can get a bit grating,
so support "A & B" instead of requiring "`A` & `B`".
2013-06-25 00:58:30 -04:00
Jasper St. Pierre d2753cce66 ExpressionParser: Add support for the add operator
Use "+" instead of "^" this time.
2013-06-25 00:58:30 -04:00
Jasper St. Pierre 6246f6e815 InputCommon: Add a new ExpressionParser to replace the old hack language
This contains a new, hand-written expression parser to replace the old
hack language based on string munging. The new approach is a simple
AST-based evaluation approach, instead of the "list of operations"
infix-based hack that there was before.

The new language for configuration has support for parentheses, and
counts "!" as a unary operator instead of the binary "NOT OR" operator
it was before. A simple example:

  (X & Y) | !B

Explicit device references, and complex device names ("Right Y+") are
handled with backticks and colons:

  (`SDL/0/6 axis joystick:Right X+` & `DInput/0/Keyboard Mouse:A`)

The basic editor UI that inserts tokens has not been updated to reflect
the new language.
2013-06-25 00:58:30 -04:00
Jasper St. Pierre 877106b027 InputCommon: Split Device stuff out
The ExpressionParser needs this to be out of here to prevent issues
with cyclic references.
2013-06-25 00:58:30 -04:00
Rachel Bryk 970661a0c5 Warning fix. 2013-06-24 12:30:08 -04:00
Rachel Bryk f73a97b242 Revert "fix warning: format '%x' expects argument of type 'unsigned int*', but argument 3 has type 'u8* {aka unsigned char*}'"
This reverts commit b9953f5d6a.
2013-06-24 09:16:14 -04:00
NeoBrainX 597a6b34cb Compactify VertexShader uid struct. 2013-06-23 19:29:02 +02:00
degasus a2e132dd4b small index generator optimiztions
- rewrite loops to not use divisions and multiplications
- remove warnings as the current implementations seems to be correct (ignore additional vertices)
2013-06-23 14:38:25 +02:00
Tetsuo55 b9953f5d6a fix warning: format '%x' expects argument of type 'unsigned int*', but argument 3 has type 'u8* {aka unsigned char*}' 2013-06-23 11:03:30 +02:00
Ryan Houdek eb579e4264 Merge in JP's change to fix audio stuttering with OpenAL. 2013-06-23 02:46:45 -05:00
Ryan Houdek 6bb7cc5fea [Android] Add an about screen that shows build revision. 2013-06-22 22:54:36 -05:00
Jordan Cristiano 8cf515359c fixed uninitialzed audio_size variable in WaveFileWriter 2013-06-22 23:24:05 -04:00
Jordan Cristiano fafdc4fcef DSBCAPS_GLOBALFOCUS allows sound to still play when the application is in the background. Other backends do this, so why not let dsound do it too. 2013-06-22 23:23:53 -04:00
Jordan Cristiano 911d73d85a added new license header to missed audio source files 2013-06-22 23:20:48 -04:00
NeoBrainX bdc28106ee Optimize shader uid checks by checking the number of uid values which are actually used. 2013-06-22 21:47:22 +02:00
NeoBrainX 16ada5fa3d Compactify generated UID generator assembly and generally cleanup code by storing tev stage hash values in a struct. 2013-06-22 21:47:22 +02:00
Ryan Houdek 2b9f79dff3 [Android] Remove SimonVT menudrawer library. Move to Google's support library for their navigation drawer support. Overall cleanup. 2013-06-22 07:45:05 -05:00
NeoBrainX 15943de313 Revert "Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp"
This reverts commit 7aae9ccbc0.

Reasons:
- no test results have been provided to prove the usefulness of the patch
- broken coding style
- the author hasn't replied to any criticism
2013-06-22 12:25:03 +02:00
Rachel Bryk 266236d6a4 When loading a save state in read only that mismatches the current movie, load the input prior to the save state from the save state's movie, instead of using the current movie's input up to that point.
This prevents desyncing before the save state.
2013-06-21 01:53:50 -04:00
Rachel Bryk 716f656d28 Save sync gpu setting to dtm header. 2013-06-20 06:08:17 -04:00
degasus 010165b2c2 fix gcc warning, probably also the logic
comparing two char pointers doesn't compare the strings
2013-06-20 10:43:09 +02:00
Ryan Houdek 02cbcc8ec4 [Android] When running OpenGL ES 3 backend, we've got to switch the screen coordinates or bad things happen. Adds a Driver bug that causes swap every single flush. Hard requirement currently to see /anything/ on screen. 2013-06-18 12:44:06 -05:00
NeoBrainX c4eb659fec BPMemory: Assign a more descriptive name to a field in the genmode register. 2013-06-18 17:25:16 +02:00
Ryan Houdek 6143594db6 [Android] Qualcomm glGetShaderInfoLog returns a max of 1024 bytes(tested) for the log, and glGetShaderiv with GL_INFO_LOG_LENGTH /always/ returns 0 on compile failure. 2013-06-18 10:24:36 -05:00
Lioncash d78f00971b Fix a free that should have been a delete. 2013-06-18 10:13:37 -04:00
Ryan Houdek 7df8a9cae8 Partial revert of 0247b2a97a. I'll add a work around for Qualcomm in a bit. Qualcomm shader compiler failing was only due to floating suffixes not whole function defines. Qualcomm video driver devs seem to have a good response time when it comes to OpenGL ES 3 issues. 2013-06-18 07:52:36 -05:00
Ryan Houdek 7223778520 [Android] Gamepad input. Refactor JNI native functions to all pull from a single class instead of everywhere willy-nilly 2013-06-18 07:09:38 -05:00
booto a518a1cbdc buffer fixes found via cppcheck/tetsuo-- 2013-06-18 13:17:50 +08:00
degasus c57a90c5b5 don't define clipPos twice
fix issue 6378
2013-06-17 23:24:54 +02:00
NeoBrainX 88bc8255b8 Merge branch 'shader-uids-awesome'.
Replaces the old, hardcoded shader ID generator with a semi-automatic mechanism that generates IDs from hints in the code generator.

Also introduces a flexible framework to do all kinds of funky stuff with the shader code generation logic. As an example, a uniform usage profile generation class is added (unused for now, though).

Functionality can still be tested by setting the EnableShaderDebugging field in the gfx config to True. Any two shaders which are identified with the same ID will be written to a file and an error message will be written to the Dolphin log.
2013-06-17 13:27:22 +02:00
NeoBrainX 8816369144 PixelShaderGen: Add some TODOs.
Totally the perfect commit message for a final commit before merging :p
2013-06-17 13:17:25 +02:00
NeoBrainX f724b47f45 PixelShaderGen: Fix more critical issues, some of which are regressions of revision 32b78a85. 2013-06-17 13:08:38 +02:00
NeoBrainX 2b2ca5260f PixelShaderGen: Fixed some bugs, removed unused shader uid fields. 2013-06-17 13:03:38 +02:00
NeoBrainX 7a01ceba73 PixelShaderGen: Fix various merge conflicts and a critical regression from revision 32b78a85. 2013-06-17 12:51:57 +02:00
Matthew Parlane 868c627876 Fixes Issue 6353 Remove extract apploader/dol from top level 2013-06-17 22:51:15 +12:00
NeoBrainX c505260ec1 Fix some merge conflicts. 2013-06-17 12:29:47 +02:00
NeoBrainX ca22872dae Merge 'master' into shader-uids-awesome.
Conflicts:
	Source/Core/VideoCommon/Src/LightingShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.h
	Source/Core/VideoCommon/Src/VertexShaderGen.cpp
2013-06-17 12:05:47 +02:00
NeoBrainX f0ea525d3b PixelShaderGen: Change a comment slightly. 2013-06-17 11:39:50 +02:00
NeoBrainX 20719081df PixelShaderGen: Move RegisterStates from global storage to stack. 2013-06-17 11:37:41 +02:00
NeoBrainX 7e0db58b1e Fix stuff 2013-06-17 10:50:16 +02:00
NeoBrainX 32b78a8572 First steps of making the pixel shader uid struct more compact. 2013-06-17 10:50:12 +02:00
Matthew Parlane 43a4d41889 Handle 1 partition only, fixes Issue #6353 2013-06-17 19:25:55 +12:00
Armada 9594cac42c Build fix: Android NDK doesn't support any locale switching.
Also, Mac OS X doesn't support DX9.
2013-06-16 14:51:38 +02:00
Armada fc7099a905 Set the locale per-thread instead of globally when generating shaders. Add cross-compatible versions of newlocale, uselocale and freelocale.
This commit fixes a rare race condition when generating shaders because setlocale is global.
2013-06-16 12:33:13 +02:00
John Peterson 825c5ca09a Equalising the 32 and 64 bit state compression
because that allow loading both
2013-06-15 23:28:04 +02:00
John Peterson 5bd44d7e3f Build fix 2013-06-13 18:38:05 +02:00
John Peterson adb83cfabe Clarifying the OpenAL loop
because it isn't as clear as it can be
2013-06-13 18:04:02 +02:00
Ryan Houdek fa4ad82878 Fix Windows Compiling? 2013-06-12 03:14:13 -05:00
Ryan Houdek 9df3dbe13c Build Fix 2013-06-11 08:38:45 -05:00
Ryan Houdek 703a51e4c0 [Android] Start of *working* GLES3 support. Needs to be able to compile in Windows still. 2013-06-11 08:33:56 -05:00
Ryan Houdek 8efdbcda9e [Android] Fix drawn buttons causing rendering issues. 2013-06-11 08:23:32 -05:00
Rachel Bryk 3e40f28369 Get video backend name via g_video_backend->GetName() instead of sconfig for movies, since that can be wrong.
Also, I still can't code. Or even notice when something obviously doesn't work.
2013-06-10 21:04:55 -04:00
skidau 92fdc15aa3 Implemented field order detection for PAL games. Fixes the shaking of the screen when XFB is enabled with a PAL game.
Fixes issue 6316.
2013-06-08 14:05:02 +10:00
skidau 196d152ad7 Invalidate the texture cache using the GPU thread when the CPU thread makes a request.
Fixes issue 6350.
2013-06-08 11:28:54 +10:00
ondra.hosek 3ff2a3a11a Fix the GameCube mic dialog header's invalid include guard.
Fixes issue 6349.
2013-06-06 21:30:50 +10:00
John Peterson b6e1127c8a Adding stick radius setting
because that makes it easier to adjust it

Adding visual aid for the hardware range because that makes it easier to adjust the radius relative to it
2013-06-06 09:28:59 +02:00
eli173 7aae9ccbc0 Added optimizations to ClassifyFloat/Double functions in Mathutil.cpp and to PPCCache.cpp 2013-06-01 19:17:52 -05:00
John Peterson 80b09c074e Changing the Gecko code comparison from metadata to data comparison
because different data sometimes have the same metadata
2013-06-01 09:21:57 +02:00
John Peterson 4dad640d5f Reading shake force from calibration rather than a constant
because that allow maximum force regardless of calibration
2013-05-28 23:46:01 +02:00
John Peterson 388ddee685 Adding condition to CoreTiming state function
because ev->type might be undefined in MODE_READ
2013-05-27 23:26:17 +02:00
Rachel Bryk ca12e7ee8f Make auto fullscreen resolution the default. 2013-05-25 13:51:52 -04:00
degasus 3378f7d6a7 fix auto fullscreen resolution on linux 2013-05-25 11:43:56 +02:00
Rachel Bryk 743230500f Add auto fullscreen resolution option. Not tested on Linux, let me know if it doesn't work (it probably does).
Fixes issue 6082.
2013-05-25 03:08:09 -04:00
Rachel Bryk 026ab26755 Save settings to file when booting a game.
Fixes issue 6310.
2013-05-24 19:06:01 -04:00
degasus a51d6a6ddd add new statistics for gpu buffer streaming 2013-05-23 21:07:01 +02:00
degasus 6a5e7d7be4 also hide hacked buffer option on d3d 2013-05-23 13:58:37 +02:00
degasus ae55d82e43 disable hacked buffer option for d3d 2013-05-23 11:08:07 +02:00
John Peterson f452a6442f Adding MMU state values to state
because that allow the MMU state to be loaded
2013-05-23 01:55:29 +02:00
Matthew Parlane 3778c96d48 Edge case where balance board returns corrupt extension type... 2013-05-22 22:39:55 +12:00
Rachel Bryk 10630989a4 Merge remote-tracking branch 'john-peterson/state4' 2013-05-21 20:14:15 -04:00
John Peterson 5e801fd6ef Adding DSP state values to state
because that allow the DSP state to be loaded
2013-05-22 02:13:23 +02:00
Rachel Bryk 10d1d19409 Set graphics settings while playing a movie in UpdateActiveConfig(), so settings can't be changed for a frame. 2013-05-21 19:20:22 -04:00
Matthew Parlane 86b4a87fef Merge branch 'wii_bb'
Adds Balance Board support.
2013-05-21 23:34:58 +12:00
Matthew Parlane d642abce46 Only show 4 config dialogs in wiimote config. 2013-05-21 23:31:41 +12:00
Matthew Parlane f178015461 Better checking for extension. 2013-05-21 22:54:01 +12:00
Matthew Parlane e2b0632334 Added a method for detecting Wiimote extension.
This is run before a Wiimote will be considered.
2013-05-21 21:42:19 +12:00
John Peterson 9a1b9e9b3b Removing ISO ini presence requirement for reading movie settings
because it's not necessary for running a movie
2013-05-19 19:47:32 +02:00
Matthew Parlane 56976ad6ea Fix coding style. 2013-05-19 14:57:04 +12:00
Matthew Parlane 065d772696 Windows should have support for Balance Board now.
Needs to be tested.
2013-05-19 14:45:24 +12:00
Matthew Parlane 7208823396 Added config for enabling Balance Board.
Fixed other structures that still assumed 4 of everything.
2013-05-19 00:30:20 +12:00
Matthew Parlane 59924d0291 It never had logging here anyway... 2013-05-18 22:31:22 +12:00
Matthew Parlane 08f6ba8274 I'm bad at mac.. sorry.
Used the correct name string.
2013-05-18 22:29:51 +12:00
Matthew Parlane 0b869cf12d Add mac support for balance board. 2013-05-18 22:26:00 +12:00
Ryan Houdek 2c7f9b1b78 [Android] Copy over the Dolphin shared library to the Android APK build directory so it doesn't need to be manually copied each time. 2013-05-18 03:56:45 -05:00
Matthew Parlane fccf377180 Fix IODummy FindWiimote method. 2013-05-18 20:35:37 +12:00
Matthew Parlane 19252f4e0e Initial commit with balance board working on Linux.
Will not work on any other platform currently.
Missing any sort of config, and definitely no emulation mode.
2013-05-18 20:31:37 +12:00
degasus a905b18ef1 Merge branch 'ppd' - per pixel depth
use always ppd is a huge gpu performance drop: 20%-50%
and always disable it cause some rendering issues
so there is an option again
But this time it's called "Fast Depth Calculation"
2013-05-12 07:29:31 +02:00
Ryan Houdek bf67378812 Fix the integer compare in our GLSL fmod function 2013-05-11 00:16:20 -05:00
Pierre 82cd91e944 DSPJIT: the shift value must still be loaded into the correct register
Fixes issue 6295
2013-05-10 20:12:49 +02:00
NeoBrainX f348712d3a BPMemory: Fix a small documentation mistake from revision 9365187f89. 2013-05-10 11:47:06 +00:00
degasus f7c3cacb5c ppd: fix small issues in my last commit 2013-05-10 12:51:06 +02:00
degasus 89be1cbf51 recreate "per pixel depth" option and renamed it to fast depth calculation 2013-05-09 17:48:48 +02:00
skidau 98e8f8d7d0 Forced an external exception check on DI interrupts. Fixes Summoner: A Goddess Reborn.
Fixes issue 6301.
2013-05-10 00:03:00 +10:00