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
Henrik Rydgard
866d4a645f
Centralize "PerformMemory*" functions
2016-12-21 18:26:06 +01:00
Henrik Rydgard
e15cba0e1b
Centralize "Resized()"
2016-12-21 18:13:58 +01:00
Henrik Rydgard
7e46a153c0
Centralize DoBlockTransfer between the GPUs.
...
Required adding a pointer to the framebuffer manager and texture cache in
GPUCommon, which took a little bit of refactoring.
2016-12-21 18:07:17 +01:00
Henrik Rydgard
9d7983eee8
Remove the ability to turn off prescaleUV entirely. It's simply better to do it in the vertex decoder.
2016-12-20 13:27:44 +01:00
Unknown W. Brackets
40e2ab1d12
Vulkan: Actually call the new lost/restore funcs.
2016-10-09 11:28:11 -07:00
Unknown W. Brackets
1b48ff3c63
Vulkan: Rebuild reporting info on resize.
...
We recheck features, after all.
2016-10-09 11:28:04 -07:00
Unknown W. Brackets
1c3e048070
Vulkan: Consistently init the graphicsContext.
...
This was only happening properly on Windows before.
2016-10-01 11:22:53 -07:00
Unknown W. Brackets
92d930887f
Android: Add both a lost and restore phase.
...
Lost = delete, restore = create. Let's stick to never overlapping.
May help #8912 .
2016-09-10 21:58:42 -07:00
Unknown W. Brackets
f08c873a4b
Save FBOs on decimate when they have a safe size.
...
Fixes #7695 .
2016-05-19 21:23:22 -07:00
Unknown W. Brackets
99d29356d7
Track video addresses in texture cache.
2016-05-01 08:39:18 -07:00
Unknown W. Brackets
b1f0d4869c
Advance pointers after drawing splines.
...
Tests show this is just like beziers.
2016-04-10 17:12:48 -07:00
Unknown W. Brackets
d920ffdcad
Ignore upper bits of prim type.
...
This matches tests on what hardware does.
2016-04-10 13:11:55 -07:00
Unknown W. Brackets
e95b2cf0d5
Reduce some repetitive code.
2016-04-10 13:07:08 -07:00
Unknown W. Brackets
868bbb8ebe
Advance vertex/index pointers on bezier submit.
...
Just like other primitives.
2016-04-10 12:59:06 -07:00
Unknown W. Brackets
277b76e2ae
Treat GE_PATCHPRIM_UNKNOWN as points.
...
Confirmed by tests on hardware - although it's doubtful any games use
this type.
2016-04-10 11:58:15 -07:00
Unknown W. Brackets
1e0051a792
Add support for 32-bit indices.
...
Not clear how often these are used by games. Let's find out.
2016-04-10 02:24:58 -07:00