Commit graph

291 commits

Author SHA1 Message Date
Unknown W. Brackets
f1dfb25427 softgpu: Correct clear/solid rect BR corner.
The scissor is inclusive, not exclusive.
2020-03-09 18:57:55 -07:00
Henrik Rydgård
54823a87cc Oops 2019-10-28 13:13:52 +01:00
Henrik Rydgård
970adfbcc9 Isolate most of the softgpu specialization code to RasterizerRectangle.
See comments.
2019-10-28 09:33:30 +01:00
Henrik Rydgård
1966c8fe75 Fix a backwards check 2019-10-27 20:55:32 +01:00
Henrik Rydgård
102a70b4a5 Scissor fix 2019-10-27 20:55:32 +01:00
Henrik Rydgård
a84f4a0caa Even more speed. 2019-10-27 20:55:32 +01:00
Henrik Rydgård
eb53609cb0 More speed 2019-10-27 20:55:32 +01:00
Henrik Rydgård
bbbd7f8acc Buildfix 2019-10-27 20:55:32 +01:00
Henrik Rydgård
714f83f614 Further specialization. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
290e9971a7 More specialization work. 2019-10-27 20:54:36 +01:00
Henrik Rydgård
2dd7a9aa12 More darkstalkers work 2019-10-27 20:54:36 +01:00
Henrik Rydgård
c7f6724f7e Detect sprite drawing (1:1 texture mapping), run a simpler function without the triangle state tracking.
This will allow further simplification and specialization.
2019-10-27 20:54:36 +01:00
Unknown W. Brackets
7412e13767 SoftGPU: Implement dithering.
Note: it applies even in 8888, so it can be used as a slight brightness
adjustment.
2019-05-26 09:52:34 -07:00
Unknown W. Brackets
0b48c6d066 SoftGPU: Apply color doubling only to RGB.
Broken in #11379 - accidentally applied to the alpha value.  See #11901
for an example where this caused issues with blending.
2019-03-16 19:40:33 -07:00
Unknown W. Brackets
0f880696be SoftGPU: Respect stencil write mask on test fail. 2018-12-16 13:13:54 -08:00
Unknown W. Brackets
3c5455f85b SoftGPU: Calculate texcoords in transform.
No need to do it in rasterization, and should be faster to do it on the
verts, anyway.  This fixes the software issue of #11595, presumably
because of the w handling.
2018-11-25 19:19:11 -08:00
Unknown W. Brackets
e664e1c1dd SoftGPU: Oops, properly apply pixel mask in 16-bit. 2018-11-23 07:57:39 -08:00
Unknown W. Brackets
10fa20cb06 SoftGPU: Fix pixel mask on rectangle clear.
Oops, had inverted it.  This caused it to improperly clear when masked.
2018-11-19 06:15:55 -08:00
Unknown W. Brackets
022670d882 GPU: Apply fog before color test.
Hardware tests confirm the fog result is what's color tested.
2018-09-09 23:59:48 -07:00
Unknown W. Brackets
703181607e GPU: Apply color test after doubling. 2018-09-09 20:09:48 -07:00
Unknown W. Brackets
8cdead90f9 SoftGPU: Preserve stencil inside logic op func.
Cleaning things up to make it easier to translate.
2018-09-09 18:11:37 -07:00
Unknown W. Brackets
772ed30288 SoftGPU: Avoid extra lookup of old stencil. 2018-09-09 17:00:12 -07:00
Unknown W. Brackets
2388be544f Debugger: Fix crash in softgpu with no texaddr yet. 2018-09-04 21:54:25 -07:00
Unknown W. Brackets
44b90f638d SoftGPU: Apply pixel mask for clears.
Turns out it's respected even in clear mode.

Also, confirm logic op and blending interact.
2018-08-24 20:55:49 -07:00
Unknown W. Brackets
e2c217ab29 Core: More consistently use config enums. 2018-06-23 10:59:18 -07:00
Unknown W. Brackets
d99685cd96 SoftGPU: Oops, fix silly typo. 2017-11-12 23:07:37 -08:00
Unknown W. Brackets
ed34cf06b8 SoftGPU: Add a clear mode fast path.
This skips a lot of extra work for clears, which are pretty common.
2017-11-11 21:04:32 -08:00
Unknown W. Brackets
176283c3f1 SoftGPU: Thread by width for wide polygons.
This improves performance a little in some areas.
2017-11-11 18:16:55 -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
Unknown W. Brackets
cb3db559bd SoftGPU: Jit the linear sampling too.
For now, just reducing overhead.  Could be smarter.
2017-05-30 22:57:46 -07:00
Unknown W. Brackets
1b491fe156 SoftGPU: Stub a jit for texel fetch. 2017-05-30 22:57:30 -07:00
Unknown W. Brackets
d5426e4360 SoftGPU: Move sampler code to a dedicated file. 2017-05-30 22:53:23 -07:00
Unknown W. Brackets
34fe95192f GPU: Cleanup some gstate accesses. 2017-05-26 19:03:04 -07:00
Unknown W. Brackets
402eb143f7 SoftGPU: Stop calling bufw pixels bytes.
This was never even bits, it was just 8 * pixels before.
2017-05-26 19:03:03 -07:00
Unknown W. Brackets
697466ae41 SoftGPU: Support UVGen for points and lines.
Probably not used by any real games, but better to be safe in the software
renderer.
2017-05-26 19:03:02 -07:00
Unknown W. Brackets
f7a14889d3 SoftGPU: Correct mipmaps for points.
Not likely to be used, but let's make const work.
2017-05-26 18:02:55 -07:00
Henrik Rydgård
1b05a54800 Remove the Mipmap setting. One step forward for #8171 2017-05-26 10:21:20 +02: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
Henrik Rydgård
ad64325876 Merge pull request #9684 from unknownbrackets/softgpu-lines
Fix lines in the software renderer
2017-05-15 08:53:46 +02:00
Unknown W. Brackets
672ce51a2a SoftGPU: Implement pretend antialias.
This doesn't really smooth, but at the very least faking it makes Persona
3 have less ugly lines.
2017-05-14 16:11:02 -07:00
Unknown W. Brackets
5c9d223e32 SoftGPU: Implement simple mipmapping for lines.
Mostly so the min/mag filter is correct.
2017-05-14 16:11:01 -07:00
Unknown W. Brackets
a95170d789 SoftGPU: Bias bottom right side of line drawing.
Fixes lines in Persona 2.
2017-05-14 16:11:01 -07:00
Unknown W. Brackets
a26aaec528 SoftGPU: Support flat shading for lines. 2017-05-14 16:11:00 -07:00
Unknown W. Brackets
e4f2ff1464 SoftGPU: Implement lines in transform mode. 2017-05-14 16:10:59 -07:00
Unknown W. Brackets
ad17decf5c SoftGPU: Quick hack to fix scissor w/2x2 pixels. 2017-05-14 16:02:27 -07:00
Unknown W. Brackets
8ee92048c0 SoftGPU: Avoid rcp due to precision issues.
Causes artifacts in Sword Art Online, which draws a dialog box using
stretched UVs - rcp causes the edges to sample outside the original UVs.
2017-05-14 16:02:21 -07:00
Unknown W. Brackets
86a1898732 SoftGPU: Correct rendering for pixel centers.
This should theoretically calculate everything more correctly.
2017-05-13 08:03:08 -07:00
Unknown W. Brackets
9e34601be2 SoftGPU: Correct texturing for pixel centers. 2017-05-13 07:53:39 -07:00
Unknown W. Brackets
6b0c9a5531 SoftGPU: Improve wsum recip SIMD.
A bit faster.
2017-05-13 06:56:33 -07:00
Unknown W. Brackets
7c526acc69 SoftGPU: Multiply S/T early via SIMD. 2017-05-13 06:49:27 -07:00