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
degasus
a1c5e90083
Merge branch 'master' into GLSL-master
...
Conflicts:
CMakeLists.txt
Source/Core/DolphinWX/CMakeLists.txt
Source/Core/DolphinWX/Src/GLInterface.h
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
Source/Core/VideoCommon/Src/VertexManagerBase.cpp
Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoDX9/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj
Source/Plugins/Plugin_VideoOGL/Plugin_VideoOGL.vcxproj.filters
Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
Source/Plugins/Plugin_VideoOGL/Src/PixelShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexShaderCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/main.cpp
2013-03-06 15:59:29 +01:00
degasus
8d5299c20b
Merge branch 'vertex-loader-cleanup'
2013-03-06 14:08:02 +01:00
degasus
10983b0eae
fix VertexManager::GetRemainingIndices
...
the old implementation returns the amound of primitives fit into index buffers
but also gc needs more than one index per primitve
2013-03-06 12:33:02 +01:00
Jordan Woyak
f3f89e1d00
Merge branch 'master' into vertex-loader-cleanup
...
Conflicts:
Source/Core/Common/Src/CommonFuncs.h
Source/Core/VideoCommon/Src/VertexLoader.cpp
2013-03-04 15:47:56 -06:00
Jordan Woyak
bf58c70e9b
Move copy-pasted code into function.
2013-03-04 15:35:29 -06:00
degasus
642eab92bc
disable per pixel depth if depth textures aren't used
2013-03-04 20:12:58 +01:00
Jordan Woyak
b1a2915304
Merge branch 'master' into windows-unicode
2013-03-03 15:05:10 -06:00
Ryan Houdek
a01f793f59
Fix ARM build.
2013-03-03 07:37:22 +00:00
Jordan Woyak
2b1af36900
Merge branch 'master' into windows-unicode
2013-03-02 15:33:32 -06:00
skidau
5bb6ac8164
Increased the FIFO buffer size to 2MB from 1MB. Fixes Killer 7's Angel boss.
...
Fixes issue 5415.
2013-03-02 16:18:55 +11:00
NeoBrainX
008fdc7310
Merge branch 'perfqueries'.
...
Adds support for PE performance metrics.
Used in Super Mario Sunshine's "Scrubbing Sirena Beach" level to determine when enough goop has been cleaned up to finish the level.
Also used in TimeSplitters: Future Perfect to determine the appearance of flares around light sources (e.g. sun).
OpenGL and D3D11 only. D3D9 support unlikely to be added unless anyone bothers to do the work.
Initial work and D3D11 support by me. Kudos go to Billiard for adding the OpenGL support and reviving development of this branch that way :D
Slightly (~7%) decreases performance when performance metrics are used (and only then).
Fixes issue 1498.
Fixes issue 5368.
2013-03-02 00:17:37 +01:00
NeoBrainX
4058b4c38a
Add documentation to PerfQueryBase interface.
...
Remove the config field for perf queries (wasn't used for the new interface anyway).
Few other cleanups.
2013-03-01 23:02:11 +01:00
NeoBrainX
5a7bb2abfa
D3D11: Port perf queries code to the PerfQueryBase interface.
...
Remove deprecated PerfQuery methods from RenderBase.
Windows build fix.
2013-03-01 19:30:37 +01:00
degasus
ef7083d78c
also don't cleanup efb copys on efb2ram
...
these may be upscaled and this high res textures would be lost
2013-03-01 11:31:52 +01:00
skidau
73da6f4f3f
Merge branch 'master' into FIFO-BP
...
# By Jordan Woyak (46) and others
# Via Jordan Woyak (2) and others
* master: (70 commits)
Fixes two memory leaks, one is pretty bad for OSX. Yell at pauldachz if this doesn't work. Or... say thanks.
Added a BluetoothEnumerateInstalledServices call so that the wiimote remembers the pairing.
Make ARMJit core default CPU core on ARM architecture
Fix a StringUtil regression from the arm-noglsl merge
Small improvement to cmpli/cmpi in ARMJit.
Merge latest ArmEmitter changes from ppsspp while we're at it.
Ah. I blame vim on this typo entirely.
Add disabled code for authenticating wiimotes on Windows.
Add the missing FPR cache
Buildfix.
Yell at the user if they change window size while dumping frames, and some other avi dumping stuff.
Not sure if this is the right way to handle this, but it makes the save states perfectly stable. That's all that really matters, right?
Abort loading states from incompatible graphics backends.
ARM Support without GLSL
Improve VideoSoftware save states. They are fairly stable, but not perfect. OpcodeDecoder::DoState() needs to be fixed.
Begin implementing save states to video software. Kind of works, sometimes.
Make error message for loading save state with wrong dsp engine shorter.
Abort load state if it uses a different dsp engine, instead of crashing.
Update the gameini of F-zero. Efb to Ram is no longer the default choice.
fix last commit by neobrain
...
Conflicts:
Source/Core/VideoCommon/Src/Fifo.cpp
2013-03-01 20:12:56 +11:00
Jordan Woyak
dea1e2827d
Open std::fstream in a unicode-safe manner.
2013-02-28 19:33:39 -06:00
NeoBrainX
b94f65b666
Remove two incorrect lines. How did those even get there?!
2013-03-01 01:37:47 +01:00
NeoBrainX
cbf5efe191
Some cleanups.
...
PE perf metrics officially declared unsupported for the D3D9 project (out of pure laziness, anyone who cares can implement them :P).
2013-03-01 01:31:57 +01:00
NeoBrainX
7682ed22c6
Merge branch 'master' into perfqueries.
...
Conflicts:
Source/Core/VideoCommon/Src/VideoConfig.h
Source/Core/VideoCommon/VideoCommon.vcxproj.filters
Source/Plugins/Plugin_VideoDX11/Src/VertexManager.cpp
Source/Plugins/Plugin_VideoSoftware/Src/Rasterizer.cpp
Source/Plugins/Plugin_VideoSoftware/Src/Tev.cpp
2013-03-01 01:07:34 +01:00
Rachel Bryk
0c16489c39
Merge branch 'VideoSoftware-savestates'
2013-02-28 13:36:29 -05:00
Jordan Woyak
6b80e6f83c
Tweak Vertex/Index buffer handling a bit.
2013-02-27 01:57:02 -06:00
Ryan Houdek
692e39d1bb
Merge branch 'arm-noglsl'
2013-02-27 02:22:08 +00:00
Jordan Woyak
a680d17eef
Buildfix.
2013-02-26 19:59:33 -06:00
Jordan Woyak
f1c990069c
Yell at the user if they change window size while dumping frames, and some other avi dumping stuff.
2013-02-26 20:47:48 -05:00
Rachel Bryk
08fe3c213a
Abort loading states from incompatible graphics backends.
2013-02-26 18:28:56 -05:00
degasus
a650ae8c7b
workaround for base vertex. damn old nvidia driver
2013-02-26 23:15:55 +01:00
Ryan Houdek
717b976875
ARM Support without GLSL
2013-02-26 13:49:00 -06:00
degasus
8b7141d3de
Revert "Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer."
...
This reverts commit 380f22ca0e
.
Yeah, reverting a revert.
2013-02-26 08:57:35 +01:00
Jordan Woyak
380f22ca0e
Fix performance issues on certain legacy graphics hardware that isn't capable of copying an integer.
...
This reverts commit 52dacaa3e3
.
2013-02-25 20:52:30 -06:00
Jordan Woyak
bd14ad5300
Merge branch 'master' into vertex-loader-cleanup
2013-02-25 17:55:44 -06:00
Jordan Woyak
46adbfa9ed
Merge branch 'real-wiimote-scanning'
2013-02-25 17:33:34 -06:00
degasus
d173d646de
fix last commit by neobrain
2013-02-25 16:11:24 +01:00
NeoBrainX
73a0bdd379
Build fixing.
2013-02-25 12:42:52 +00:00
NeoBrainX
1141af64f6
TextureCacheBase: Do not assume EFB copies can safely be deleted when we think they're "unused".
...
Fixes issue 6040.
2013-02-25 12:36:50 +00:00
degasus
c86b892f95
Revert "remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords"
...
This reverts commit 4653adecf1
.
Also dx9 isn't able to hanlde more than 11 varying registers.
More frustrating is the lightning issue by this commit. I don't know why it happens...
2013-02-24 20:51:44 +01:00
Jordan Woyak
52dacaa3e3
Make the posmtx vertex attribute an int instead of converting to and from a float.
2013-02-23 20:54:30 -06:00
degasus
0a05fcade4
fix glsl compilation error on intel
2013-02-22 12:19:52 +01:00
degasus
d9adc26332
real Star Fox fix
2013-02-22 12:14:39 +01:00
Jordan Woyak
86935ab4fd
forceinline IndexGenerator::WriteTriangle
2013-02-22 03:22:20 -06:00
degasus
e270c8b153
fix Star Fox
2013-02-22 09:54:19 +01:00
Jordan Woyak
d3f1bb93f2
Use DataWrite in a few more places.
2013-02-22 02:19:59 -06:00
Jordan Woyak
db1be085c2
VertexManager cleanup
2013-02-22 01:41:52 -06:00
Jordan Woyak
21bd5be753
Buffer size changes.
2013-02-21 23:12:53 -06:00
Jordan Woyak
f16dcfe6f6
Remove logic from IndexGenerator which does not seem to match that of Video Software.
2013-02-21 21:02:49 -06:00
Jordan Woyak
368c78dd5c
IndexGenerator cleanup.
2013-02-21 19:11:07 -06:00
Jordan Woyak
677c6229ad
Experimental VertexLoader cleanup!
2013-02-21 14:41:06 -06:00
Jordan Woyak
a92c93f870
Automate some calculations, with templates!
2013-02-21 13:29:05 -06:00
Jordan Woyak
7987d6babb
Use templates for 8+16 bit indexed versions of SSSE3/SSE4 TextCoord reading.
2013-02-21 12:42:09 -06:00
degasus
40e17b4cb8
add option for hacked upload and disable it by default
2013-02-21 18:18:44 +01:00
degasus
d0e8217714
remove intel pixel shader hack
...
did not work correctly and made warnings on dx11
2013-02-21 17:44:56 +01:00
degasus
c7f4d6b9ac
wrapper for s_pCurBufferPointer
2013-02-21 13:45:48 +01:00
degasus
4b4dce1bd9
build fix
2013-02-21 13:00:19 +01:00
degasus
76e6085e31
consistently usage of buffer pointers
2013-02-21 12:36:29 +01:00
degasus
a849bb5242
Merge branch 'vertexloader_cleanup' into vertex-loader-cleanup
...
Conflicts:
Source/Core/VideoCommon/Src/VertexLoader_TextCoord.cpp
2013-02-21 12:18:50 +01:00
degasus
66d0c1c301
small cleanups of s_pCurBufferPointer
2013-02-21 11:45:29 +01:00
degasus
0d33e20026
bbox: replace s_pCurBufferPointer with locale buffer, so it can be read without read from the writeonly buffer
2013-02-21 11:41:14 +01:00
degasus
7a89faf13f
converting the last vertices again instead of copying from buffer on buffer split
...
for mapping, this buffer must be write only, so we cannot copy anthing.
converting again needs more cpu, but should happen rarely
2013-02-21 11:36:10 +01:00
Jordan Woyak
dc776a19a0
Cleanup VertexLoader's Color functions a bit.
2013-02-21 02:49:17 -06:00
Jordan Woyak
660fc12927
Cleanup Position loader functions.
2013-02-21 02:19:06 -06:00
Jordan Woyak
5efdcef34a
No longer have the signed/unsigned hack I guess.
2013-02-21 00:49:47 -06:00
Jordan Woyak
3938d3713b
Fix what I broke.
2013-02-21 00:40:22 -06:00
Jordan Woyak
5b63472ad7
Templatify Normal Loader functions.
2013-02-21 00:10:06 -06:00
Jordan Woyak
5e78f8a176
Templatify TextCord Loader functions.
2013-02-20 20:43:53 -06:00
Jordan Woyak
8f256237a3
Templatify DataReader a bit.
2013-02-20 20:21:25 -06:00
skidau
36f2082a5f
Made vertex loading take constant time. Fixes a hang in Gladius.
2013-02-20 23:38:25 +11:00
Jordan Woyak
6e6d8af6dd
Revert "Don't load level 0 twice for 1-level textures in DX11." and fix it properly.
...
All backend TextureCaches now load level 0 in CreateTexture.
This reverts commit 294cb165ba
.
2013-02-20 05:42:22 -06:00
Jordan Woyak
eae20b77a8
Remove some unneeded sampler-related calls in BPStructs.
2013-02-20 02:01:54 -06:00
skidau
351c741906
Merge branch 'master' into FIFO-BP
...
# By Jordan Woyak (9) and others
* master:
Fixed a buffer overflow in the OpenAL buffer.
TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
WII_IPC_HLE_Device_FileIO: don't rebuild the filename on every operation.
Some cleanup of CWII_IPC_HLE_Device_FileIO: The real file was never kept open for longer than a single operation so there was no point in dealing with it in DoState. Saving the real path in the savestate was also probably a bad idea. Savestates should be a bit more portable now.
Removing destination on rename when source isn't present doesn't make sense. IOCTL_RENAME_FILE still might not be totally correct.
Change some CNANDContentLoader logic to what was probably intended. Kills some warn logs when opening Dolphin.
Let's not CreateDir an empty string every time CreateFullPath is used, logging an error every time.
Fix a memleak. Probably/maybe improve USBGecko performance.
Remove the core count from the cpu info OSD message. It was often wrong and not rather important.
Use omp_get_num_procs to set the number of OpenMP threads rather than our core count detection.
Bulk send TCP data to the client with the emulated USB Gecko.
Added the ability to reverse the direction of the force feedback by allowing negative range values.
Changes/cleanup to TextureCache::Load and other mipmap related code. The significant change is what is now line 520 of TextureCacheBase.cpp: ((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1) to TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);
2013-02-19 23:19:29 +11:00
degasus
a629dea4dc
Merge branch 'master' into GLSL-master
...
Conflicts:
CMakeLists.txt
Source/Core/DolphinWX/Dolphin.vcxproj
Source/Core/DolphinWX/Src/GLInterface/WX.cpp
Source/Core/DolphinWX/Src/GLInterface/WX.h
Source/Core/VideoCommon/Src/TextureCacheBase.cpp
Source/Core/VideoCommon/Src/TextureCacheBase.h
Source/Plugins/Plugin_VideoDX11/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoDX11/Src/TextureCache.h
Source/Plugins/Plugin_VideoDX9/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoDX9/Src/TextureCache.h
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.h
Source/Plugins/Plugin_VideoSoftware/Src/SWmain.cpp
damn mipmap_fixes ...
2013-02-18 18:49:20 +01:00
NeoBrainX
19ab5bf50d
TextureCache: Fix D3D backends crashing when a game uses multiple 1x1-sized LODs.
2013-02-18 17:14:56 +01:00
degasus
4653adecf1
remove numTexGens=7 hack. only cg wasn't able to handle more then 8 texcoords
2013-02-17 22:37:00 +01:00
Jordan Woyak
537d5ea942
Use omp_get_num_procs to set the number of OpenMP threads rather than our core count detection.
2013-02-16 23:48:20 -06:00
Jordan Woyak
53aec6c476
Fix OGL perf queries and make them not slow!
2013-02-16 19:30:24 -06:00
skidau
0e2c3f3483
Increased the cycle time of the vertex command. Fixes "Speed Challenge: Jacques Villeneuve's Racing Vision".
2013-02-16 22:54:10 +11:00
skidau
45efced280
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.
2013-02-16 18:30:20 +11:00
Jordan Woyak
d994e56b60
Changes/cleanup to TextureCache::Load and other mipmap related code.
...
The significant change is what is now line 520 of TextureCacheBase.cpp:
((std::max(mipWidth, bsw) * std::max(mipHeight, bsh) * bsdepth) >> 1)
to
TexDecoder_GetTextureSizeInBytes(expanded_mip_width, expanded_mip_height, texformat);
Fixes issue 5328.
Fixes issue 5461.
2013-02-15 22:56:29 -06:00
skidau
9bff8e00c8
Added preliminary support to synchronise the timing of the CPU and GPU threads. A new option has been added to the game properties for this purpose. This option may help with random freezes in Dual Core mode.
...
Fixes Gladius and Baten Kaitos: Eternal Wings and the Lost Ocean
Fixes issue 5150.
2013-02-16 12:51:09 +11:00
skidau
51795d8811
Merge branch 'master' into FIFO-BP
...
# By Jordan Woyak (24) and others
# Via Jordan Woyak (3) and others
* master: (66 commits)
Reduce some DI command delays. Fix DKCR hanging with DSP HLE. My other games continue to work.
Video_Software: Fix ZComploc option breaking stuff.
Video_Software: Fix the ZFreeze option doing nothing.
Video_Software: Toggable zfreeze and early_z support for testing.
Fix header guard and definitions not being set to 1
Add the option to turn on only the EGL interface to use desktop OpenGL with it.
Change the ugly "no banner" banner to the sexy "X" from the website.
Fix a crash in the FifoPlayer dialog.
Use different reply delays for various DI commands. Fixes issue 5983.
Revert "[bugfix] DX9::TextureCache: Use max_lod instead of min_lod where necessary."
Fix some potential issues when blending on EFB formats without alpha. Clean up state transition tables.
Disable play and record buttons if an iso was selected, but is later deselected.
Disable start/play recording buttons when no iso is selected.
Only delay DI and fs IPC replies. Fixes issue 5982.
Fix compilation with SDL2. (based on a patch from matthewharveys) Fixes issue 5971.
"Fix" using SDL from externals.
Clean up SDL includes a bit. Maybe fix an SDL2 problem.
Number "unknown" axes in OSX rather than call them all "unk".
Revert "Only delay DI command replies." Fix "Wii Party" again.
Hopefully make wiimote speaker less crappy.
...
2013-02-16 11:10:03 +11:00
degasus
334bd52f2c
NaNs handling in pixel shader
2013-02-15 15:46:31 +01:00
degasus
0325e37bfb
merge glsl headers into one place
2013-02-13 21:34:48 +01:00
skidau
0cafc33eda
Moved the token update to the CPU thread.
2013-02-10 18:24:30 +11:00
skidau
5f672baca3
Used Atomic functions to update variables shared between the CPU and GPU threads.
...
Changed the variables from bool to u32 to match the atomic functions.
2013-02-09 17:46:48 +11:00
Jordan Woyak
8ce58759e3
Remove some old nonsense.
2013-02-07 23:52:50 -06:00
NeoBrainX
ed0abc9dc5
Merge branch 'mipmap_fixes'.
2013-02-07 20:40:33 +01:00
NeoBrainX
6870c1fdd5
Fix some potential issues when blending on EFB formats without alpha.
...
Clean up state transition tables.
2013-02-07 18:01:24 +01:00
degasus
10567cb23f
always write to uv coords
2013-02-07 13:23:20 +01:00
degasus
dae1226e1b
workaround for division by zero on fog calculation
2013-02-07 02:21:30 +01:00
degasus
e7a8d3f854
check for GL_ARB_sync, it's in ogl 3.2
2013-02-06 01:05:19 +01:00
degasus
f677b8cba3
update to glew1.9, win binaries also from official release
2013-02-04 21:11:12 +01:00
skidau
2c8c8db731
Used AtomicStore to write to the signal interrupts.
2013-02-03 23:52:18 +11:00
skidau
9a4e9da7c2
Set the token and finish interrupt signal from the video thread. This fixes the inconsistent state caused by lag from the scheduler. Fixes Rayman 3: Hoodlum Havoc and Shamu's Deep Sea Adventures.
...
Fixes issue 5401.
Fixes issue 5589.
2013-02-03 18:05:46 +11:00
skidau
867bfaa696
Changed cmdidle to match the isGpuReadingData flag. Fixes the random freezes in The Last Story.
2013-02-02 20:50:40 +11:00
Jordan Woyak
0e04e0c305
Fix some shadowing warnings.
2013-01-29 16:43:22 -06:00
NeoBrainX
76148a52b8
Fix a few other things
2013-01-28 22:51:15 +01:00
NeoBrainX
9f1582843d
PixelShaderManager: Reduce number of redundant shader constant updates
2013-01-28 22:15:23 +01:00
NeoBrainX
0fdeb81038
Add some code for generating a shader constant usage profile.
2013-01-28 22:15:23 +01:00
NeoBrainX
700cce9588
More work on making new pixel shader uids work
2013-01-28 22:10:07 +01:00
NeoBrainX
67be1e939a
PixelShaderGen: Some more work...
2013-01-28 21:59:49 +01:00
NeoBrainX
8902c6e38b
Some cleanups, add more fields to pixel shader uid.
2013-01-28 21:56:27 +01:00
NeoBrainX
b519d37128
Move new lighting shader uids to LightingShaderGen.h
2013-01-28 21:52:03 +01:00
NeoBrainX
dc0f470215
Added new shader cache uids for pixel shader gen.
2013-01-28 21:44:39 +01:00
NeoBrainX
3c8df842bb
Moved some of the new shader uid stuff to a common header file.
2013-01-28 21:05:29 +01:00
NeoBrainX
ca0e292dd4
Replace the shader uid system with a new one which quasi-automatically generates uids for shaders.
...
Currently used in the vertex shader only (had to fork lighting shaders for now).
2013-01-28 21:05:29 +01:00
degasus
c5fa3e0f3d
move RestoreAPIState and ResetAPIState into backends
...
it's a backend specific hack, so it should be here
should give a small speedup in dx11 efb2tex
2013-01-28 18:16:03 +01:00
Lioncash
efe8c75424
Duplicate condition fix.
...
Thanks j4ck.fr0st
2013-01-25 21:30:29 -05:00
skidau
1b6240f7f9
Changed cmdidle to be idle on breakpoint.
...
Added low watermark interrupts generated by the gather pipe.
Fixes Gladius from not booting.
Fixes issue 5518.
2013-01-25 20:04:31 +11:00
degasus
e0ffdda26e
Merge branch 'immediate-removal' into GLSL-master
...
Conflicts:
Source/Core/VideoCommon/Src/PixelShaderGen.cpp
Source/Plugins/Plugin_VideoSoftware/Src/SWRenderer.cpp
immediate-removal is a new created branch seperated from master but reverted the revert of immediate-removal
so we get less conflicts by merging
2013-01-24 16:58:28 +01:00
degasus
d60cc373d1
Revert "Revert 30dd9c2
e9d00bf
db5f4c8
and bff0fae"
...
This reverts commit d0301ca89d
.
Conflicts:
.gitignore
2013-01-24 16:11:07 +01:00
lioncash
2db0c4270e
Fix a potential memory leak on non-windows systems.
...
Also added a FIXME to BPStructs.cpp and BPMemLoader.cpp
2013-01-24 08:21:08 -05:00
degasus
f69b6b595e
change projection_type to u32
...
Fix issue 5740
thx @ erwan_taf for debuging all the week
2013-01-24 13:10:13 +01:00
degasus
d5748ebaef
fix small dx9 slowdown
2013-01-22 10:49:46 +01:00
degasus
6afc30240a
partial revert of 8a6f747408
...
texture_rect isn't in core 3.0, so the long texture function must be used
2013-01-22 00:18:42 +01:00
NeoBrainX
6c0f6ffecf
Fix a dumb regression from revision 4925a28f94
.
2013-01-19 22:40:20 +01:00
degasus
8a6f747408
glsl: remove usage of old texture2D* function
2013-01-19 11:07:06 +01:00
degasus
e7d5b274c0
add stage parameter for texture load, so ogl can bind to the correct sampler
2013-01-19 00:47:48 +01:00
degasus
074f73c641
move utils texture to sampler 8+9
...
rasterfont tex will aways bound to samp8.
efb copy utils will be done in samp9.
2013-01-19 00:39:31 +01:00
degasus
714ff50fdf
set blending if dual source might be triggered
2013-01-18 00:44:35 +01:00
lioncash
0ef3bd9c77
Revert "Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names)."
...
Turns out I was wrong in my previous commit. My bad.
This reverts commit 8743166663
.
2013-01-16 15:46:11 -05:00
lioncash
8743166663
Made several variables/parameters unsigned in the DX9, DX11 and OGL plugins. They make more sense like this (given their names).
...
This also gets rid of some more typecasts in some cases.
2013-01-16 09:42:51 -05:00
lioncash
ddf23094c2
Fix two unsigned/signed mismatch warnings.
2013-01-15 21:15:31 -05:00
Ryan Houdek
9165ac5a67
Fix clipPos not being declared in DX backends.
2013-01-15 10:48:01 -06:00
degasus
ff889c0e65
use attrib pointers in nativeVertexFormat
2013-01-14 22:59:08 +01:00
degasus
2f78986e2c
Merge branch 'Graphic_Update' into GLSL-master
...
Conflicts:
Source/Core/VideoCommon/Src/VertexManagerBase.cpp
Source/Plugins/Plugin_VideoOGL/Src/NativeVertexFormat.cpp
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Source/Plugins/Plugin_VideoOGL/Src/VertexManager.cpp
2013-01-14 21:36:31 +01:00
degasus
5fe3def64c
videoConfig cleanup
2013-01-14 20:00:33 +01:00
degasus
4c2dd093a3
fix d3d error
2013-01-14 19:17:07 +01:00
degasus
b18c0a5d1b
remove ubo for efb2ram
2013-01-14 12:37:31 +01:00
NeoBrainX
f7b0c8684b
BPMemory: Expose more register descriptions for FifoPlayer
2013-01-12 15:25:50 +01:00
Glenn Rice
2cd415dd83
Fix the signed/unsigned comparison warnings created by a recent commit.
2013-01-11 22:00:36 -06:00
Lioncash
dfc0c4b08d
Fix two signed/unsigned mismatch warnings.
...
Also tidied up SDCardUtil - made the variables make more sense (typewise)
2013-01-11 19:38:04 -05:00
NeoBrainX
ad05d568b9
PixelShaderGen: Change error strings to be unique so that we can identify unexpected behavior more easily.
2013-01-11 15:49:20 +01:00
degasus
60b8e4fb1c
vertex shader for texture converter
2013-01-11 11:59:42 +01:00
Lioncash
f21f097e7a
Redundant line of code in VertexShaderManager::Dirty()
...
Also cleaned it up.
2013-01-10 21:44:12 -05:00
NeoBrainX
e7c883d6be
VideoCommon: Implement proper RGBA8 texture loading from tmem.
2013-01-10 18:30:22 +01:00
NeoBrainX
304814e7cc
Video_Software: Implement proper RGBA8 texture loading from tmem.
...
For RGBA8 textures, AR and GB tiles are stored in separate tmem banks. TextureDecoder did not support that previously.
2013-01-10 18:30:16 +01:00
degasus
bff02b3b73
Merge branch 'arb_framebuffer' into GLSL-master
...
Conflicts:
Source/Plugins/Plugin_VideoOGL/Src/FramebufferManager.cpp
Source/Plugins/Plugin_VideoOGL/Src/RasterFont.cpp
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2013-01-09 11:00:26 +01:00
Lioncash
d9ea718559
Fix an issue where an iterator would become invalidated in TextureCache::ClearRenderTargets()
2013-01-08 23:46:30 -05:00
NeoBrainX
d3882771aa
Fix an assert that had been wrong for ages, apparently.
2013-01-08 18:56:01 +01:00
NeoBrainX
4925a28f94
PixelShaderGen: Shader uid maintainance
2013-01-08 18:56:01 +01:00
NeoBrainX
be706a3977
Disable color writing when alpha test always fails.
2013-01-08 18:56:01 +01:00
NeoBrainX
d26bcb0847
Move alpha pretest to BPMemory.h and rename a bunch of alpha testing related stuff
2013-01-08 18:56:01 +01:00
NeoBrainX
c80f6e8b84
Reword a comment about early_ztest a bit.
2013-01-08 18:55:45 +01:00
NeoBrainX
b06f30f845
Remove the per pixel depth option.
...
Depth calculations are always done in the pixel shader now.
Due to the unpredictability of our zcomploc hacks this commit probably changes the behavior of some games which use zcomploc.
2013-01-08 18:16:48 +01:00
NeoBrainX
876eee5e60
PixelShaderGen: Don't disable depth texture emulation if z writing is disabled (this is what VideoSoftware is doing).
2013-01-08 18:16:48 +01:00
NeoBrainX
09197e0ffc
X11: Disable OSD hotkeys when the corresponding option is disabled.
2013-01-08 18:16:47 +01:00
Ryan Houdek
446d9279b1
Fix clearing of render targets. We were skipping every other one.
2013-01-08 11:14:53 -06:00
Ryan Houdek
d0301ca89d
Revert 30dd9c2
e9d00bf
db5f4c8
and bff0fae
2013-01-07 13:47:34 -06:00
degasus
b38b62afc6
remove glsl binding support. convert every shader to version 130
2013-01-02 16:56:08 +01:00
Ryan Houdek
ff3b22e1ff
Clear up some warnings that crop up from -Wextra
2012-12-30 03:28:50 -06:00
Ryan Houdek
e5d5365bac
Fix the last few warnings in Dolphin on my system.
2012-12-30 02:34:14 -06:00
Ryan Houdek
ba6564b0b5
Missed a write to depth before discard in PreAlphaTest
2012-12-28 14:48:04 -06:00
Ryan Houdek
9e76a457ff
Beautify the generate pixel shader code
2012-12-28 14:18:39 -06:00
Ryan Houdek
76fc1fe95a
This discard was missing in the alpha pretest area.
2012-12-28 12:18:34 -06:00
Ryan Houdek
3eeebcae45
Another small bit of cleanup as I'm reading it
2012-12-28 12:05:43 -06:00
Ryan Houdek
a25a00640e
Very small cleanup in PixelShaderGen
2012-12-28 11:49:21 -06:00
degasus
48ede4dd30
switch to glsl 130, more than OpenGL 3.1 isn't needed
2012-12-28 16:05:14 +01:00
Ryan Houdek
7d93834cd8
Bit more cleanup from removing Nvidia CG
2012-12-27 22:53:07 -06:00
degasus
316a33d1e6
Merge branch 'master' into GLSL-master
...
Conflicts:
Source/Core/DolphinWX/Src/VideoConfigDiag.h
Source/Plugins/Plugin_VideoOGL/Src/GLUtil.h
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp
Source/Plugins/Plugin_VideoOGL/Src/TextureConverter.cpp
2012-12-27 10:36:54 +01:00
degasus
bff0faea2d
Merge branch 'immediate-removal'
...
Conflicts:
Source/Plugins/Plugin_VideoOGL/Src/Render.cpp
2012-12-25 12:39:00 +01:00
NeoBrainX
e3e14af0dd
Revert "VertexShaderGen: Fix a shader compilation error.". I'm an idiot :p
...
This reverts commit 4d868705fd
.
2012-12-24 21:29:24 +01:00
NeoBrainX
4d868705fd
VertexShaderGen: Fix a shader compilation error.
2012-12-24 19:50:16 +01:00
NeoBrainX
5a78351033
TextureCacheBase: Fix a potential bug when using custom textures.
2012-12-24 19:50:16 +01:00
Ryan Houdek
9209253e0d
Initial removal of Nvidia CG. Still some more cleanup to go
2012-12-24 11:09:52 -06:00
degasus
bd0abb3d2f
revert last commit, add CheckInvalidState to VideoBackend
2012-12-23 13:32:23 +01:00
degasus
ffddfd8662
do only invalid hashes instead of all textures on loading
...
this is a hack, but only the gpu thread is allowed to call ogl commands
suggestion: create an unused texture cache, so we can move all textures there
2012-12-22 17:30:13 +01:00
degasus
2df0c31d13
add invalid flag for BPStructs (fix issue 5790)
...
this flag will be set on loading a state and checked before every rendering.
2012-12-21 21:04:53 +01:00
degasus
cf8f936abb
fix efb2ram decoder
2012-12-19 23:43:05 +01:00
degasus
85ac76e8e2
fix gcc compilation
2012-12-19 23:42:22 +01:00
NeoBrainX
0811311604
TextureCacheBase: Delete textures completely instead of just invalidating them in ClearRenderTargets.
...
That's what would've been done in the next TCB::Load() call, anyway.
Fixes issue 5742.
Additionally, change efb copies to specify 1 as the number of mipmaps because that makes more sense than anything else.
2012-12-17 19:36:31 +01:00
degasus
8b62be2025
fix ShowEFBCopyRegions
...
those fancy colors were the result of the usage of non-allocated heap
Signed-off-by: Ryan Houdek <Sonicadvance1@gmail.com>
2012-12-13 15:27:49 -06:00
NeoBrainX
c82136abdc
PixelShaderGen: Drop some useless and potentially buggy code.
...
Thanks to glennrics for noticing.
2012-12-10 16:13:22 +01:00
Glenn Rice
f6df3d1513
OSX build fix for the unordered_map/hash_map issue.
2012-12-10 08:40:27 -06:00
Glenn Rice
e85438cba0
Clean up gcc/g++ compiler warnings that have accumulated.
2012-12-10 00:40:28 -06:00
NeoBrainX
bed260aa14
VertexShaderManager: Fix redundant shader constant updates.
...
Thanks to konpie for spotting this.
Might give a fairly perceivable speedup in the D3D11 backend.
2012-12-01 14:23:24 +01:00
rog
db458a234a
Merge branch 'desync-fixes' into movie-fixes
2012-11-26 12:40:56 -05:00
rog
97f5b1665f
what is this even...
2012-11-26 02:11:52 -05:00
NeoBrainX
0fcb246b7e
Enable GFX debugger functionality in Release builds.
2012-11-20 17:54:48 +01:00
NeoBrainX
4f652c4086
Partially revert "Check if BP and XF changes actually change values before flushing". Dolphin code sucks too much to get optimizations.
...
This reverts commit 5a77cae2e3
.
Fixes issue 5459.
Fixes issue 5606.
2012-11-19 21:09:31 +01:00
NeoBrainX
4ff9e03509
Merge branch 'efb_scaling_fixes'.
2012-11-19 13:18:57 +01:00
NeoBrainX
b02bb7617f
Fix some fractional EFB scaling issues.
2012-11-19 13:10:32 +01:00
XtraFear
d6697d50c7
Added option to toggle the display of On-Screen Display messages in the Interface tab.
2012-11-16 23:54:48 +01:00
NeoBrainX
f88e7d3b73
Fix an off-by-one error.
2012-11-16 14:29:11 +01:00
NeoBrainX
a38bb488d2
Remove Renderer::xScale and Renderer::yScale.
2012-11-16 14:29:09 +01:00
NeoBrainX
78031c2d54
Move ComputeDrawRectangle() to Renderer::UpdateDrawRectangle().
2012-11-16 14:25:49 +01:00
rodolfoosvaldobogado
ee72852491
implement some code to reduce the amounts of calls to setup vertex format, in d3d9 it gives no noticeable speedup, in opengl it still does not work right.
...
thanks to neobrain for the idea
2012-10-26 23:18:09 -03:00
rodolfoosvaldobogado
eaa1ea71c1
Implement the new buffer approach in opengl. sadly in my machine it gives my only 2 more fps and if your hardware does not support ARB_map_buffer_range is even slower than plain vertex arrays.
...
change naming in all the backends vertex managers to make more easy to continue with the merge an some future improvements.
please test this as i'm interested in knowing the performance in linux and windows with the different hardware platforms.
2012-10-26 11:34:02 -03:00
rog
5133ac551b
merge relevant changes from bc61dbdf58a8 in otu0001-desync-fix clone
2012-10-23 02:10:49 -04:00
NeoBrainX
069d949a57
[cleanup] TextureCache: Kill the autogen_mipmap parameter
2012-10-20 21:07:02 +02:00
NeoBrainX
ee3d6d66d7
[cleanup] [bugfix] TextureCacheBase: Cleanup and simplify mipmapping logic. Possibly fixes a bug or two.
2012-10-20 21:07:02 +02:00
NeoBrainX
c859aaae84
[optimization] TextureCacheBase: Slightly loosen the requirements for reusing mipmapped textures
2012-10-20 21:07:02 +02:00
rodolfoosvaldobogado@gmail.com
5230146c73
Hey, long time no commits :).
...
So to compensate lets bring back some speed to the emulation.
change a little the way the vertex are send to the gpu,
This first implementation changes dx9 a lot and dx11 a little to increase the parallelism between the cpu and gpu.
ogl: is my next step in ogl is a little more trickier so i have to take a little more time.
the original concept is Marcos idea, with my little touch to make it even more faster.
what to look for: SPEEEEEDDD :).
please test it a lot and let me know if you see any problem.
in dx9 the code is prepared to fall back to the previous implementation if your card does not support the amount of buffers needed.
So if you did not experience any speed gains you know where is the problem :).
for the ones with more experience and compression of the code please test changing the amount and size of the buffers to tune this for your specific machine.
The current values are the sweet spot for my machine.
All must Thanks Marcos, I hate him for giving good ideas when I'm full of work.
2012-10-20 10:22:15 -03:00
Ryan Houdek
57426ee726
Forced commit
2012-10-13 13:00:04 -05:00
Ryan Houdek
3f0d7312fa
A couple missed lines on the rebase.
2012-10-13 12:43:00 -05:00
Ryan Houdek
10666a9b87
More 'stuff'
2012-10-09 23:56:00 -05:00
Ryan Houdek
eb7a0c485a
More "stuff" for SS, also a small fix in the program shader cache cache setup."
2012-10-09 23:56:00 -05:00
Ryan Houdek
71f6b1eec6
Change 'stuff'
2012-10-09 23:56:00 -05:00
Ryan Houdek
03b09bed5d
Get the program binary type correctly or else ATI makes massive (~400MB) shader caches. Also, don't need the line in the PixelShaderGen.
2012-10-09 23:56:00 -05:00
Ryan Houdek
2e15440896
Add support for Dual source blending to older ATI cards that don't support 420pack but do support GL_ARB_blend_func_extended. This is more proper as well anyways.
2012-10-09 23:56:00 -05:00
Ryan Houdek
e88d35d1c1
Had a few vec4 and float4(0) calls floating around.
2012-10-09 23:55:59 -05:00
Shawn Hoffman
31a8424bcc
fix formatting uglies introduced in glsl-master branch
2012-10-09 23:54:17 -05:00
Shawn Hoffman
4a4833e617
default to GLSL instead of Cg
2012-10-09 23:43:22 -05:00
Ryan Houdek
9996f27120
Give OSX users more of a chance of supporting Single pass DSB in the future.
2012-10-09 23:42:41 -05:00
Ryan Houdek
d012c75005
Implement Program shaders cache. Seems to reduce a small amount of stuttering when F-Zero starts. Did it because I can :|
2012-10-09 23:42:41 -05:00
Ryan Houdek
c76593f6a2
Looky, OSX found an issue for me.
2012-10-09 23:42:40 -05:00
Ryan Houdek
7f12daa014
Looks like we make use of fmod, make a GLSL function for it!
2012-10-09 23:41:49 -05:00
Pierre Bourdon
3bcec51334
More coding style fixes because I suck at sed
2012-10-09 23:41:48 -05:00
Pierre Bourdon
3c6d0fc710
8 spaces indentation -> tabs
2012-10-09 23:41:48 -05:00
Ryan Houdek
5b06bbf87d
Use UBOs in every shader. I had missed a few. Only cache Uniform locations if we aren't using UBOs.
2012-10-09 23:41:06 -05:00
Ryan Houdek
5bcbf92f43
Make sure to support everything even if GPU doesn't.
2012-10-09 23:41:06 -05:00
Ryan Houdek
d4a80ca3ec
yay, UBOs work 100% now.
2012-10-09 23:41:05 -05:00
Ryan Houdek
1f75ee49bf
UBO works for Pixel Shaders if Binding for UBO is zero, otherwise fails. Probably why Vertex shader UBO is failing. Too tired to investigate right now.
2012-10-09 23:41:05 -05:00
Ryan Houdek
b105d70339
Firin ma lazer
2012-10-09 23:41:05 -05:00