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
Unknown W. Brackets
e964e15ed3
Correct savestate of running GE list.
...
Fixes #8459 .
2016-01-21 22:14:47 -08:00
Henrik Rydgard
94c91e199a
Minor GPU interface change needed for a WIP backend
2016-01-06 23:53:21 +01:00
Henrik Rydgard
e11d0a7e1c
Minor GPU interface cleanup
2016-01-06 23:49:02 +01:00
Unknown W. Brackets
f415c74358
Also fix padding for DisplayList on iOS.
...
Fixes #8199 .
2015-12-24 14:31:43 -08:00
Henrik Rydgard
f3b0562bd8
Improve viewport terminology a bit. No functional change.
2015-11-04 22:03:29 +01:00
Unknown W. Brackets
4e7c59daae
Fix minor typo.
2015-10-12 22:14:14 -07:00
Henrik Rydgard
f9f9619bea
Fix and clarify comments
2015-10-11 18:42:32 +02:00
Henrik Rydgard
652e4bca76
Fix for a struct padding error affecting Android-x86, making it produce savestates that were not compatible with the other platforms.
2015-10-11 14:38:26 +02:00
Unknown W. Brackets
e0f85a9c6b
Native merge part 1: skip native/ in includes.
2015-09-06 12:19:33 -07:00
Henrik Rydgard
72ae497350
Remove glstate usage except in the GPU implementation. Prepare for moving it into PPSSPP.
2015-09-06 12:42:15 +02:00
Henrik Rydgard
2430c283a5
More GPU cleaning, removing uses of GPUState.h where not needed.
...
Want to get rid of direct accesses to GPUState in modules that may be reused in
my future next-gen backends, that will reformat display lists into command lists that will
then be optimized and executed, out of sync with the real GPUState.
Candidate modules that may be reused in full are Framebuffer and Depal, possibly TextureCache to some degree.
2015-07-29 12:37:49 +02:00
Henrik Rydgard
0b2a1dfe53
Profile a few more scopes
2015-05-26 00:39:27 +02:00
Unknown W. Brackets
bbe15d2518
Add a NEON color conv for 5551 -> 1555.
2015-05-23 11:30:06 -07:00
Unknown W. Brackets
6b26e1a591
Read pending vertex data before exiting gpu loop.
...
Fixes save pictures in Crimson Gem Saga.
2015-03-14 18:11:24 -07:00
Unknown W. Brackets
e4a24efda3
Don't show the op twice in the GE debugger.
2015-02-01 01:21:04 -08:00
Unknown W. Brackets
0a6a70f53f
Allow switching cpu thread on/off ingame.
2014-12-20 17:39:42 -08:00
Unknown W. Brackets
199e6bcd3b
Avoid crashing when calling an invalid address.
...
We already have a check, let's use it properly.
2014-09-23 08:31:29 -07:00
Henrik Rydgard
170e88838f
Slightly improve GPU disassembly
2014-09-13 23:51:07 +02:00