Commit graph

634 commits

Author SHA1 Message Date
Henrik Rydgård
c7f8f4c5ca Unify Execute_Prim 2018-02-26 11:22:27 +01:00
Unknown W. Brackets
544344f505 GPU: Improve some bezier logging.
Meant to do this when splines were changed.
2018-01-07 21:06:03 -08:00
Unknown W. Brackets
b94ca6e75e Vulkan: Use depth clamping, where available.
This fixes, for example, Shadow of Destiny, even without the hack.
2017-12-26 16:54:39 -08:00
Unknown W. Brackets
496b2bff35 Vulkan: Fix fragment depth rounding.
Was slightly off in the accurate depth path.
2017-12-26 16:19:11 -08:00
Unknown W. Brackets
93a712660c GPU: Avoid memory corruption on bone matrix > 96.
See #9574.  Seen in Zill O'll Infinite, thanks to Kitsu-neechan for
tracking this down.
2017-12-26 01:09:23 -08:00
Henrik Rydgård
fb74c9dfeb Clean up a small inconsistency 2017-12-07 21:09:09 +01:00
Henrik Rydgård
6eb8630526 Improve reporting for imm buffer exceeded. Reset the immCount_ every frame to avoid getting "stuck" permanently in case some garbage is executed.. 2017-12-01 20:01:13 +01:00
Unknown W. Brackets
a0e4b6ad0b Reporting: Improve bezier/spline morph/skin data.
Most of these are probably garbage?
2017-12-01 09:50:31 -08:00
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