Unknown W. Brackets
d5ae666725
Reporting: Remove unused code.
2017-12-01 09:32:23 -08:00
Henrik Rydgård
f50dadb284
Fix the fix for Thrillville. See #7459
2017-11-26 21:02:33 +01:00
Unknown W. Brackets
dd6886aa38
GPU: Fix block transfer write breakpoint.
2017-11-25 11:32:02 -08:00
Henrik Rydgård
b52b8b1329
Unbreak save states, fix other minor issues from review
2017-11-25 12:13:02 +01:00
Henrik Rydgård
5c9436f276
Fix some comments
2017-11-24 21:58:55 +01:00
Henrik Rydgård
ed2028aa5e
Add safety check.
2017-11-24 21:55:25 +01:00
Henrik Rydgård
f2db0339ad
Hack that converts immediate draws to through-mode draws. This won't
...
work correctly in all cases - but it's enough for Thrillville which uses
it to clear only. Works around #7459 .
2017-11-24 21:50:54 +01:00
Henrik Rydgård
28b60a724f
Process immediate draw commands. Not yet sending to graphics backends.
2017-11-24 17:54:56 +01:00
Henrik Rydgård
ca21f93d52
GPU: Advance the vertex pointer after BBOX vertices are sent. Fixes #6554 , finally!
2017-11-17 13:36:48 +01:00
Henrik Rydgård
d4df0181db
More duplicate code removal
2017-11-14 09:20:36 +01:00
Henrik Rydgård
04e313ecba
Unify Execute_Bezier and Execute_Spline
2017-11-13 10:45:27 +01:00
Henrik Rydgård
9e35144b96
Remove/deprecate GPU tick sync
2017-11-05 23:21:53 +01:00
Henrik Rydgård
8c69be9bfa
Get rid of GPUCommon's "Internal" functions.
2017-11-05 23:21:52 +01:00
Henrik Rydgård
bb68906d88
Delete ProcessEvent and the GPUEvent enum
2017-11-05 23:21:51 +01:00
Henrik Rydgård
6680e787de
Delete GPUCommon::ScheduleEvent
2017-11-05 23:21:50 +01:00
Henrik Rydgård
26e52ca5e8
Get rid of a bunch of sync stuff that's no longer needed.
2017-11-05 23:21:49 +01:00
Henrik Rydgård
5e63f0700e
Get rid of the sync around curTickEst
2017-11-05 23:21:48 +01:00
Henrik Rydgård
4d9c571bf4
Delete the mutex in GPUCommon.
2017-11-05 23:21:47 +01:00
Henrik Rydgård
be2ba4ffb3
Remove the setting to run the display list interpreter on a separate thread.
2017-11-05 23:21:26 +01:00
Henrik Rydgård
b886efe8f5
Another minor cleanup (DescribeCodePtr)
2017-10-20 11:06:12 +02:00
Henrik Rydgård
4a30aedc53
Unify and move around code to cleanup some debug accessors
2017-10-18 13:10:05 +02:00
Henrik Rydgård
d53c88456a
Unify GetFramebufferList() (trivial)
2017-10-18 12:49:15 +02:00
Unknown W. Brackets
72e0a24724
GPU: Reset shader state on shader reset.
...
Was ending up with lastFSID being -1, but being used.
Seen in gpu/commands/blend test.
2017-09-20 08:37:54 -07:00
Henrik Rydgård
97b82100b8
Merge pull request #9919 from unknownbrackets/dlist-align
...
GPU: Fix alignment on signal jump/call
2017-08-20 22:43:12 +02:00
Unknown W. Brackets
b035be6367
GPU: Fix alignment on signal jump/call.
...
It shouldn't be possible to make the pc unaligned, and this may have been
causing it previously.
2017-08-20 13:30:39 -07:00
Unknown W. Brackets
d6506b3d59
GPU: Consider bbox failed with zero verts.
...
This seems to match behavior in tests.
2017-08-20 13:30:10 -07:00
Henrik Rydgård
dd1399e982
Fix some missing dirty flags (affects FS_BIT_LMODE)
2017-08-20 20:14:41 +02:00
Henrik Rydgård
b9b2656e93
More vulkan microoptimizations. Add more profiler scopes.
2017-08-18 13:48:11 +02:00
Henrik Rydgård
e8a81df8d8
FRAGMENT_SHADER needs to be marked dirty if shademode changes. Fixes #9904 .
...
No clue why the problem only happened on GL though...
2017-08-17 21:02:09 +02:00
Henrik Rydgård
5680332343
Minor cleanups
2017-08-17 15:20:21 +02:00
Henrik Rydgård
2c4e5e2303
Fastpath in fastrunloop when diff=0. Remove need for Execute for UV scale/offset.
2017-08-17 15:20:16 +02:00
Henrik Rydgård
71baecabd6
Make FLAG_FLUSHBEFORE a no-op, move flushes into the execution functions.
...
It would only be necessary if we needed the previous value, which we
don't do in any of these.
2017-08-17 15:20:10 +02:00
Henrik Rydgård
c4ccf5b734
Simple micro-optimization in AdvanceVerts
2017-08-15 12:02:47 +02:00
Henrik Rydgard
078e1151f9
Dirty-flag the fragment shader ID.
2017-08-14 11:36:07 +02:00
Henrik Rydgard
56cd991833
All: Only recompute the vertex shader ID when dirty
2017-08-14 11:36:06 +02:00
Henrik Rydgard
4e55654522
Add some missing VIEWPORTSCISSOR dirtying.
2017-08-14 11:35:11 +02:00
Unknown W. Brackets
aa2269020a
Dirty viewport state on framebuf resize.
2017-08-14 11:14:26 +02:00
Henrik Rydgard
1098bf7342
All: Only convert viewportscissor state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e439055a32
All: Only convert raster state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e2b179d6e2
All: Only convert depth stencil state if dirty
2017-08-14 11:14:26 +02:00
Henrik Rydgard
e4567c694c
All: Only convert blend state if "dirty"
2017-08-14 11:14:26 +02:00
Unknown W. Brackets
3960a4d791
Ensure everything is dirty on frame start.
2017-08-14 11:14:26 +02:00
Henrik Rydgård
35c8a05d29
Minor GPU disassembler update
2017-08-05 18:37:03 +02:00
Unknown W. Brackets
f1429bc23a
GPU: Stall properly on matrix data.
...
Hit an infinite loop because it kept passing the stall pause and looping.
Found when recording the God of War demo.
2017-06-04 14:17:23 -07:00
Unknown W. Brackets
4a56e6ff83
GE Debugger: Fix recording in softgpu.
2017-06-04 10:38:58 -07:00
Unknown W. Brackets
fcfbe8cabb
GE Debugger: Fix matrix dumping.
...
Record wasn't seeing the commands to dump them.
2017-06-04 10:38:53 -07:00
Unknown W. Brackets
37a894a558
GE Debugger: Record memcpy/memset too.
2017-06-03 15:29:10 -07:00
Unknown W. Brackets
cbbd3cac7e
GE Debugger: Initial structure for GE data dumping.
...
This snapshots the GE commands and drawing to facilitate debugging.
2017-06-03 15:29:09 -07:00
Unknown W. Brackets
dca75437c3
GPU: Refactor common frame dumping code.
2017-06-03 15:29:07 -07:00
Henrik Rydgård
14900d4c1b
Fix crash when pressing F12 in software mode.
2017-05-24 11:10:03 +02:00
Unknown W. Brackets
10e511273a
GPU: Flush on mipmap slope change.
2017-05-12 20:30:48 -07:00
Unknown W. Brackets
fd4399e108
GPU: Centralize fb resize, move to begin of frame.
...
It makes more sense here, because otherwise when you change it from the UI
settings, it takes a frame to "kick in".
2017-04-24 12:02:52 -07:00
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
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
Unknown W. Brackets
984bb31709
Fix another race condition with multithreading.
...
It's possible that after it's marked completed, the CPU will grab it to
enqueue. This actually happened to mean with decent reproducibility.
2014-05-03 18:40:27 -07:00
Unknown W. Brackets
99e4300f95
Eat a few more cycles on END cmds.
...
Fixes #3049 , which apparently expects an END/FINISH to not immediately
trigger (it drawsyncs soon after, and completely expects that to
reschedule.)
Either way, it seems plausible an END would take a few more cycles than
most instructions, since it generates an interrupt.
2014-04-29 00:08:43 -07:00
Unknown W. Brackets
97c18e7f0e
Comment out a few unsafe replacement funcs.
2014-04-22 08:07:10 -07:00
Unknown W. Brackets
256e98b841
Add the common funcs to the direct exec calls.
2014-04-17 01:18:52 -07:00
Unknown W. Brackets
b2f12daba9
Don't reset OFFSETADDR, changes offsetAddr.
2014-04-17 01:18:51 -07:00
Unknown W. Brackets
4c1c694d4b
Use flags to avoid hashing textures when unchanged.
...
If only parameters change (like wrapping or clut, etc.) we don't need to
rehash the data - we know it hasn't changed.
Should reduce the distance between lazy texture hashing on and off.
2014-04-13 14:22:39 -07:00
Unknown W. Brackets
e93407f33e
Oops, downgrade from ERROR to DEBUG, and -report.
2014-04-12 00:04:02 -07:00
Unknown W. Brackets
26933384a7
Don't mark a list complete too early.
...
This would matter probably mostly if we implemented CONTINUE properly.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
4561440df7
Handle GE pause signals per tests.
...
They really should pause, but we were resetting them incorrectly.
And most importantly, sceGeContinue() inside the signal handler absolutely
must work. Games use this a lot.
2014-04-11 23:50:20 -07:00
Unknown W. Brackets
702294fe60
Don't trigger pause GE signals either, comments.
...
This better explains what each signal does.
2014-04-10 00:23:36 -07:00
Unknown W. Brackets
9c75c1e6fd
Avoid triggering SYNC ge signals.
...
Fixes #5806 , bcause it avoids rescheduling at the signal, which it should
not do. Possibly this is incorrect for all GE signals, but we don't need
to trigger any behavior on a sync anyway.
2014-04-08 22:20:33 -07:00
Unknown W. Brackets
8a440f93b1
Super stupid typo.
2014-04-05 14:08:44 -07:00
Unknown W. Brackets
82df1b1fa8
Simplify UpdatePC() a bit more.
2014-04-05 12:04:10 -07:00
Unknown W. Brackets
cbb6c01d4c
Avoid some debug stats when disabled.
...
This function can get called a lot sometimes, and an if helps on ARM a
little.
2014-04-05 01:41:54 -07:00
Unknown W. Brackets
7cde2311e0
Include sceKernelThread.h in less headers.
2014-03-29 17:02:41 -07:00
Unknown W. Brackets
a4327702f1
Reduce some includes under GPU/.
2014-03-29 16:51:38 -07:00
Unknown W. Brackets
4fbb245382
Avoid leaving the fast runloop on jumps.
...
Jumps are actually very common in some games, like FF4 and Crisis Core,
and tons more. They are used to jump around vertex data.
Improves performance by a few percent in FF4.
2014-03-05 23:24:18 -08:00
Henrik Rydgard
e11e4cfff2
GCC buildfix
2014-03-04 11:38:33 +01:00
Unknown W. Brackets
0a880b09ad
Allow fast bone mtx loads w/o software skinning.
2014-03-02 18:12:40 -08:00
Henrik Rydgård
db59559a92
Reduce the "Ret: Stack Empty" log level to DEBUG.
...
Still reporting. Avoids logspam in buggy games.
2014-02-25 21:23:21 +07:00
Unknown W. Brackets
183b4cb45c
Add a static method for creating PSPPointers.
...
This is still kinda ugly, but the assignment thing was just too ugly, I
couldn't do it anymore.
2013-12-16 23:50:52 -08:00
Unknown W. Brackets
435115441d
Reinitialize the GE on sceKernelLoadExec().
...
Mostly, reset the lists and draw completion, etc.
May be required for Capcom Classic Collection Reloaded to work.
2013-11-28 15:35:12 -08:00
Henrik Rydgard
dc03796ccb
The bone matrix optimization is only safe when software skinning
2013-11-14 15:02:22 +01:00
Henrik Rydgard
8c562a615f
Bone matrix loading speedup. Bit of a hack but seems reliable enough.
2013-11-14 14:02:31 +01:00
Unknown W. Brackets
1633aa689c
Remove the extra process queues hack.
...
It seems like it's not helping anymore so it could be hurting.
2013-11-09 23:08:44 -08:00
Sacha
2c74693f6c
VSync codepath only works on _WIN32 so only show it and check it there.
2013-10-27 23:09:46 +10:00
Sacha
4972e7b680
EnqueueList: Relocate code that depends on compatibility check to simplify the code
2013-10-27 03:49:46 +10:00
Unknown W. Brackets
afb578a325
Use the newer interface for Qt's gpu debugging.
2013-10-20 00:14:39 -07:00
raven02
acb9c49ea2
Try to use a smaller value for cyclesExecuted
2013-10-12 16:20:27 +08:00
raven02
2cdb2d1e1f
Extra cycles execute .Fix #3979 & #3883
2013-10-09 19:45:28 +08:00
Henrik Rydgard
fc8aa7bd8f
Crashfix dumping display lists that start at the start of VRAM (seems to hit this in GTA).
...
Add a couple of comments.
2013-10-07 22:58:46 +02:00
Henrik Rydgård
8f7a9656c8
Merge pull request #4062 from unknownbrackets/debugger
...
Show tabs for depth/stencil in ge debugger, other improvements
2013-10-06 23:59:54 -07:00
Unknown W. Brackets
ff0e9cf32d
Make it possible to flip flags in the ge debugger.
2013-10-06 22:17:56 -07:00
Unknown W. Brackets
0c03dc2dec
Handle it better when viewing an invalid addr.
2013-10-06 22:17:52 -07:00
Unknown W. Brackets
a09119ba04
Correct savestates when dls had context saving.
...
It was wrong, and also they were different between 64/32 bit.
2013-10-06 22:10:44 -07:00
Unknown W. Brackets
74908f6b38
Add errors and rescheduling to sceDmac*.
...
The functionality seems pretty straight-forward.
2013-09-29 16:51:49 -07:00
Henrik Rydgard
424b4cbd5f
Move GE_CMD_BJUMP to GPUCommon. Add the flag. (no actual bbox impl yet)
2013-09-24 14:14:04 +02:00
Unknown W. Brackets
bdfc8bf4b3
Mark texture as maybe changed when running lists.
2013-09-23 23:17:56 -07:00
Unknown W. Brackets
4c3b3484d7
Actually apply the restored gstate.
2013-09-23 23:17:36 -07:00
Unknown W. Brackets
3787471791
Add some initial methods to GPUDebugInterface.
2013-09-22 10:22:33 -07:00
Unknown W. Brackets
eabd8b5302
Add GPU debugging hooks to Host, not yet in use.
2013-09-22 08:14:55 -07:00
Unknown W. Brackets
2e2fa53201
Preseve offsetAddr on stall, instead of reset to 0.
...
Only for new lists is it reset to 0, afaict.
2013-09-21 21:01:41 -07:00
Unknown W. Brackets
881cefbc83
A paused list will allow a context save.
...
Just not stall, drawing, etc.
2013-09-21 21:01:41 -07:00
Unknown W. Brackets
e10ae1530b
Error and reporting for sceGeBreak's second param.
2013-09-21 21:01:40 -07:00
Unknown W. Brackets
e9db63f61d
Refuse to dequeue a running/completed list.
2013-09-21 15:03:30 -07:00
Unknown W. Brackets
c5a709d039
Don't update stall address on completed lists.
2013-09-21 15:03:30 -07:00
Unknown W. Brackets
e7bd716c71
Allocate ge list ids using round robin.
...
Even if you enqueue and then dequeue 0, you don't get it again right away.
2013-09-21 15:03:29 -07:00
Unknown W. Brackets
863eb83e4c
Add support for sceGeGetStack() for debugging.
2013-09-21 10:04:31 -07:00
Unknown W. Brackets
3c954ea0e4
Save the base address in signal calls.
...
It's not saved in regular calls but it is in signal ones.
2013-09-21 00:07:49 -07:00
Unknown W. Brackets
9116b879a4
Restore context even without an interrupt.
2013-09-20 21:03:39 -07:00
Unknown W. Brackets
4078dcd917
Support save/restore of context on list run/finish.
2013-09-20 09:51:44 -07:00
Unknown W. Brackets
bd70d04930
Include GE_CMD_PATCHFACING just in case.
2013-09-20 00:45:48 -07:00
Unknown W. Brackets
50e9e45d65
Check version in each DoState() func.
...
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Unknown W. Brackets
8ae6694e1d
Use a waiting thread list in sceGe as well.
2013-09-08 11:57:44 -07:00
Unknown W. Brackets
08b41df6a2
Change a few more log types.
2013-09-07 13:31:14 -07:00
Unknown W. Brackets
8998a1b303
Don't trash a list the GE interrupt handler needs.
...
Even after it's marked COMPLETED, the CPU needs it to start and finish the
interrupt. Fixes #2956 , where an existing completed list was not having
its interrupt run correctly.
2013-09-01 12:39:45 -07:00
Unknown W. Brackets
dc9b5156d9
Cleanup comment (broke savestates anyway.)
2013-09-01 00:52:25 -07:00
Unknown W. Brackets
15a0f39fa1
Return yet more errors while inside interrupts.
2013-08-28 23:15:13 -07:00
Unknown W. Brackets
211c2bd955
Refuse a few more waits w/ dispatch/intr disabled.
2013-08-28 22:35:05 -07:00
The Dax
4d9eb24f29
Fix hang in Project Diva 2nd in single-threaded mode. Doesn't seem to affect other games, but I don't have every game in existence, so there could be one or two out there that might break from this.
2013-08-24 21:13:34 -04:00
Unknown W. Brackets
8dbcf6572e
Add some additional reporting.
2013-08-24 11:34:38 -07:00
Henrik Rydgard
520453a5bd
Fix gpu cycle call level counting, of course halving the numbers I mentioned in the previous commit comment.
2013-08-23 11:42:15 +02:00
Henrik Rydgard
dfb91d4532
Track number of GPU commands executed per call level.
...
This is to get an idea if it would be beneficial to compile and cache display lists. Looks like it would be for some games, for example in GTA it's often 20k/80k/20k commands per frame - that is 100k executed commands per frame that could potentially just be executed instead of interpreted. Likewise in Wipeout. Of course, this means yet another cache with invalidation issues etc..
2013-08-23 11:29:55 +02:00
Unknown W. Brackets
1ed8edb0d3
Avoid some dangerous hex constant widths.
2013-08-22 23:23:48 -07:00
raven02
e68ddf671c
Temporary fix issue #3167 in non-multithread mode #2
2013-08-15 03:44:20 +08:00
Unknown W. Brackets
49ab98c7fd
Use atomic operations on Android + warning fixes.
2013-08-12 08:51:49 -07:00
Unknown W. Brackets
cf7c718706
Use a timer to keep gpu/cpu in sync periodically.
...
Fixes Diva Extend demo, at least, losing FPS.
2013-08-11 13:41:42 -07:00
Unknown W. Brackets
e0f699fd5f
Use a possibly harmless hack to prevent hangs.
...
Not sure where the problem is, but this fixes it pretty consistently for
me... seems like lists are somehow not being processed after becoming
processable?
2013-08-10 20:03:43 -07:00
Unknown W. Brackets
26c072df51
Don't wait directly from GPUCommon, do it in sceGe.
...
Makes debugging a bit easier.
2013-08-10 18:24:40 -07:00
Unknown W. Brackets
55c07bdc73
Avoid a possible thread sync issue.
...
Could be that it's about to wake listsync, does, and then we wait.
2013-08-10 17:18:31 -07:00
Unknown W. Brackets
abc396cbe1
Sync the GPU thread on list/draw sync.
...
Otherwise, the CPU gets ahead (inside the frame) and games get confused.
I don't think there's any good workaround to avoid this.
2013-08-10 15:16:49 -07:00
Unknown W. Brackets
450e4c7fea
Factor out event queue logic to a template mixin.
2013-08-10 03:33:09 -07:00
Unknown W. Brackets
a80a7690c8
Fix SyncThread() not syncing during last event.
2013-08-09 23:18:37 -07:00
Unknown W. Brackets
e82bae3708
Simplify easy_guard to avoid coding errors.
2013-08-09 22:57:53 -07:00