Commit graph

142 commits

Author SHA1 Message Date
Unknown W. Brackets
cd6b1f73c1 SoftGPU: Drop verts only when depth not clamped.
Depth clamping bypasses the 4096x4096 box check.
2018-08-05 17:17:55 -07:00
Unknown W. Brackets
77f0499f7f GPU: Rename clipping flag to depth clamp.
It seems to just to depth clamp.  When depth clamp happens, it affects
clipping a little, but only for vertices that needed clamping.
2018-08-05 17:11:51 -07: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
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
40db61a680 Remove further remains of hardware skinning. Fixes #10661 2018-03-05 00:03:47 +01: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
a6f56769a8 SoftGPU: Avoid some compile warnings.
Remove some no-longer used funcs, add some switch default logs.
2017-06-06 19:49:42 -07:00
Henrik Rydgård
8f9e0b7fcc SoftGPU: Make sure transformunit.buf is properly aligned. Helps part of #9718 2017-05-24 10:20:10 +02:00
Unknown W. Brackets
8187927b9d SoftGPU: Use vertexjit for submitted primitives.
This uses the standard cache other rendering uses.

In Legend of Heroes 3, for example, this provides a 10% speed improvement.
2017-05-20 20:22:35 -07:00
Henrik Rydgård
d13fdfbf37 Merge pull request #9683 from unknownbrackets/ge-debugger
Minor GE debugger fixes
2017-05-15 00:02:19 +02:00
Unknown W. Brackets
94c138fd83 SoftGPU: Fix texture vertex preview in debugger. 2017-05-14 14:56:23 -07:00
Unknown W. Brackets
01076dd959 SoftGPU: Don't wrap negative positions.
Haven't fully verified this, but without this, Gods Eater Burst's bloom
doesn't work, since -1,-1 maps to 1023,1023 so everything is clipped.
2017-05-13 17:28:38 -07:00
Unknown W. Brackets
b2d3058386 SoftGPU: Correct fog for rectangles.
Gods Eater Burst uses fog in its bloom, with rectangles.
2017-05-13 17:27:34 -07:00
Unknown W. Brackets
1a56466865 SoftGPU: Match GLES lighting better, use floats.
Using floats simplifies things and also makes it faster.
2017-05-13 12:54:18 -07:00
Unknown W. Brackets
37a4d1308f SoftGPU: Round screencoords.
It seems like this is what the PSP does, or maybe this is just correcting
for floating point error...
2017-05-08 06:50:25 -07:00
Unknown W. Brackets
4f6b9c1fd2 Arg, gcc buildfix. 2017-04-29 23:53:22 -07:00
Unknown W. Brackets
1666586869 SoftGPU: Implement CONTINUE prim type.
Matches tests (except 3D lines, which aren't implemented yet.)
2017-04-29 20:36:36 -07:00
Unknown W. Brackets
1e78642a7b SoftGPU: Remove old spline handling code. 2017-04-15 21:10:19 -07:00
Unknown W. Brackets
ede9025447 SoftGPU: Simplify index conversion. 2017-04-15 21:01:17 -07:00
Unknown W. Brackets
65439b8e96 SoftGPU: Fix indices starting after 0.
We decode to 0, so we need to offset.
2017-04-15 20:49:49 -07:00
Unknown W. Brackets
dfed20701a SoftGPU: Correct negative coord handling.
Fixes #5159 - we need this signed to handle negative values properly.
2017-04-15 19:52:17 -07:00
Henrik Rydgard
03dab0fdbd More UWP prep 2017-02-25 09:57:22 +01:00
Henrik Rydgard
1dbeca0618 Only support decoding UV to float in vertex formats. Supporting u8 and 16 was more complexity than it's worth. 2016-12-20 13:42:54 +01:00
Unknown W. Brackets
1e0051a792 Add support for 32-bit indices.
Not clear how often these are used by games.  Let's find out.
2016-04-10 02:24:58 -07:00
Henrik Rydgard
d85dce0c21 Add limited support for newly discovered 32-bit index buffer format (by unknownbrackets)
See https://github.com/hrydgard/pspautotests/pull/184

Will truncate indices past 65536.
2016-04-10 11:03:07 +02:00
Henrik Rydgard
7cb6192005 Rename the TransformPipeline files to DrawEngine, and GLES_GPU to GPU_GLES 2016-04-10 10:31:42 +02:00
Henrik Rydgard
1e8a1b801f Rename viewportX1/X2 etc to scale + center, which is what they actually are. 2015-08-26 15:24:35 +02:00
Henrik Rydgard
29fc9e81a4 Use the gstate.getViewport* accessors. 2015-08-26 15:24:35 +02:00
Henrik Rydgard
38a31fbd8b Get rid of more uses of gstate from SplineCommon 2015-07-29 12:04:52 +02:00
Henrik Rydgard
8ec48507f1 Software rasterizer: Fix skinning transforms 2015-06-11 17:00:44 +02:00
Henrik Rydgard
842817c91d Add fog support to software rasterizer (as if it wasn't slow enough already) 2015-06-11 16:01:17 +02:00
Henrik Rydgard
7e2f37abc1 Update native with profiler fix. Profile the SW rast a little. 2015-06-11 12:44:45 +02:00
Unknown W. Brackets
29e6197e6f Floor float z coords in throughmode.
Fixes #6766 in 32-bit mode only.
2015-02-22 21:04:48 -08:00
Henrik Rydgard
07c7687052 More code deduplication. Also normalized some line endings. 2014-09-18 00:45:11 +02:00
Henrik Rydgard
37e3cf362f Move vertexdecoder files into GPU/Common 2014-09-12 02:00:32 +02:00
Henrik Rydgard
7cf05e44a2 Add option to vertexdecoder to expand UVs to floats 2014-09-12 02:00:31 +02:00
Unknown W. Brackets
c6c48aef42 softgpu: Align spline patches, keep buffer.
Fixes misalignment warning on 32-bit.
2014-06-15 09:00:49 -07:00
chinhodado
aae9d43e7d remove some redundant brackets 2014-02-22 23:26:20 -05:00
Unknown W. Brackets
e7eca477b0 Add a tab to show vertex values to the GE debugger.
Should be pretty useful, especially for depth issues.
2014-02-08 22:03:29 -08:00
Unknown W. Brackets
b95f9cf9d1 softgpu: Don't call rectangles quads.
GLES has quads and they work pretty differently.
2014-01-18 16:39:07 -08:00
Tony Wasserka
4c720ee375 softgpu: Fix typo in TransformUnit. 2014-01-02 02:10:12 +01:00
Unknown W. Brackets
473fb866e6 softgpu: Implement vertex preview.
And move ConvertMatrix4x3To4x4() into a common place since there were
differing implementations, which was only confusing.
2013-12-29 13:45:10 -08:00
Unknown W. Brackets
25bc394284 Ignore the material update flag w/o vertex color.
Instead of using materialambient for all of them.

Fixes #3918, and seems to match tests with 3dstudio.
2013-12-29 12:57:30 -08:00
Henrik Rydgård
68b08ffb9f SoftGPU: Quick and dirty lines and points implementation
No line/point texturing support yet.
2013-12-09 12:43:49 +01:00
Unknown W. Brackets
d227b13f36 softgpu: Advance vertex/index address on prim.
Fixes some broken graphics in a lot of places.
2013-11-20 21:59:45 -08:00
Unknown W. Brackets
dfadb67ea1 Avoid some operator overloads.
Causing ambiguity.
2013-11-17 14:42:58 -08:00
Unknown W. Brackets
eabd8b5302 Add GPU debugging hooks to Host, not yet in use. 2013-09-22 08:14:55 -07:00
Henrik Rydgard
82e5787bbe Preparation for proper spline/bez: Convert control points to a simple format.
The bezier/spline code will no longer need to handle morph and splines,
when it's finally written. This is done by pre-skinning in software and
pre-decoding to get rid of the morph.
2013-09-21 23:37:14 +02:00
Unknown W. Brackets
26f935bbe5 Bypass vertex decoder z scaling.
Everything is compared against the u16 value.  This should be correct for
throughmode at least.
2013-09-14 15:48:11 -07:00
Unknown W. Brackets
7b2dea4429 Use accessors for offsetx/y. 2013-09-14 11:06:48 -07:00