Commit Graph
9567 Commits
Author SHA1 Message Date
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årdandGitHub 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årdandGitHub 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årdandGitHub 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årdandGitHub 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årdandGitHub d60bb27cd9 Merge pull request #9906 from hrydgard/fastrunloop-optimize
GPU FastRunLoop optimizations
2017-08-17 16:25:15 +02:00
Henrik Rydgård 319df97bc7 Buildfix for X86 Android 2017-08-17 15:48:52 +02:00
Henrik Rydgård 5680332343 Minor cleanups 2017-08-17 15:20:21 +02:00
Henrik Rydgård 2c4e5e2303 Fastpath in fastrunloop when diff=0. Remove need for Execute for UV scale/offset. 2017-08-17 15:20:16 +02:00
Henrik Rydgård 71baecabd6 Make FLAG_FLUSHBEFORE a no-op, move flushes into the execution functions.
It would only be necessary if we needed the previous value, which we
don't do in any of these.
2017-08-17 15:20:10 +02:00
Henrik Rydgård 45737466e2 Vulkan vertex cache: Fix bug with "pure prim" draws (where we avoid the index buffer) 2017-08-17 12:00:20 +02:00
Henrik Rydgård 5e788ffadf Implement vertex caching for Vulkan. 2017-08-17 11:22:45 +02:00
Henrik Rydgård d19d8a8bb8 NEON-optimize CLUT loads 2017-08-15 16:02:31 +02:00
Henrik Rydgård 50d771961b Vulkan: More minor optimization (avoid pipeline cache lookups when possible) 2017-08-15 16:01:50 +02:00
Henrik Rydgård 2b8e81f01e NEON-optimize bone matrix loads 2017-08-15 14:35:21 +02:00
Henrik Rydgård 983bb3bd0f Can't dirty VERTEXSHADER_STATE before the flush in Execute_VertexTypeSkinning, causes obscure bugs when software skinning is enabled 2017-08-15 14:27:54 +02:00
Henrik Rydgård c4ccf5b734 Simple micro-optimization in AdvanceVerts 2017-08-15 12:02:47 +02:00
Henrik Rydgård 4e7099bf47 Vulkan: Fix some more state dirtying issues. 2017-08-15 10:51:44 +02:00
Henrik Rydgård 000723f29f Fix minor blendstate oversight, restore a disabled optimization 2017-08-14 16:21:02 +02:00
Henrik Rydgård a1fd2d1ed1 Dirty-track the current pipeline to avoid many vkBindPipeline calls. 2017-08-14 16:02:58 +02:00