Commit Graph

4781 Commits

Author SHA1 Message Date
Henrik Rydgård
981c49615c Unify FlushBeforeCopy. Remove old dummy methods from Vulkan framebuffer manager. 2017-10-18 12:26:02 +02:00
Henrik Rydgård
0d85f86e2d Add some safety checks. Fix some inadvertent Y-flips (bit hacky). 2017-10-18 11:40:07 +02:00
Henrik Rydgård
4e3a9bc3e3 Unify some more framebuffer functions. Leave the GL stuff alone for now due to async. 2017-10-18 11:20:58 +02:00
Henrik Rydgård
f2ea0ce472 Unify (well, almost) GetOutputFramebuffer (D3D11/GL) 2017-10-18 10:54:26 +02:00
Henrik Rydgård
214270d192 Unify GetDepthBuffer/GetStencilBuffer in GL/D3D11 2017-10-18 10:54:26 +02:00
Henrik Rydgård
f220c74037 Remove comment, add check. 2017-10-16 16:28:27 +02:00
Henrik Rydgård
ad4bc3f9f4 Address review comments. 2017-10-16 14:32:26 +02:00
Henrik Rydgård
9b1ee6fce6 Unify GetFramebuffer in GLES and D3D11.
D3D9 is left behind for now, and Vulkan still needs implementation - got a branch with initial work towards that.
2017-10-11 13:39:34 +02:00
Henrik Rydgård
62972cb891 D3D11: Move to CopyFramebufferToSync where easily possible. 2017-10-11 13:34:31 +02:00
Henrik Rydgård
16e68aa7c7 Get rid of BindFramebufferForRead 2017-10-10 14:49:07 +02:00
Henrik Rydgård
5bbe0eb69a Move GL readback to a Thin3D abstraction 2017-10-10 14:48:58 +02:00
Henrik Rydgård
2d94d45389 More format support in thin3d GL 2017-10-10 14:48:54 +02:00
Henrik Rydgård
0aa950b663 Start moving PACK_ALIGNMENT into SafeGLReadPixels 2017-10-09 15:43:26 +02:00
Henrik Rydgård
f760429792 Minor refactoring of framebuffer readbacks. 2017-10-09 15:17:55 +02:00
Henrik Rydgård
3757070fe2 Extra safety when switching GPU backends, fix possible Vulkan shutdown issue. Should help #10005 2017-10-09 12:17:54 +02:00
Henrik Rydgård
d36fdd6e51 Merge pull request #9976 from unknownbrackets/core-context
Decorate shaders for core profile support
2017-09-23 21:29:17 +09:00
Unknown W. Brackets
5784b51428 GLES: Allow hwtess for GL 3.1 w/o shader4.
gl_InstanceID was added to core in 3.1, so we don't need gpu_shader4.
2017-09-21 20:20:17 -07:00
Henrik Rydgård
39051f57fd Merge pull request #9974 from unknownbrackets/state-opt-fsid
GPU: Reset shader state on shader reset
2017-09-21 12:46:05 +09:00
Unknown W. Brackets
e754cca288 GLES: Add OpenGL 3.x core profile support.
Need to define #version everywhere and avoid varying/etc.
2017-09-20 12:22:01 -07:00
Unknown W. Brackets
72e0a24724 GPU: Reset shader state on shader reset.
Was ending up with lastFSID being -1, but being used.

Seen in gpu/commands/blend test.
2017-09-20 08:37:54 -07:00
LunaMoo
5b75d2af20 Add uniform to make post process aware of videos.
And an example effect ~ subtle AA in-game/heavy smoothing for videos.
2017-09-13 08:13:51 +02:00
Unknown W. Brackets
55ef501739 GPU: Dirty viewport on RT width/height change.
Fixes #9959.
2017-09-09 20:46:03 -07:00
twinaphex
4855b2d6f1 mingw patches 2017-08-31 22:15:05 +02:00
Henrik Rydgård
7bb427e6f1 Buildfix 2017-08-31 17:24:34 +02:00
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +02:00
Henrik Rydgård
22e65ba80d Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 2017-08-31 01:14:51 +02:00
Henrik Rydgård
8d0498303a Fix a PIC compliance bug in the VFPU. Comment other cases properly (for easy searching). 2017-08-29 11:45:12 +02:00
Henrik Rydgård
871fa713ed Fix bug in vulkan init. Add some sanity checks to GL shader cache loading. 2017-08-28 15:22:18 +02:00
Henrik Rydgård
4938ab786e Fix possible crash when loading GL shader caches. Should help #9930. 2017-08-25 22:49:51 +02:00
Henrik Rydgård
91a0331f99 Bump the GL shader cache version 2017-08-24 14:58:13 +02:00
Henrik Rydgård
97b82100b8 Merge pull request #9919 from unknownbrackets/dlist-align
GPU: Fix alignment on signal jump/call
2017-08-20 22:43:12 +02:00
Unknown W. Brackets
b035be6367 GPU: Fix alignment on signal jump/call.
It shouldn't be possible to make the pc unaligned, and this may have been
causing it previously.
2017-08-20 13:30:39 -07:00
Unknown W. Brackets
d6506b3d59 GPU: Consider bbox failed with zero verts.
This seems to match behavior in tests.
2017-08-20 13:30:10 -07:00
Henrik Rydgård
81a18dc4df Keeping descriptorsets around between frames can cause problems if we run out.. Try to prevent that. Need a better method than this though. 2017-08-20 21:35:03 +02:00
Henrik Rydgård
dd1399e982 Fix some missing dirty flags (affects FS_BIT_LMODE) 2017-08-20 20:14:41 +02:00
Henrik Rydgård
9b6aece6fc Buildfix 2017-08-20 19:40:50 +02:00
Henrik Rydgård
b21ed852ce Switch over the GL shader manager to the new hashmaps. 2017-08-20 19:29:43 +02:00
Henrik Rydgård
9c3549f0be ... And also for the vertex decoder (DenseHashMap) 2017-08-20 19:18:50 +02:00
Henrik Rydgård
2f85e6516e Minor optimizations (use the new hashmap in a few more places) 2017-08-20 19:18:46 +02:00
Henrik Rydgård
9bce767b73 Merge pull request #9916 from hrydgard/faster-hashmaps
Replace the most critical unordered_maps and maps with faster maps.
2017-08-20 17:56:31 +02:00
Henrik Rydgård
a4b97f00b6 And yet another buildfix. 2017-08-20 15:52:12 +02:00
Henrik Rydgård
10cebb4195 32-bit buildfix 2017-08-20 15:33:53 +02:00
Henrik Rydgård
c2bd739b49 Optimize uniform uploads for D3D9 and GL as well. 2017-08-20 13:53:39 +02:00
Henrik Rydgård
237cca683b Maintain the hashmap from time to time. Fix a bug in count reset on grow. 2017-08-20 13:34:11 +02:00
Henrik Rydgård
91783a3281 SIMD-optimize some data conv routines used in uniform updates. 2017-08-20 11:43:35 +02:00
Henrik Rydgård
e0e13e191f Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap. 2017-08-20 11:30:19 +02:00
Henrik Rydgård
b9b2656e93 More vulkan microoptimizations. Add more profiler scopes. 2017-08-18 13:48:11 +02:00
Henrik Rydgård
e8a81df8d8 FRAGMENT_SHADER needs to be marked dirty if shademode changes. Fixes #9904.
No clue why the problem only happened on GL though...
2017-08-17 21:02:09 +02:00
Henrik Rydgård
560eaa5390 Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing. 2017-08-17 17:57:37 +02:00
Henrik Rydgård
d60bb27cd9 Merge pull request #9906 from hrydgard/fastrunloop-optimize
GPU FastRunLoop optimizations
2017-08-17 16:25:15 +02:00