Commit graph

43 commits

Author SHA1 Message Date
Unknown W. Brackets
18f2a45a6a softgpu: Allow binning across prim calls. 2022-01-16 00:49:49 -08:00
Unknown W. Brackets
6896a7a64e softgpu: Use cached state for screen offset. 2022-01-15 18:20:25 -08:00
Unknown W. Brackets
02c5559393 softgpu: Remove z from DrawingCoords.
It's not really used much of anywhere, anyway.
2022-01-15 15:38:56 -08:00
Unknown W. Brackets
f091225572 softgpu: Stop storing model pos.
We don't even use this anywhere else.  Also skip needless Lerp on clip.
2022-01-14 20:36:09 -08:00
Unknown W. Brackets
d6a8cb2a0e softgpu: Stop storing normal/worldnormal/worldpos.
This is only needed for lighting, which is applied right away.

This improves perf just simply from less data being copied.
2022-01-14 20:32:18 -08:00
Unknown W. Brackets
5bb6245b1f softgpu: Fix leaked range flag on cull.
Fixes some backgrounds in Final Fantasy 4, probably others.
2021-11-14 08:43:52 -08:00
Unknown W. Brackets
ac60e2ecd4 GPU: Track HW tess at start of frame too.
This also makes it so we don't force the setting off when you change
backends, and just ignore it if unsupported.
2020-04-04 11:52:32 -07:00
Unknown W. Brackets
8a7ec4fc19 GPU: Fix curve breakage due to cull flipping. 2018-12-16 13:00:36 -08: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
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
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
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
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
c6c48aef42 softgpu: Align spline patches, keep buffer.
Fixes misalignment warning on 32-bit.
2014-06-15 09:00:49 -07:00
Henrik Rydgård
e5e17fbc6e More include cleanup. Hoping for very slightly faster compile times.. 2013-12-30 10:49:05 +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
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
c141e94fe9 Use gstate.* accessors in a few more places. 2013-08-24 11:34:35 -07:00
Henrik Rydgard
9f3848b49c swrast warning fixes 2013-08-17 12:37:47 +02:00
Tony Wasserka
74eafcab1a softgpu: Process rasterization in screen space, rather than drawing space. 2013-08-16 23:49:15 +02:00
Tony Wasserka
11a94e1d14 softgpu: Implement spline surface drawing (without patch subdivision). 2013-08-16 23:49:13 +02:00
Tony Wasserka
d2f30961af softgpu: Make perspective correct uv mapping code more readable and implement projection mapping. 2013-08-16 23:49:12 +02:00
Tony Wasserka
26d80c16fe softgpu/TransformPipeline: Clean up VertexData::Lerp by using Math3D effectively. 2013-08-16 23:49:04 +02:00
Tony Wasserka
b0d3848dc7 softgpu: Don't draw pixels which lie on the right side of a triangle. 2013-08-16 23:49:04 +02:00
Tony Wasserka
00b7fbd19e softgpu: Implement depth testing. 2013-08-16 23:49:01 +02:00
Tony Wasserka
72a71702a5 softgpu: Storing view coordinates in VertexData is not necessary anymore. 2013-08-16 23:49:01 +02:00
Tony Wasserka
41e2005ad0 softgpu: Fix various bugs.
Using model transformed normals for light calculations now.
Disabling textures if texture mapping isn't enabled now.
Forced target alpha to be written as 0xFF to workaround broken buffer management.
2013-08-16 23:48:59 +02:00
Tony Wasserka
6c1b4ba32b softgpu: Implement specular lighting. 2013-08-16 23:48:59 +02:00
Tony Wasserka
b42b30e795 softgpu: Store color values as integers instead of as floating points. 2013-08-16 23:48:58 +02:00
Tony Wasserka
7fdce30199 softgpu: Implement diffuse lighting. 2013-08-16 23:48:58 +02:00
Tony Wasserka
288de895db softgpu: Support indexed rendering. 2013-08-16 23:48:58 +02:00
Tony Wasserka
bfd9266b51 softgpu: Add support for ambient lighting. 2013-08-16 23:48:58 +02:00
Tony Wasserka
0c6a4c1bb6 softgpu: Working rectangle support. Through mode support. Clear mode support. Vertex color support. 2013-08-16 23:48:56 +02:00
Tony Wasserka
608fd34b4d softgpu: Implement almost working polygon clipping and fix some bugs. 2013-08-16 23:48:55 +02:00
Tony Wasserka
7899a9b9c9 softgpu: Texture coordinate support and something like ARGB4444 texture support. 2013-08-16 23:48:55 +02:00
Tony Wasserka
adbe80c290 softgpu: Move around some code to keep SoftGpu.cpp clean. 2013-08-16 23:48:54 +02:00
Tony Wasserka
40cdabeb7d softgpu: Add vertex position transformation code. Seems to be doing something, even though it's not the right thing :/ 2013-08-16 23:48:53 +02:00
Tony Wasserka
91ad30c287 softgpu/TransformUnit: Implement remaining coordinate system transformations. 2013-08-16 23:48:53 +02:00
Tony Wasserka
1430ca3e73 softgpu: Add transform pipeline functionality. 2013-08-16 23:48:52 +02:00