Commit graph

634 commits

Author SHA1 Message Date
Unknown W. Brackets
1f898e3b70 GPU: Correctly flush on cull mode change.
Fixes #11593 and fixes #11591.
2018-11-25 16:56:39 -08:00
Henrik Rydgård
4942c52f73
Merge pull request #11172 from weihuoya/cullface
handle cullface, help to #10597
2018-11-23 09:56:17 +01:00
Unknown W. Brackets
6cba46bd62 GE Debugger: Fix handling for framebuf changes. 2018-11-17 08:56:32 -08:00
Unknown W. Brackets
d245e002c7 GE Debugger: Record block transfer too. 2018-11-17 08:55:54 -08:00
xebra
04708fe88a [spline/bezier]Unify SubmitSpline/Bezier. 2018-11-13 18:22:34 +09:00
Unknown W. Brackets
4996084665 GPU: Dirty frag shader on depth write.
We use this flag to determine whether we use discard, so it changes shader
ids.  Fixes the layering part of #11535.
2018-11-06 21:16:51 -08:00
xebra
405ead8d41 [spline/bezier]Get rid of duplication call of Flush(). 2018-10-07 23:54:28 +09:00
xebra
8ad38dfaae [spline/bezier]oops 2018-10-07 23:54:25 +09:00
xebra
d4a667397c [spline/bezier]Improve shader uniforms a bit. 2018-10-07 23:54:10 +09:00
xebra
3c0fb44f2e [spline/bezier]Improve hwtess to use cached weights. 2018-10-07 23:54:05 +09:00
Unknown W. Brackets
67058495f5 GPU: Dirty more correctly for cullrange params.
Was previously missing some settings which might convince us to use large
viewports, and more importantly some that would impact the depth settings
under certain settings.
2018-09-21 21:55:11 -07:00
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ård
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