Commit graph

224 commits

Author SHA1 Message Date
Unknown W. Brackets
bb39c2e458 Texcache: Rehash textures after mem invalidation.
Before, we were doing this when we enqueued.  We need to at least do this
when an invalidation is triggered.
2017-03-25 11:49:15 -07:00
Unknown W. Brackets
438af2f4fa Core: Separate collecting and displaying stats. 2017-03-23 18:57:18 -07:00
Henrik Rydgard
fbee328293 Don't dirty texture state when kicking off a display list. This might hide real bugs and affect performance, and should not be necessary. 2017-03-18 21:47:58 +01:00
Henrik Rydgard
627866355b Restore two accidentally deleted command table entries. 2017-03-14 15:45:01 +01:00
Henrik Rydgard
5a946d985b Unify most of the rest of the command table entries 2017-03-14 13:47:34 +01:00
Henrik Rydgard
c74d6fcde7 Unify some vertex shader related settings in the command tables 2017-03-14 13:44:18 +01:00
Henrik Rydgard
cd6d5a0d7f Unify fragment shader settings in the command table 2017-03-14 13:42:48 +01:00
Henrik Rydgard
bc641e6c56 Unify minz/maxz in command tables 2017-03-14 13:41:13 +01:00
Henrik Rydgard
903ac2fc42 Unify texture settings in the command tables 2017-03-14 13:39:32 +01:00
Henrik Rydgard
934b3db800 Unify logicop, antialias in the command table 2017-03-14 13:37:12 +01:00
Henrik Rydgard
8e6d546921 Unify the control commands in the tables 2017-03-14 13:35:25 +01:00
Henrik Rydgard
ff57cacfe6 Unify morph weight, patch parameter command table entries 2017-03-14 13:30:03 +01:00
Henrik Rydgard
f767615ef8 Unify viewport/region/scissor command table entries 2017-03-14 13:28:28 +01:00
Henrik Rydgard
3de4d67fdc Unify the light parameter table entries 2017-03-14 13:26:53 +01:00
Henrik Rydgard
99711815b5 Unify some ignored command table entries 2017-03-14 13:25:52 +01:00
Henrik Rydgard
d9c19cc9ee Unify matrix, dither and signal table entries 2017-03-14 13:24:35 +01:00
Henrik Rydgard
3f795799c9 Setup a global GPU command table, and start moving stuff into it. 2017-03-14 13:21:24 +01:00
Henrik Rydgård
90e0079c98 GE Debugger D3D11: Support displaying the current texture 2017-03-06 16:46:15 +01:00
Henrik Rydgard
26a2d42731 Big mutex overhaul - remove our custom ones, make them non-recursive where possible 2017-02-28 11:40:29 +01:00
Henrik Rydgard
e8396b10f9 D3D11: Implement screenshots. 2017-02-18 00:43:02 +01:00
Henrik Rydgard
0e8aeaea3a D3D11: Implement basic framebuffer readback.
Also make debug interfaces more consistent.
2017-02-18 00:07:49 +01:00
xebra
59fd5da438 Fix fake mipmap hacks. 2017-02-15 22:07:58 +09:00
xebra
7975addad0 Fix small issue. 2017-02-15 01:02:51 +09:00
xebra
ef536ae54d Move wasted checks in FastRunLoop() to Execute_TexLevel() 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
0d1d6f98e4 Pass in the DrawContext to all backends 2017-01-30 20:26:47 +01:00
Henrik Rydgård
14d2bf5989 Merge pull request #9136 from LunaMoo/ProjectionMatrixData
Limit Projection Matrix Data count to <= 16
2017-01-28 17:04:12 +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
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
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
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
LunaMoo
c81dc7bd55 Limit Projection Matrix Data count to <= 16 2017-01-24 02:33:16 +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
bd4436c6eb Centralize EstimatePerVertexCost and Execute_BlockTransferStart 2017-01-23 17:22:17 +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
Unknown W. Brackets
e95b2cf0d5 Reduce some repetitive code. 2016-04-10 13:07:08 -07:00
Henrik Rydgard
ad0da06f65 Forgot to remove these from the debug string. 2016-04-02 10:36:51 +02:00