Commit Graph
573 Commits
Author SHA1 Message Date
Unknown W. Brackets 9859827645 Vulkan: Avoid depth clamp with clip range.
Vulkan clamps to the clip range, not the full range.  So when clipping, we
don't really want to clamp at all.  Unfortunately, when one side is
clipping, we can't do it exactly right.

But many games clip depth, like Dissidia.  Fixes #11260.
2018-09-17 21:43:29 -07:00
Unknown W. Brackets ab3a466621 GLES: Implement vertex range culling.
Based on tests, skips triangles with any point outside the 4096x4096 box,
except when depth clamping would engage.
2018-09-17 07:27:26 -07:00
Unknown W. Brackets a4c0640f01 GE Debugger: Factor out host calls some.
Moving more of this to cross platform for the web debugger.
2018-09-01 08:32:03 -07:00
Unknown W. Brackets 6ee0612a10 Ge: Keep jump/call optim when fast memory on.
This gives a way to validate with fast memory off, and get less crashes.
2018-08-25 10:38:56 -07:00
Unknown W. Brackets d13f76308d Ge: Avoid executing invalid pointers.
May help #3407 and related errors, as well as crashes and execution of
garbage.  This stops immediately on a bad pointer, rather than trying to
push through.
2018-08-25 10:32:32 -07:00
weihuoya 7383e90c19 handle cullface, help to #10597 2018-08-23 12:46:09 +08:00
Unknown W. Brackets c32ffa1db0 GE Debugger: Rename depth clamp more places.
Was still showing clip enable in disasm.
2018-08-11 16:33:39 -07:00
Henrik Rydgård ea1ef9277c Reduce the estimated transform cost of an additional light from 10 to 7 cycles, see #5530. 2018-07-15 12:13:25 +02:00
Unknown W. Brackets 2a13a66e18 GPU: Use hw tess only for hw transform.
This may be needed if we start using software for points/lines.
2018-06-28 19:47:33 -07:00
Henrik RydgårdandGitHub e98ea812f6 Merge pull request #10973 from weihuoya/cullmode
handle cull mode by indices, refer to issue #10172
2018-06-10 20:53:18 +02:00
Unknown W. Brackets 395ac32d63 Debugger: Run memory breakpoints on mobile. 2018-06-06 17:31:56 -07:00
Unknown W. Brackets 5b62c8afb8 D3D9: Implement flat shading via state. 2018-06-06 05:53:50 -07:00
zhang wei 51388ded22 cullmode fallback 2018-04-28 14:59:12 +08:00
zhang wei 3419197ee9 flush back cull mode 2018-04-27 21:49:43 +08:00
zhang wei cfc353ee81 handle cull mode by indices, improve performance for GVGNP, refer to #10172 2018-04-27 16:33:35 +08:00
Henrik Rydgård 69bd427ca2 Shader depal: Implement bilinear filtering. 2018-04-13 14:19:05 +02:00
Henrik Rydgård 23052b5a6b Buildfix. 2018-04-10 16:28:06 +02:00
Henrik Rydgård 02ea4b5efa Inner interpreter safety check - in hw skinning mode, we need to flush if any part of the vertex format changes. 2018-04-10 14:37:32 +02:00
Henrik Rydgård 36fd2711d6 Revert "Remove further remains of hardware skinning."
This reverts commit 40db61a680.
2018-04-10 12:22:41 +02:00
Henrik Rydgård 7de3edb46c Revert "Remove gstate_c.deferredVertTypeDirty"
This reverts commit fcdb816235.
2018-04-10 12:22:41 +02:00
Henrik Rydgård 0843e2cb98 Fix updating light constants when light type changes (we handle dir/pos lights differently). Fixes #10132 2018-03-25 00:21:03 +01:00
Unknown W. Brackets 1b8297de31 GPU: Count clears during frameskip.
This allows the GoW hack to still work during frameskip.
Fixes #10668.
2018-03-24 10:58:24 -07:00
Henrik Rydgård ad42ec5473 Inner interpreter: Add support for the Gran Turismo hack. 2018-03-17 23:57:50 +01:00
Henrik Rydgård 50de13d3d7 Optimize the "inner interpreter" for God of War character drawing. Speeds the games up by 4% or so.
(measured on the title screen though..)
2018-03-05 12:50:51 +01:00
Henrik Rydgård 4cf5999bc8 Move the vertTypeID calculation out of DrawEngine. Need to shorten SubmitPrim as much as possible. 2018-03-05 12:28:10 +01:00
Henrik Rydgård fcdb816235 Remove gstate_c.deferredVertTypeDirty 2018-03-05 00:03:47 +01:00
Henrik Rydgård 40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01:00
Henrik Rydgård 978f8e73e5 Remove checks that disabled software skinning if there was morph. 2018-03-05 00:03:47 +01:00
Henrik Rydgård d3665a8482 Minor cleanup 2018-03-05 00:03:47 +01:00
Henrik Rydgård b74634aa3b Turn off the inner interpreter when stepping in the GE debugger. Fix comment. 2018-03-02 07:06:58 +01:00
Henrik Rydgård 4130bcd416 inner interpreter: support skipping regular nops 2018-03-01 09:38:06 +01:00
Henrik Rydgård ef3341e34f Don't use the inner interpreter when debug recording 2018-02-28 09:18:53 +01:00
Henrik Rydgård 292f116821 Execute_Prim: Add a smaller "inner interpreter" to avoid going back to the runloop during long sequences of PRIM commands.
Helps performance by a quite measurable 1-4% in several PRIM-heavy games.
2018-02-28 09:18:41 +01:00
Henrik Rydgård 0b4b2bfe9c Avoid the most common virtual call when possible. 2018-02-26 13:51:14 +01:00
Henrik Rydgård 64ec46e705 Unify FramebufferDirty()/FramebufferReallyDirty() for the hw backends 2018-02-26 11:58:17 +01:00
Henrik Rydgård 78467d6092 Unify FastRunLoop for the hardware backends. 2018-02-26 11:52:16 +01:00
Henrik Rydgård 6a2f45c2e1 Unify UpdateCmdInfo 2018-02-26 11:48:56 +01:00
Henrik Rydgård 8cef1f0f8d GPU: Unify command table (cmdInfo_) 2018-02-26 11:44:02 +01:00
Henrik Rydgård 967018b7f8 Unify Execute_LoadClut 2018-02-26 11:32:02 +01:00
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