Commit graph

311 commits

Author SHA1 Message Date
Henrik Rydgard
0e8aeaea3a D3D11: Implement basic framebuffer readback.
Also make debug interfaces more consistent.
2017-02-18 00:07:49 +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 Rydgård
f7717063a8 Assorted fixes for memory leaks etc 2017-02-10 14:41:32 +01:00
Henrik Rydgard
ba95e0f4d9 Initial stab at porting the DX9 backend to D3D11. Not working yet. 2017-02-09 13:28:40 +01:00
Henrik Rydgard
ad29974a56 Change when drawcontexts are allocated. Hook up backbuffer events to fix d3d9 resizing. 2017-02-06 11:40:16 +01:00
Henrik Rydgard
f1c96c056d Move all the GL/D3D9 FBO code into thin3d. 2017-02-06 11:40:16 +01:00
Henrik Rydgard
41f770d815 Move dx_state into gfx/d3d9_state 2017-02-05 20:54:24 +01:00
Henrik Rydgard
f00f7d2fb8 Remove some dependencies on the pD3DDevice globals 2017-02-05 20:36:00 +01: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
20d9e60a67 Just some renaming. Start moving away from the "thin3d" name 2017-01-30 14:38:31 +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
0a3bb4a720 Vulkan: Increase size of per-frame descriptor pool, move uniform to right place 2017-01-24 18:11:48 +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
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
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 Rydgård
f86b9f7900 Guess what? More renaming 2016-12-27 11:59:06 +01:00
Henrik Rydgård
463251908b Rename things to closer match another project which I plan to share some code with 2016-12-27 11:59:02 +01:00
Henrik Rydgård
10393f5d4e Move Thin3D into the Draw namespace. 2016-12-27 11:58:03 +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
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
Unknown W. Brackets
f08c873a4b Save FBOs on decimate when they have a safe size.
Fixes #7695.
2016-05-19 21:23:22 -07:00