Commit Graph
54 Commits
Author SHA1 Message Date
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 daee5c24e5 Work towards unifying the GL and DX FBO APIs 2017-02-04 22:25:34 +01:00
Henrik Rydgard 3ceb0a8540 Some simple renaming 2017-02-04 11:47:19 +01:00
xebra 82bb6cbaad Fix #9275 2017-02-03 16:37:10 +09:00
xebra 37a0907598 Fix supporting gl_InstanceID. 2017-02-01 21:21:57 +09:00
xebra 918bee8801 Add support OES_texture_half_float. 2017-02-01 14:37:03 +09:00
xebra 4fbc92d3f0 Revert gpu features flags to 32-bit. 2017-02-01 00:14:38 +09:00
xebra 6adddbbd38 [spline/bezier]Turn off Hardware Tessellation if device is unsupported. 2017-01-31 23:37:07 +09:00
xebra 159aa1415d [spline/bezier]Add some gpu features flags for Instanced Tessellation. 2017-01-31 23:37:06 +09:00
xebra ce27f7b0b5 Expand gpu features flags to 64-bit. 2017-01-31 23:37:06 +09: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 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 69267d4cd6 Minor optimizations 2017-01-23 21:14:27 +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 097638f4fd Fix crash bug 2017-01-23 21:09:20 +01:00
Henrik Rydgard bd4436c6eb Centralize EstimatePerVertexCost and Execute_BlockTransferStart 2017-01-23 17:22:17 +01:00
Henrik Rydgard d9acd27126 Rename GLES files to match the convention the other backends use. 2017-01-23 17:08:58 +01:00
xebraandHenrik Rydgård de253a6aef [spline/bezier]Revert #ab9c1d4 about spline/bezier. 2017-01-23 14:12:46 +01:00
xebraandHenrik Rydgård 5aeaa95f2c [spline/bezier]Implement hardware tessellation on OpenGL. 2017-01-23 14:12:02 +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
Florent Castelli 70593d1004 android: Change preprocessor define to standard __ANDROID__
ANDROID is only standard to the old Makefile buildsystem, not the platform.
2016-10-12 11:14:09 +02:00
Unknown W. Brackets 4d0c457ddc Cleanup display vs. output screenshot terminology. 2016-09-25 16:35:43 -07:00
Unknown W. Brackets fa0e88f1b7 Add a flag to use the display vfb for screenshots.
This fixes proportions of reporting, savestate screenshots, and TAS
recording for PS1 ports, mainly.
2016-09-25 16:32:18 -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 6151f8ef9f Allow taking screenshots with a clamped size.
Sometimes 10x is a little on the big side.
2016-06-12 07:09:01 -07:00
Henrik Rydgard 8294a54a70 Disable dual source blending on nvidia Android. See #8243 2016-06-05 09:15:10 +02: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