Commit Graph
80 Commits
Author SHA1 Message Date
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