Commit Graph

1754 Commits

Author SHA1 Message Date
degasus
573dbfd494 ogl: drop glsl120 support 2013-09-22 23:45:14 +02:00
comex
6209067daa Fix stack misalignment fix. 2013-09-22 15:48:27 -04:00
Rachel Bryk
9a6f28fce4 Revert "Fix stack misalignment issues."
This reverts commit d334a9bc23.

This breaks single core.
2013-09-22 14:29:35 -04:00
comex
d334a9bc23 Fix stack misalignment issues.
- Call ABI_AlignStack even on x86-64.

- Have ABI_AlignStack respect the difference in current alignment
  between the root JIT function, which has a prolog, and
  ProtectFunction thunks, which do not.  This was causing many games
  to crash on start on OS X.  Since this might otherwise mean changing
  the stack pointer before every call...

- Have one prolog/epilog function rather than two (one of which
  definitely did not do what it was thought to do), and make it
  actually work like a normal one, so that the stack frame shows up
  properly in the debugger.  There should be no performance impact.
2013-09-20 16:46:48 -04:00
Pierre Bourdon
86f6e8cc1e Better fix for issue 6614: ISOProperties should store integer settings for PHack booleans. INIFile is stupid, please kill it with fire. 2013-09-18 12:33:57 +02:00
Pierre Bourdon
7aa98a3830 Fix loading of the 'projection hack enabled' gameini setting
Fixes issue 6614.
2013-09-18 12:23:46 +02:00
Ryan Houdek
24a44ecfb8 [ANDROID] Add two new DriverDetails bugs for Adreno. V45 of the driver has broken shader compilation with UBOs in the shaders, this is most likely fixed with V53 found in the Nexus 5. Add a bug for issue surrounding on screentext and doing a glClear after swap causes screen swizzling and zero frames rendered respectively. On the Java side, pass in the dimensions of the screen swapped since there is an issue with Adreno where it rotates the output 90 degrees for some reason. Disable the GLSL shader cache on Android for now due to the inability to cleanly exit the emulator, this tends to cause the cache to get corrupted. All this together fixes rendering with Adreno 3xx GPUs with driver version v14 and above. In particular my Galaxy S4 still resets with this without the root commands, but my HTC Droid DNA and LG G2 is fine. This must be due to particular 'enhancements' that the Samsung kernel has over the other ones. The speed on Adreno has yet to be optimized, so it will most likely be slow still. Faster than the software rasterizer in any case. The ARMJIT is still broken in at this point, so not much fun can be had. 2013-09-18 02:37:10 -05:00
degasus
75f2738f5c VideoCommon: fix ogl lighting bug which happens because of NaN emulation
attn is sometimes very big (eg 1e27), so attn*attn doesn't fit into a float.
So the funny part here is: 0.0 * (1e27*1e27) = 0.0 * Inf = NaN

As the shader compiler is allowed to change the order of multiplications,
this issue isn't fixed completely.
2013-09-16 17:10:19 +02:00
Pierre Bourdon
501eafb407 Overlay local gameinis over global gameinis instead of copying.
Huge megacommit because a lot of things needed to be modified to make this
possible.
2013-09-14 17:46:41 +02:00
NeoBrainX
d1e96c7282 Display warning OSD messages when a game ini is overriding any settings. 2013-09-14 06:08:31 +02:00
Pierre Bourdon
91a758b342 Move TextureDecoder.cl from User to Sys 2013-09-14 06:08:30 +02:00
degasus
3fcdf5e25b VideoCommon: use memcmp to compare shader uid 2013-09-11 17:34:23 +02:00
degasus
3ec9f9b64a videoCommon: also reset logicOp on mode switch 2013-09-09 02:30:44 +02:00
Pierre Bourdon
7acee71c0c Move swapModeTable to a local variable, avoids shader uid generation writing to it 2013-09-04 23:23:29 +02:00
Pierre Bourdon
175707739e Move LightingUidData to the LightingShaderGen header 2013-09-04 23:23:29 +02:00
Ryan Houdek
2897619ddb Removal of my terrible idea. 2013-09-02 05:31:48 -05:00
Ryan Houdek
831963616f [Android] Make texture loading/deleting/drawing backend non-specific by making them happen in the backend instead of somewhere else. Just a clean up commit really. 2013-09-02 01:40:05 -05:00
comex
35b8dfbe0c A few more warnings. 2013-09-01 23:33:35 -04:00
degasus
15df7b3445 ogl driverdetails: add flag to disable hacked and pinned memory
pinned memory is broken for index buffers
hacked buffer crashes the amd driver
2013-08-26 19:45:19 +02:00
degasus
1cbc8f8182 sync gpu: check disable flag before volatile
This could be an optimizing as this condition could be moved out of the loop.
So we save an atomic load.
But I don't know if it matters at all
2013-08-24 18:43:07 +02:00
Rodolfo Bogado
dbcc677922 Merge remote-tracking branch 'remotes/origin/dx9-ssaa-fix' 2013-08-23 22:43:03 -03:00
Rodolfo Bogado
40243a4fe7 Indentation Fix 2013-08-23 22:28:17 -03:00
Pierre Bourdon
9303b57db1 Refactor VideoCommon/OnScreenDisplay.
Use strings internally, use a multimap and std::function for callbacks (instead
of a flat vector + loop over the vector to find the right callback type), fix
coding style issues. Simplify MainAndroid code a bit.
2013-08-24 02:13:54 +02:00
Pierre Bourdon
367d6dfd65 Add an OSD message when taking screenshots in D3D9/D3D11
Fixes issue 6486.
2013-08-24 01:41:17 +02:00
degasus
7a5374258e ogl: rework DriverDetails framework + detect UBO mesa bug 2013-08-23 10:52:29 +02:00
Ryan Houdek
1eb1ba8c3d Typo + Add Lima to the driverdetails. 2013-08-21 05:41:32 -05:00
Ryan Houdek
1910f5851f Make us capable of supporting driver specific issues(OSS versus official) 2013-08-21 05:34:52 -05:00
Pierre Bourdon
a3a4f21284 Remove some spurious endlines at the end of log messages 2013-08-21 00:19:50 +02:00
degasus
814c1c9572 pixelShaderGen: also execute alpha test for always fail with late z test
This should fix issue 6493, but maybe no real issue as this rendering just do nothing
2013-08-19 21:27:54 +02:00
Pierre Bourdon
d6fe9c639b Add an OSD message to remind the user if Shader Debugging is enabled
Fixes issue 6497.
2013-08-17 23:48:06 +02:00
Ryan Houdek
7934df3879 Remove a redundant check in the fifo. 2013-08-17 01:27:08 +00:00
Rodolfo Bogado
979718484f Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix 2013-08-15 00:21:28 -03:00
Pierre Bourdon
7622d5b354 Only call SetGenerationMode from BPWritten if the cull mode changed.
Should decrease CPU usage on the GPU thread by a bit in the OGL backend.
2013-08-15 00:26:03 +02:00
Pierre Bourdon
26f58e1ba5 Add an option to enable performance queries in gameini files, disable it by default 2013-08-14 23:16:46 +02:00
Pierre Bourdon
ffdd79df36 Move VideoBackendBase from Common to VideoCommon 2013-08-14 23:16:46 +02:00
NeoBrainX
0cd94b5bc7 VertexShaderGen: Cleanup. 2013-08-14 11:47:23 +00:00
Rodolfo Bogado
9e0fc8b42d Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix 2013-08-12 21:32:25 -03:00
NeoBrainX
c05aa0141d ShaderGen: Optimize out most function calls for uid generation. 2013-08-12 18:30:42 +02:00
NeoBrainX
fe2ca814c5 LightingShaderGen: Use macro magic instead of snprintf. Should fix performance problems. 2013-08-12 18:30:42 +02:00
NeoBrainX
22d9736787 ShaderGen: Static inline everything. 2013-08-12 18:30:42 +02:00
NeoBrainX
69a5a79c03 PixelShaderGen: Optimize shader uid data order. 2013-08-12 18:30:42 +02:00
NeoBrainX
7a1940020d VertexShaderGen: Optimize shader uid data order. 2013-08-12 18:30:41 +02:00
Rodolfo Bogado
5948665cd6 Merge branch 'master' of https://code.google.com/p/dolphin-emu into dx9-ssaa-fix 2013-08-12 10:30:19 -03:00
NeoBrainX
4c22e1264e PixelShaderGen: Do not write depth in pixel shader if depth testing (and thus writing) is not enabled. Should improve performance quite a bit in some cases.
Fixes issue 6474.
2013-08-12 09:33:36 +00:00
Rodolfo Bogado
f4000b6b42 Add the ability to force Dual Source Blending in the configuration file.
this way everyone can check if their hardware support this feature in dx9
2013-08-11 18:48:31 -03:00
NeoBrainX
eed36cbf78 D3D11: Implement zcomploc for hardware supporting D3D 11.0. 2013-08-09 22:20:35 +02:00
degasus
a6fd2c8227 fix lightning for inconsitent config
It's possible to configure to use the vertex color as lightning source without enabling the vertex color at all.
The old implementation will use zero, but it seems to be wrong (prooven by THPS3), more likely is to disable
the lightning and just return the global color.
This fixes THPS3 on OpenGL, but it isn't verifed on hardware
2013-08-07 14:22:15 +02:00
Rachel Bryk
a33b1fcdc6 Make hotkeys for togglign IR, AR, efb copies and fog settings configurable. 2013-07-30 05:49:02 -04:00
degasus
4987f89ecc simplify my last commit 2013-07-29 23:26:18 +02:00
degasus
d029fc2f9f remove printf in shader uid generation 2013-07-29 20:52:24 +02:00
Ryan Houdek
4aba0135e1 [Android] Qualcomm Swap hack isn't needed anymore due to the new StreamBuffer type. 2013-07-26 21:49:48 -05:00
Ryan Houdek
b6e9a75bdf Good Job Windows. Fixes compiling... 2013-07-27 00:53:53 +00:00
Ryan Houdek
f786f0f0c6 Remove the broken buffers bug on Mali hardware since it isn't needed anymore using the glBufferData route in the StreamBuffer class. 2013-07-27 00:41:38 +00:00
Ryan Houdek
e0a5f7842e Fix Mali-T604 shader compilation 2013-07-25 16:13:33 +00:00
Ryan Houdek
672871b3be Add in the Mali driver bug so we can call glFlush every flush. It seemingly is quicker calling flush every time instead of every n times. 2013-07-25 05:44:20 +00:00
degasus
0ba6d12e9d fix a small uid awsome bug 2013-07-23 02:13:40 +02:00
degasus
15b8ac64ef Implement zcomploc on OpenGL4.2+ 2013-07-22 12:02:16 +02:00
Jasper St. Pierre
3c7f223aa1 Add "Q" / "E" as freelook keybindings
To move the view up and down.
2013-07-22 00:14:42 -04:00
Jasper St. Pierre
52482115e1 Move in-game keybinding handling to a central location
Instead of handling it separately in every backend.
2013-07-21 23:17:16 -04:00
Jasper St. Pierre
4981b7cdd3 VertexShaderManager: Make ProjectionHack private
There's no reason to make this public, and it prevents a build
issue with the next commit.
2013-07-21 17:56:20 -04:00
Ryan Houdek
82f7b20b91 There. Fix all the issues where we are using integers when we should be using floats in the texture conversion shaders. 2013-07-21 12:00:20 +00:00
Ryan Houdek
83a79c28ca Continuation of the previous commit. I missed a integer. 2013-07-21 11:27:26 +00:00
Ryan Houdek
6194234a54 Fix a issue in the texture conversion shaders that was multiplying an integer with a float. 2013-07-21 11:17:21 +00:00
Ryan Houdek
7d6b36bf73 Fix most ARM warnings 2013-07-05 19:56:15 -05:00
NeoBrainX
1f92ccc228 ShaderGen: Use u8 as uid storage base type. Fixes an off-by-one error introduced in revision bdc28106ee that caused some lighting issues. 2013-07-02 14:48:08 +02:00
NeoBrainX
c34c82e7ae VertexShaderGen: Fix a potential bug where vertex shader uids don't change when
pixel lighting is toggled.

Same as revision f524312fd1 but done properly (why is our shader gen code this dumb?).
2013-06-30 14:27:04 +02:00
NeoBrainX
b8b5427ba4 VertexShaderGen: Fix a dumb regression from revision f524312fd1. 2013-06-30 11:36:45 +00:00
NeoBrainX
eb153cfded PixelShaderGen: Fix a small early-ztest related bug. 2013-06-29 23:14:08 +02:00
NeoBrainX
99301bd158 PixelShaderGen: Store early_ztest as part of shader uid. 2013-06-29 23:01:42 +02:00
NeoBrainX
f524312fd1 VertexShaderGen: Fix a potential bug where vertex shader uids don't change when pixel lighting is toggled. 2013-06-29 23:01:42 +02:00
NeoBrainX
e3c0a39d5d Merge branch 'shader-uids-awesome-after-hours'. 2013-06-28 17:45:19 +02:00
NeoBrainX
166a9c5637 Finishing touches. 2013-06-28 17:43:53 +02:00
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
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
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
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
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
degasus
c57a90c5b5 don't define clipPos twice
fix issue 6378
2013-06-17 23:24:54 +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
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
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
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
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
degasus
a51d6a6ddd add new statistics for gpu buffer streaming 2013-05-23 21:07:01 +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
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
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
degasus
c7486609fa fix underflow in IndexGenerator::AddFan
fix issue 6282

The Last Story seems to render a fan with two vertices. It is non-sense as it
shouldn't do anything, but the code underflows at (u32)numVerts-3
2013-05-09 10:17:12 +02:00
NeoBrainX
9365187f89 BPMemory: Add register documentation for texture source adress and EFB configuration. 2013-05-06 22:20:17 +02:00
Ryan Houdek
0247b2a97a [Android] More GLES3 things. Disable Framedumping and MSAA rendering. Remove the HLSL->GLSL shader defines since Qualcomm doesn't support this in their shader compiler. Now they get chosen in our shader generator instead. 2013-05-06 06:43:04 -05:00
NeoBrainX
2c7ed2a793 Apply color mask when alpha test parameters change. Required to make the changes in revision be706a3977 work properly.
Fixes issue 6080.
2013-05-01 11:50:37 +02:00
NeoBrainX
9cb263ad48 PixelShaderGen: Set some uid fields that I missed before. 2013-04-29 21:19:48 +02:00
NeoBrainX
02afec5076 Polish shader uid checking. 2013-04-29 21:00:39 +02:00
NeoBrainX
77dae3496a PixelShaderGen: Cleanups. 2013-04-29 19:52:12 +02:00
NeoBrainX
adab4e37f7 Fix some mistakes from the master merge; some cleanups. 2013-04-29 19:37:32 +02:00
NeoBrainX
5e6b712651 Merge 'master' into shader-uids-awesome.
Conflicts:
	Source/Core/VideoCommon/Src/BPMemory.h
	Source/Core/VideoCommon/Src/LightingShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Core/VideoCommon/Src/PixelShaderGen.h
	Source/Core/VideoCommon/Src/PixelShaderManager.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.h
2013-04-25 14:05:54 +02:00
NeoBrainX
eef95fa4c5 ShaderGenCommon: Adding documentation. 2013-04-25 13:30:41 +02:00
Lioncash
8da425b008 Formatting cleanup for VideoCommon.
Block braces on new lines.

Also killed off trailing whitespace and dangling elses.

Spaced some things out to make them more readable (only in places where it looked like a bit of a clusterfuck).
2013-04-24 09:21:54 -04:00
degasus
4a48485482 Revert "Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.""
This reverts commit 8b7141d3de.

GLSL120 can't handle integer attributes :-(
2013-04-24 03:03:52 +02:00
lioncash
d244bca1f5 Fix a bunch of random typos in comments and logging.
Also update the comment headers for two functions in GCMemcard.cpp.
2013-04-19 09:21:45 -04:00
Lioncash
bab9963b00 New license header introduced for DiscIO, AudioCommon, InputCommon, VideoCommon, and Common projects. 2013-04-17 23:09:55 -04:00
Ryan Houdek
48927c17d2 Good job Windows. Stop choosing the same names as I do. 2013-04-13 00:54:11 -05:00
Ryan Houdek
39a7096711 Extend our OSD class to support callbacks on init, onframe, and shutdown. 2013-04-13 00:48:53 -05:00
degasus
7e630ba920 Merge branch 'primitive_restart' 2013-04-11 14:01:58 +02:00
NeoBrainX
7480f5dfd6 ShaderGenCommon: Clean up. 2013-04-10 14:55:46 +02:00
NeoBrainX
e7a5847c30 ShaderGen: Build fix. 2013-04-10 14:44:09 +02:00
NeoBrainX
abde070f63 LightingShaderGen: Use a float4 array for lights instead of a struct (uniform management in the non-UBO path is a mess otherwise).
Also fix a small bug (cf. revision  154c533e76).
2013-04-10 14:25:18 +02:00
NeoBrainX
154c533e76 VertexShaderGen: Fix a small GLSL regression in emboss mapping. 2013-04-10 11:44:49 +00:00
NeoBrainX
fab4f1d0a5 LightingShaderGen: Improve code flexibility. 2013-04-10 13:38:31 +02:00
NeoBrainX
31d2cab8d3 Add ShaderGenCommon to vcproj file list. 2013-04-10 12:55:42 +02:00
NeoBrainX
ec08914905 Move Shader UID mismatch checking to VideoCommon. 2013-04-10 12:54:22 +02:00
degasus
1aa10b579a fix triangle_fan size calculation
wasn't updated for the new primitive restart implementation
2013-04-10 12:45:44 +02:00
degasus
a6412f7bd4 render a triangle for a 3 vertice quad
fix issue 6214
2013-04-10 12:36:59 +02:00
NeoBrainX
ec5f596b31 VertexShaderGen: More per-pixel-lighting fixes. 2013-04-10 12:17:28 +02:00
Jordan Woyak
385d8e2b15 ChunkFile has allowed me to accidentally "Do" a non-POD for the last time! 2013-04-09 19:02:22 -05:00
degasus
b0108631f6 use templates for primitive restart 2013-04-08 19:39:43 +02:00
degasus
4dca133745 small cleanups 2013-04-08 17:58:23 +02:00
degasus
80b56ddd17 convert triangle_fan to triangle_strip 2013-04-08 17:22:16 +02:00
degasus
702198f39b Merge branch 'master' into primitive_restart
Conflicts:
	Source/Core/VideoCommon/Src/VideoConfig.h
	Source/Plugins/Plugin_VideoDX9/Src/main.cpp
	Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
2013-04-08 15:57:51 +02:00
degasus
4c40e70b8a ogl: support glsl120 2013-04-08 14:50:58 +02:00
Rachel Bryk
deece78e19 Seriously, someone kill me. 2013-04-08 03:11:45 -04:00
Rachel Bryk
48f3e962d6 Kill me now.
Fixes issue 6227.
2013-04-08 03:05:12 -04:00
Lioncash
195336021f Fix a few typos in the comments/logging in VideoDX9, VideoCommon, and VideoSoftware projects.
See Render.cpp, PixelShaderGen.cpp, and PixelShaderManager.cpp for most of the changes.

See VertexShaderManager.cpp for a logging typo fix.

See SWRenderer.cpp for a small typo fix for a message that gets swprintf'd in DrawDebugText.

See SWVertexLoader.cpp for a typo fix of an assert message.

Should slightly improve the readability of some of those files.
2013-04-07 17:11:29 -04:00
Pierre Bourdon
0ca7ea6c3f D3D11: Fix glitched polygon edges when MSAA is enabled (this time without breaking OpenGL) 2013-04-07 20:58:48 +02:00
Rachel Bryk
4d81e0739d Use an enum for efb scale values. 2013-04-06 01:49:13 -04:00
Rachel Bryk
ee163d1e49 Someone take my commit rights away. 2013-04-05 17:26:56 -04:00
Rachel Bryk
6a5a522bba Hastily committing untested code without making sure i didn't miss anything first? I would never! 2013-04-05 17:20:34 -04:00
Rachel Bryk
e531970052 Round IR scale down to whole number if using 1.5x/2.5x IR, if game ini specifies -1 for EFBScale.
Fixes issue 6210.
2013-04-05 17:13:48 -04:00
lioncash
a7c05dc922 Remove an unused variable in VideoConfig.cpp and SWVideoConfig.cpp 2013-04-04 09:32:28 -04:00
Grant Paul
9f8841e960 Revert "D3D11: Fix glitched polygon edges when MSAA is enabled."
This reverts commit 61c327ba8b.
2013-04-03 21:17:09 -07:00
NeoBrainX
61c327ba8b D3D11: Fix glitched polygon edges when MSAA is enabled. 2013-04-03 18:56:33 +02:00
Jordan Woyak
4ba12be669 We can use unordered_map without pain now! 2013-04-01 19:25:32 -05:00
Lioncash
58159a1693 Some more logging typos and clarifications. Missed these in my last commit.
This commit mainly elaborates on some messages a little more. Also fixes some typos that slipped through the last commit.

A large change in text can be seen in EXI_DeviceMemoryCard.cpp. I added more info as to why a write to a memory card may fail. (This actually was a reason I was unable to write to a memcard recently).

Elaborations can be seen in WGL.cpp

I did change some comments in some files that I was correcting logging messages in, however this is only if I spot a typo or if an abbreviation is lower-cased. Even in that case, the amount of changes done to comments is very minimal.
2013-04-01 00:10:54 -04:00
Lioncash
f432d6038e Fix some typos and correct some capitalizations in the log messages.
Makes the logging look more orderly and less spammy when spitting out things.
2013-03-31 19:13:30 -04:00
Rodolfo Bogado
45651098f6 Use a brute force approach to test for Dual source blend support.
Sorry for a direct commit to the main branch but i need fast feedback, and i don't want to leave problematic code in the main branch for a long time.
if this approach does not work for the drivers with problems will transform dual source blend to an option in the D3D9 backend.
I appreciate the help of the people that tested my last commit and thanks to neobrain for pointing this solution.
2013-03-31 20:02:13 -03:00
NeoBrainX
a60e1a3db8 ShaderGen: Remove some TODOs and fix an issue with per pixel lighting. 2013-03-31 23:57:39 +02:00
NeoBrainX
f57b902d33 PixelShaderGen: Cleanups. 2013-03-31 23:53:46 +02:00
NeoBrainX
f6d65a636e ShaderGen: Fix per pixel lighting. 2013-03-31 23:29:33 +02:00
NeoBrainX
248d56d930 ShaderGen: Small optimization. 2013-03-31 20:55:57 +02:00
NeoBrainX
cdddb26bba Apparently override is less fun than I thought. 2013-03-29 22:29:37 +01:00
NeoBrainX
2afd892e46 ShaderGen: More interface cleanups. Less wtfs :) 2013-03-29 22:24:49 +01:00
NeoBrainX
e31c2aa601 ShaderGen: Cleanup uid data writing. 2013-03-29 21:53:57 +01:00
NeoBrainX
9eccd56ef0 PixelShaderGen: Some cleanups. 2013-03-29 20:59:03 +01:00
NeoBrainX
3c02f227db PixelShaderManager: Disable constant cache (won't work in the non-UBO path of the opengl backend).
ShaderGen: Replace typeid usage with more general code.
2013-03-29 20:35:31 +01:00
NeoBrainX
41c4108ce6 OpenGL: Reimplement shader uid debugging. 2013-03-29 14:56:01 +01:00
NeoBrainX
f2a8fbb314 PixelShaderGen: Slightly reduce the number of redundant shader compilations. 2013-03-29 14:54:13 +01:00
degasus
ca8554e7d1 first try of primitive restart index generator
Convert all quads+triangles into trangle_strip and uses primitive restart to split them.
Speed up triangle_strip, but slows down all others primitive formats.
Only implemented in ogl.
2013-03-29 14:27:33 +01:00
Rodolfo Bogado
c743e75d92 fixes for my last commit 2013-03-29 00:41:36 -03:00
Rodolfo Bogado
40d919b352 Implement dual source blending to avoid unneeded alpha pass.
this implementation does not work in windows xp (sorry no support for dual source blending there).
this should improve speed on older hardware or in newer hardware using super sampling.
disable partial fix for 4x supersampling as I'm interested in knowing the original issue with the implementation to fix it correctly.
remove the deprecation label from the plugin while I'm working on it.
2013-03-28 20:08:51 -03:00
NeoBrainX
c10d9ea87a Clean up blending code a bit. 2013-03-28 23:00:19 +01:00
NeoBrainX
a171525df6 Fix Windows crash. 2013-03-27 01:33:27 +01:00
NeoBrainX
11fae2e1cb Fix Windows build, try 4. 2013-03-27 00:17:46 +01:00
NeoBrainX
364a5093d9 ShaderGenCommon: Replace the GenOutput enum by using typeid instead. 2013-03-26 23:21:08 +01:00
NeoBrainX
0e31943216 ShaderGenCommon: Introduce a common shader generator interface to make stuff less confusing. 2013-03-26 23:03:10 +01:00
NeoBrainX
3253603ae7 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/PixelShaderManager.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.cpp
	Source/Core/VideoCommon/Src/VertexShaderGen.h
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.h
	Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
	Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.h
2013-03-26 22:21:19 +01:00
NeoBrainX
b75a617d8a VertexShaderGen: De-uglify VS output structure writing 2013-03-26 19:36:59 +01:00
NeoBrainX
30f1a4b4fe Partially revert "Now CG plays nice with this new stuff."
This reverts commit 3943840d5c.

Suppport for old GLSL versions has been dropped, so to make things less ugly we can use a structure for lights again.
2013-03-26 19:36:59 +01:00
NeoBrainX
0994a5828d VideoSoftware: Improve fog range adjustment by using less magic and more comments. 2013-03-26 00:57:45 +01:00
skidau
b00201dcbd Merge branch 'Fast-EE'
* Fast-EE:
  Forced the exception check only for ARAM DMA transfers. Removed the Eternal Darkness boot hack and replaced it with an exception check.
  Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4.
  Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4.
  Forced the external exception check to occur sooner by changing the downcount.
2013-03-26 08:24:21 +11:00
skidau
0ccaaee38c Forced the exception check only for ARAM DMA transfers.
Removed the Eternal Darkness boot hack and replaced it with an exception check.
2013-03-26 08:23:20 +11:00
NeoBrainX
ae146e8bc7 VideoSoftware: Implement fog range adjustment, fixing issue 6147. 2013-03-25 21:13:31 +01:00
degasus
d4fadf4b6f implement 4xSSAA for OGL
I don't think it's needed, but its requested often
2013-03-25 15:45:10 +01:00
degasus
3d5e0a6d3d move ogl-only settings into backend 2013-03-25 15:14:24 +01:00
skidau
1d550f4496 Forced the external exception check to occur sooner by changing the downcount.
Fixes issue 5825.
2013-03-25 00:47:44 +11:00
degasus
470c9ff08a check for overflow vertex indices, fixes issue 6135
thx @ JMC47 for identifying the reversion, creating a useful bug report with fifo log :-)
2013-03-23 00:18:35 +01:00
lioncash
edd9d0e0ef Clean up more space/tab mismatches in AudioCommon, Common, and VideoCommon.
Not planning to touch Core since it's the most actively changed part of the project.
2013-03-19 21:51:12 -04:00
Rachel Bryk
7c2c4662a7 Disable Vsync while holding tab to disable the frame limit, and allow toggling vsync while emulation is running in OGL.
D3D9 still doesn't support changing vsync while emulation is running.

Fixes issue 6111.
2013-03-18 20:42:18 -04:00
Jordan Woyak
98fa5006fd Fix some warnings. 2013-03-16 18:53:34 -05:00
degasus
4a929f85b6 GLSL: fix transparency issues on dual source blend. fix issue 6104 2013-03-17 00:36:13 +01:00
James Dunne
f1ef51abc8 Removing Core::IsGPUThread() and Core::IsCPUThread() calls in favor of simple bool isCPUThread parameter value. 2013-03-15 19:42:42 -05:00
James Dunne
4137fc0023 Removed calls to YieldCPU from RunGpuLoop. 2013-03-15 19:42:38 -05:00
degasus
6962929356 GLSL: fix nfs-hp2 2013-03-15 23:32:01 +01:00
Ryan Houdek
8c1091a21f Merge branch 'master' into GLSL-master
Conflicts:
	Source/Core/VideoCommon/Src/PixelShaderGen.cpp
	Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
	Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
2013-03-15 11:19:52 -05:00
NeoBrainX
e877b5019b PixelShaderManager: Reload fog range adjustment shader constants upon viewport change.
Fixes issue 5618.
2013-03-15 15:08:51 +01:00
skidau
afb6f9127a Corrected a typo. 2013-03-15 19:32:47 +11:00
NeoBrainX
203b1748a3 PixelShaderGen: Force depth textures to be emulated when the result is needed for fog calculation. 2013-03-15 01:01:00 +01:00
degasus
2c84c32ddc decrease d3d vertex buffer size 2013-03-12 17:48:20 +01:00
degasus
382be2aabd Merge branch 'master' into GLSL-master
Conflicts:
	.gitignore
2013-03-12 11:28:56 +01:00
skidau
83fc5f4747 Merge branch 'FIFO-BP'
# By skidau (30) and Pierre Bourdon (1)
* FIFO-BP: (31 commits)
  Set g_bSignalTokenInterrupt on the main thread.  Fixes the random hang in Harry Potter: Prisoner of Azkaban.
  Used a scheduled event to generate the ARAM DMA interrupt if the DMA is greater than a certain size.  Fixes NFS:HP2 GC.
  Bumped up the disc transfer speed enough to prevent audio stuttering in Gauntlet: Dark Legacy.
  Enabled Synchronise GPU on "SPEED CHALLENGE - Jacques Villeneuve's Racing Vision".  Required to go in-game.
  Added direct GameCube controller commands to the Serial Interface emulation.  Fixes the controls in MaxPlay Classic Games Volume 1 and the Action Replay disc.
  Increased the FIFO buffer size to 2MB from 1MB.  Fixes Killer 7's Angel boss.
  Used an immediate GenerateDSPInterrupt when transferring data from ARAM to MRAM and a scheduled DSP interrupt when transferring data from MRAM to ARAM.
  Fixes the audio cutting in and out in the Resident Evil GC games using DSP HLE. Triggered the ARAM interrupt by the scheduler instead of directly in function.
  Implemented proper timing for the sample counter in the AudioInterface, removing the previous hack. Cleaned up some of the audio streaming code.
  Skipped the EE check if there is a CP interrupt pending.
  Disabled "Speed up disc transfer" from the ZTP GC game ini.
  Removed the disc seek times for GC games and removed the disc speed option on Wii games. Checked for external exceptions only in mtmsr.
  Delayed the interrupts in the EXI Channel.
  Merge aram-dma-fixes (r76a13604ef49b522281af75675f044d59a74e871)
  Added a patch that bypasses the FIFO reset code in Wallace and Gromit: Project Zoo, allowing it to go in-game.
  Made vertex loading take constant time.
  Increased the cycle time of the vertex command.  Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision".
  Moved the setting of the Finish interrupt signal back to the main thread as it was causing Wii games like Resident Evil 4 (Wii) to hang.
  Profile stores, fp stores and ps stores only to the fifo write addresses list.  This should make the JIT a little faster as it will not be checking for external exceptions unnecessarily.
  ...

Conflicts:
	Source/Core/VideoCommon/Src/PixelEngine.cpp
2013-03-12 19:47:59 +11:00
skidau
d3e431af9e Set g_bSignalTokenInterrupt on the main thread. Fixes the random hang in Harry Potter: Prisoner of Azkaban. 2013-03-07 22:16:00 +11:00
degasus
5dd502df3b Merge branch 'master' into GLSL-master
the only commit on master is to fix vertexloader, so disable jit for osx
2013-03-06 19:07:15 +01:00
degasus
7158c14d7a fix vertexloader without jit 2013-03-06 18:58:15 +01:00