Henrik Rydgård
10cebb4195
32-bit buildfix
2017-08-20 15:33:53 +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
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
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
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
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
Henrik Rydgård
5a65334646
Use dirty-flags more in Vulkan state setting
2017-08-14 15:14:46 +02:00
Henrik Rydgård
776c9e384f
Oops, broke Vulkan in the rebase somehow. Fixed.
2017-08-14 13:52:40 +02:00
Henrik Rydgard
078e1151f9
Dirty-flag the fragment shader ID.
2017-08-14 11:36:07 +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
1098bf7342
All: Only convert viewportscissor state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e439055a32
All: Only convert raster state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e2b179d6e2
All: Only convert depth stencil state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e4567c694c
All: Only convert blend state if "dirty"
2017-08-14 11:14:26 +02:00
Unknown W. Brackets
4a56e6ff83
GE Debugger: Fix recording in softgpu.
2017-06-04 10:38:58 -07:00
Unknown W. Brackets
dca75437c3
GPU: Refactor common frame dumping code.
2017-06-03 15:29:07 -07:00
Henrik Rydgård
14a80968cf
Unify transformed arrays
2017-06-03 18:05:21 +02:00
Henrik Rydgård
1abb8792ab
Unify ComputeMiniHash
2017-06-03 18:05:18 +02:00
Henrik Rydgård
3032240916
Unify DecodeVertsStep
2017-06-03 18:04:46 +02:00
Henrik Rydgård
240e058b3b
Some unification in DrawEngine
2017-06-03 18:03:56 +02:00
Henrik Rydgård
6169fa289a
Merge pull request #9769 from hrydgard/vulkan-sw-skinning
...
Implement software skinning for the Vulkan backend.
2017-06-02 12:15:56 +02:00
Henrik Rydgård
665a2c04cb
Implement software skinning for the Vulkan backend. Fixes #9753
2017-06-02 11:47:14 +02:00
Unknown W. Brackets
83d017848e
Vulkan: Allow blit/copy of depth or stencil only.
...
Docs say nothing about this not working, and it works on NVIDIA, from what
I can tell.
2017-06-01 20:58:33 -07:00
Henrik Rydgård
7822e5b57f
Merge pull request #9755 from unknownbrackets/mipmaps
...
GPU: Block mipmap autogen for matching size
2017-06-01 09:04:36 +02:00
Unknown W. Brackets
f1e9180676
Vulkan: Fix Cardboard rendering.
...
Mostly the Viewport2D flush issue, which may possibly have broken
something else.
2017-05-31 23:26:38 -07:00
Unknown W. Brackets
f66ffb9ffe
GPU: Fix negative mip levels with const workaround.
...
Might've crashed if it hit a negative level before.
2017-05-31 21:42:07 -07:00
Unknown W. Brackets
b6375638f5
GPU: Block mipmap autogen for matching size.
...
If the mips don't get smaller, we can't autogen - the bias in that case is
used to select a different texture. Fixes #9731 .
This also may improve a minor performance issue on PowerVR in some games.
2017-05-31 21:23:20 -07:00
Henrik Rydgård
6bd1a16c35
Merge pull request #9748 from hrydgard/delete-clearbuffer
...
Delete obsolete function ClearBuffer
2017-05-31 14:11:12 +02:00
Henrik Rydgård
cb9b63e75a
Fix scaling post-shaders on OpenGL. See #9742
2017-05-31 13:57:57 +02:00
Henrik Rydgård
2b14c6b531
Delete obsolete function ClearBuffer
2017-05-31 13:38:22 +02:00
Henrik Rydgård
44423f3ba2
Vulkan: Implement BlitFramebuffer
2017-05-30 09:38:09 +02:00
Henrik Rydgård
4c8dc24834
Vulkan: Implement depth buffer copies. Not sure all the barriers are right..
2017-05-30 09:38:08 +02:00
Henrik Rydgård
137b79c708
Fix more review comments.
2017-05-30 09:38:05 +02:00
Henrik Rydgård
e8890e3c4a
Address a bunch of review comments.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
a95b11c58f
Don't forget to initialize logicop..
2017-05-30 09:36:17 +02:00
Henrik Rydgård
38b50501c2
Clearing fix, drawpixels fix/hack
2017-05-30 09:36:17 +02:00
Henrik Rydgård
b1c256a296
Increase the number of sampler/image descriptors further.
2017-05-30 09:36:17 +02:00
Henrik Rydgård
c173da49d3
Fix a number of bugs and stuff affecting Vulkan on Mali
2017-05-30 09:36:17 +02:00