Henrik Rydgård
1faae8b6d6
Port some other minor changes over from #9255
2017-04-03 16:47:30 +02:00
Unknown W. Brackets
d4ff7cc928
Spline: Simplify uniforms/dirty to one check.
...
This makes backends more consistent in which values they use, and reduces
the (relatively uncommon compared to other drawcalls) dirty checks for
splines.
2017-03-19 20:05:56 -07:00
Henrik Rydgard
5a946d985b
Unify most of the rest of the command table entries
2017-03-14 13:47:34 +01:00
Henrik Rydgard
c74d6fcde7
Unify some vertex shader related settings in the command tables
2017-03-14 13:44:18 +01:00
Henrik Rydgard
cd6d5a0d7f
Unify fragment shader settings in the command table
2017-03-14 13:42:48 +01:00
Henrik Rydgard
bc641e6c56
Unify minz/maxz in command tables
2017-03-14 13:41:13 +01:00
Henrik Rydgard
903ac2fc42
Unify texture settings in the command tables
2017-03-14 13:39:32 +01:00
Henrik Rydgard
934b3db800
Unify logicop, antialias in the command table
2017-03-14 13:37:12 +01:00
Henrik Rydgard
8e6d546921
Unify the control commands in the tables
2017-03-14 13:35:25 +01:00
Henrik Rydgard
7302aca7b3
Some reordering, fixing in the command tables
2017-03-14 13:32:56 +01:00
Henrik Rydgard
ff57cacfe6
Unify morph weight, patch parameter command table entries
2017-03-14 13:30:03 +01:00
Henrik Rydgard
f767615ef8
Unify viewport/region/scissor command table entries
2017-03-14 13:28:28 +01:00
Henrik Rydgard
3de4d67fdc
Unify the light parameter table entries
2017-03-14 13:26:53 +01:00
Henrik Rydgard
99711815b5
Unify some ignored command table entries
2017-03-14 13:25:52 +01:00
Henrik Rydgard
d9c19cc9ee
Unify matrix, dither and signal table entries
2017-03-14 13:24:35 +01:00
Henrik Rydgard
3f795799c9
Setup a global GPU command table, and start moving stuff into it.
2017-03-14 13:21:24 +01:00
Henrik Rydgard
21d97a7947
Dirty UVSCALEOFFSET on every draw call.
...
This is needed since we no longer dirty it on normal changes since we
prescale, but it's still necessary for spline/bezier which generate texture coords.
2017-03-11 13:10:38 +01:00
Henrik Rydgard
e33428414f
Restore flushing the GPU pipeline on changes to CLIPENABLE, as per @unknownbrackets' comments. Also remove a redundant dirtying of textures.
2017-03-11 13:10:38 +01:00
xebra
a0907ab7bb
[spline/bezier]Fix shared uniform a bit.
2017-03-04 22:53:39 +09:00
xebra
f9ab61a005
[spline/bezier]Implement hardware tessellation on Vulkan.
2017-02-25 19:28:15 +09:00
Henrik Rydgard
f24b1495ba
Assorted texture format cleanup, prep for supporting D3D11 on Win7
2017-02-22 16:23:04 +01:00
Henrik Rydgard
91611832dc
Vulkan crashfix
2017-02-19 22:02:44 +01:00
Henrik Rydgard
6a09d45aee
D3D11: Add proper checks for B4G4R4A4 format support. Not yet using the checks.
2017-02-18 01:41:08 +01:00
xebra
ef536ae54d
Move wasted checks in FastRunLoop() to Execute_TexLevel()
2017-02-15 01:02:50 +09:00
xebra
945e603072
Fix fake mipmap issue related #5350
2017-02-15 01:02:50 +09:00
Henrik Rydgard
d05ef4a859
Pass through the DrawContext to texturecaches and fb managers.
...
This is preparation for sharing more framebuffer code between the
backends.
2017-02-05 19:51:50 +01:00
Henrik Rydgard
3ceb0a8540
Some simple renaming
2017-02-04 11:47:19 +01:00
Henrik Rydgard
0d1d6f98e4
Pass in the DrawContext to all backends
2017-01-30 20:26:47 +01:00
Henrik Rydgard
182d87cc15
Minor cleanup in GPU dispatch tables
2017-01-28 12:11:56 +01:00
Henrik Rydgard
ab6bc4cb16
Restores a lost optimization from uv prescale - avoiding flushing. Should fix #9219 .
...
Also #ifdef away some invalid-address checks in hot paths in the GPU.
2017-01-28 11:39:34 +01:00
Henrik Rydgard
9c55e1e0de
Only enable RAM Clears for the SOCOM games that require it.
...
Should remove the performance impact of #8994 which is bigger than
expected, it seems (cache pollution?)
2017-01-28 10:11:43 +01:00
Henrik Rydgard
d85888dc2b
Table-driven dirty-flags for Vulkan and D3D9. Minor Vulkan optimization.
2017-01-24 18:12:20 +01:00
Henrik Rydgard
1fe32d380b
Update lots of dirty-flag table entries
2017-01-24 18:12:20 +01:00
Henrik Rydgard
443d735a28
Activate table-driven dirty-flags in DX9 and Vulkan backends
2017-01-24 18:12:20 +01:00
Henrik Rydgard
068f2d3c71
Remove Execute_Generic in both D3D9 and Vulkan backends
2017-01-24 18:12:20 +01:00
Henrik Rydgard
c70265d7f2
Use table-driven dirtying instead of callbacks in GPU_GLES
2017-01-24 18:12:20 +01:00
Henrik Rydgard
e4cb44c243
Merge the texture flags into the dirty flags
2017-01-24 18:12:20 +01:00
Henrik Rydgard
c289a2c7bf
Split TextureChanged into two bools, so we can later convert to dirtyflags
2017-01-24 18:12:20 +01:00
Henrik Rydgard
7d60ec73be
Move framebufChanged into the dirty flag field
2017-01-24 18:12:20 +01:00
Henrik Rydgard
b423998c36
Move uniform dirty-flag to gstate_c, opening up for other uses.
2017-01-24 18:12:20 +01:00
Henrik Rydgard
f111767315
Workaround the lack of support for software skinning in Vulkan
2017-01-23 22:06:30 +01:00
Henrik Rydgard
ae37df0a8c
Further centralization of EstimatePerVertexCost, now moved to GPUCommon
2017-01-23 21:11:39 +01:00
Henrik Rydgard
daf02f1de6
Centralize the matrix load functions, no need to duplicate them for each backend.
2017-01-23 21:11:39 +01:00
Henrik Rydgard
3c221a7ebd
Extract the dirty flag from the shader managers so code that dirties uniform flags can be shared.
2017-01-23 21:11:39 +01:00
Henrik Rydgard
bd4436c6eb
Centralize EstimatePerVertexCost and Execute_BlockTransferStart
2017-01-23 17:22:17 +01:00
xebra
de253a6aef
[spline/bezier]Revert # ab9c1d4
about spline/bezier.
2017-01-23 14:12:46 +01:00
Henrik Rydgard
ab9c1d4dc0
Centralize the spline/bezier/bbox execute functions into GPUCommon
2017-01-21 20:43:05 +01:00
Henrik Rydgard
dc5c0c0d2d
Centralize ProcessEvent
2016-12-21 20:02:05 +01:00
Henrik Rydgard
7634ff7f09
Centralize a few more functions, fix DX9
2016-12-21 18:51:19 +01:00
Henrik Rydgard
98ebf9ed6f
Centralize PerformStencil* and Invalidate* functions
2016-12-21 18:33:08 +01:00