Commit Graph

650 Commits

Author SHA1 Message Date
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
sum2012 d671675027 fix bracing 2014-08-19 07:04:36 +08:00
sum2012 5ac70026c7 Fix save status
Rename u32_le stackAddr to u32
2014-08-17 16:52:06 +08:00
JimLee168 8099281928 check for duplicated stack addresses
Based on https://code.google.com/p/jpcsp/source/detail?r=3569

Fix WWE SmackDown! vs. RAW 2006
2014-08-13 21:28:22 +08:00
Unknown W. Brackets 03f86f364f Skip debug stepping time in list/func time.
Just makes the debug stats actually useful while stepping.  A bit of
overengineering, but it makes it easy to go frame-by-frame looking for
perf issues.
2014-06-14 08:42:18 -07:00
Unknown W. Brackets 230c7fb8a8 Don't block duplicate enqueues when intr pending.
Fixes #6138.
2014-05-25 18:52:31 -07:00
Unknown W. Brackets 7f5be6b35d CALLs and JUMPs to misaligned addresses round down.
Fixes Pac-Man World 3.  Matches tests on hardware.
2014-05-04 17:58:44 -07:00