Commit Graph

703 Commits

Author SHA1 Message Date
Henrik Rydgård
f220c74037 Remove comment, add check. 2017-10-16 16:28:27 +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
5bbe0eb69a Move GL readback to a Thin3D abstraction 2017-10-10 14:48:58 +02: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
Henrik Rydgård
6a1fa728d8 Remove Globals.h 2017-08-31 17:15:22 +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
10cebb4195 32-bit buildfix 2017-08-20 15:33:53 +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
d60bb27cd9 Merge pull request #9906 from hrydgard/fastrunloop-optimize
GPU FastRunLoop optimizations
2017-08-17 16:25:15 +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
5e788ffadf Implement vertex caching for Vulkan. 2017-08-17 11:22:45 +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
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
4e7099bf47 Vulkan: Fix some more state dirtying issues. 2017-08-15 10:51:44 +02:00
Henrik Rydgård
5a65334646 Use dirty-flags more in Vulkan state setting 2017-08-14 15:14:46 +02:00
Unknown W. Brackets
ca40282a10 Dirty on various framebuf state helpers.
Ideally we should cut down on using DisableState(), or restore afterward.
2017-08-14 11:36:07 +02:00
Henrik Rydgard
078e1151f9 Dirty-flag the fragment shader ID. 2017-08-14 11:36:07 +02:00
Unknown W. Brackets
f1cf92988f Dirty things on stencil buffer upload. 2017-08-14 11:36:06 +02:00
Unknown W. Brackets
c84efcfc97 Dirty vertexshader state on hw bezier/spline. 2017-08-14 11:36:06 +02:00
Henrik Rydgard
56cd991833 All: Only recompute the vertex shader ID when dirty 2017-08-14 11:36:06 +02:00
Henrik Rydgard
f01da87ab2 D3D11: Make better use of the dirty flags to avoid state calls 2017-08-14 11:36:03 +02:00
Henrik Rydgard
4e55654522 Add some missing VIEWPORTSCISSOR dirtying. 2017-08-14 11:35:11 +02:00