Commit Graph
4146 Commits
Author SHA1 Message Date
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 b19c2391ff Fix bug in ApplyClearToMemory if format is 16-bit and color not zero 2017-01-28 10:53:29 +01:00
Henrik Rydgard 7182c34c1e Quick soft fadeout when menu background audio stops playing 2017-01-28 10:38:50 +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 Rydgård e1bae9aa67 Follow the ARM64 ABI better (update the frame pointer). 2017-01-27 14:19:03 +01:00
Henrik Rydgard 52a4467a46 Disable the GPU mutex in single core mode. On some platforms it's expensive enough to show up in profiles even though it's useless. 2017-01-27 10:17:44 +01:00
xebra a460acf411 [spline/bezier]Fix to build GLES. 2017-01-27 13:32:36 +09:00
xebra 0e6c2b00cf [spline/bezier]Fix compatibility for GLES. 2017-01-27 13:32:35 +09:00
Henrik Rydgård 6e49341b91 Workaround a shutdown crash by adding a sanity check .. which actually catches stuff. A bit worrying. 2017-01-26 08:43:26 +01:00
Henrik Rydgard 98e0ccf1e1 Vertex JIT: Add some missing functions to ARM/ARM64 decoders. 2017-01-25 20:13:29 +01:00
Henrik Rydgård 3d8c94cf90 Fix bug where if the Vertex Decoder JIT failed, we failed to restore mprotect permissions causing a crash 2017-01-25 19:07:13 +01:00
Henrik Rydgard 5df4bac6d2 Delete some left behind unused code 2017-01-25 10:05:39 +01:00
Henrik Rydgård 524854ac16 Merge pull request #9233 from xebra/spline_bezier
[spline/bezier]Remove wasted code.
2017-01-24 23:33:51 +01:00
xebra 133a9d78a8 [spline/bezier]Remove wasted code. 2017-01-25 06:35:36 +09:00
Henrik Rydgård 528af8a939 Simplification around textures 2017-01-24 20:59:00 +01:00
Henrik Rydgård d8dbb8389b Make buffer binding more Vulkan/Metal-like 2017-01-24 20:59:00 +01:00
Henrik Rydgård 8654d42528 DrawContext API change: introduce TextureDesc 2017-01-24 20:59:00 +01:00
Henrik Rydgård 6a7d3a3910 Break out image file management from DrawContext (thin3d) 2017-01-24 20:58:59 +01:00
Henrik Rydgard e17d3e1e7a Vulkan: Forgot to extend a few more dirtyflag variables to 64-bit. Avoid a warning. 2017-01-24 20:19:06 +01:00
Henrik Rydgard 62a171c616 Minor DX9 optimization 2017-01-24 18:12:20 +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 ae569cd53a Fix some Vulkan brokenness (Vulkan2D beginframe/endframe weren't called) 2017-01-24 18:11:48 +01:00
Henrik Rydgard 0a3bb4a720 Vulkan: Increase size of per-frame descriptor pool, move uniform to right place 2017-01-24 18:11:48 +01:00
xebra 3ecff41908 [spline/bezier]Fix to avoid temporarily texture animation bug with hardware tessellation. 2017-01-24 14:39:19 +09: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 59d80a3785 Share the set of dirty flags between the backend, to let use share more code. 2017-01-23 20:39:17 +01:00
Henrik Rydgard 63c00ec528 Don't need to take vertex format into account when applying UV scale for spline/bezier 2017-01-23 17:44:13 +01:00
Henrik Rydgard f139246a78 Switch D3D and Vulkan to 64-bit dirty flags 2017-01-23 17:32:18 +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
Henrik Rydgård f111eede85 Some GLSL syntax fixes 2017-01-23 14:31:44 +01:00
xebra 54a2dcd442 [spline/bezier]Add some comments and fix to avoid division, use multiply instead. 2017-01-23 14:13:28 +01:00
xebra 7530e35ab6 Fix 64bits shader dirty flags properly. 2017-01-23 14:13:28 +01:00
xebra b436aef32a [spline/bezier]Avoid to set shader id bits if option of hardware tessellation is off. 2017-01-23 14:13:28 +01:00
xebra de253a6aef [spline/bezier]Revert #ab9c1d4 about spline/bezier. 2017-01-23 14:12:46 +01:00
xebra deea258383 [spline/bezier]Fix to avoid crashing when activated hardware tessellation with dx9 and vulkan. 2017-01-23 14:12:03 +01:00
xebra 334afbd1ae [spline/bezier]Fix again about compatibility with GLES. from @LunaMoo. 2017-01-23 14:12:03 +01:00