Unknown W. Brackets
09dc38080a
softgpu: Move draw pixel code to separate file.
...
This separates things better anyway. No major perf impact.
2021-11-21 08:23:32 -08:00
Henrik Rydgård
824805ec1e
Merge pull request #15154 from unknownbrackets/softjit
...
Use a pixel func ID in software rendering
2021-11-21 10:50:06 +01:00
Unknown W. Brackets
e2f0713cc2
softgpu: Clamp and round fog by mantissa bits.
...
This matches hardware calculated fog values much better.
2021-11-20 20:54:52 -08:00
Unknown W. Brackets
9abf2a4725
softgpu: Confirm mask doesn't hit stencil REPLACE.
2021-11-20 18:53:51 -08:00
Unknown W. Brackets
f7a31c992d
softgpu: Use pixel func ID to draw pixels.
...
This just reduces reliance on gstate directly, and should help keep things
consistent.
2021-11-20 15:27:04 -08:00
Unknown W. Brackets
b6bdd69572
softgpu: Clear by dividing out subpixel first.
2021-11-15 06:26:11 -08:00
Unknown W. Brackets
f802c3bc6d
softgpu: Add some comments and cleanup.
2021-11-15 06:09:12 -08:00
Unknown W. Brackets
babd63c644
softgpu: Tune thread minimums better.
...
Darkstalkers seems more sensitive to these than many other games, this
improves performance more.
2021-11-14 18:44:30 -08:00
Unknown W. Brackets
66f635cba0
sfotgpu: Use threads to apply clears.
2021-11-14 18:31:46 -08:00
Unknown W. Brackets
f66e243727
softgpu: Correct scissor for pixel centers.
2021-11-07 11:19:41 -08:00
Unknown W. Brackets
fe440d40e5
softgpu: Clip full weighted Z without truncating.
...
In case wsum_recip is nan or similar, we want to make sure we still
properly clip to minz/maxz.
2021-11-05 21:36:38 -07:00
Unknown W. Brackets
f03fa2b0b8
softgpu: Improve accuracy of line drawing.
...
Needs higher precision to change pixel at the right time.
This makes the lines in Persona 1 look right, see #3871 .
2021-11-04 00:11:09 -07:00
Unknown W. Brackets
7addc18a6b
softgpu: Avoid overflow infinite loop.
...
For certain large values, it would overflow and continue looping
endlessly.
2021-09-05 23:24:08 -07:00
Henrik Rydgård
3be5c7bd9a
Make the minimum items per thread explicit. Found some bugs, optional arguments are evil.
2021-06-12 21:21:28 +02:00
Henrik Rydgård
73871b9b7e
Implement new thread manager, port stuff to it.
2021-06-12 13:03:53 +02:00
Unknown W. Brackets
8a8328c431
Common: Move ColorConv to a more appropriate place.
2021-05-01 11:20:05 -07:00
Unknown W. Brackets
4178f09e57
Build: More consistently avoid _M_ defines.
...
We use PPSSPP_ARCH in several places already, this makes it more complete.
2021-03-02 21:49:21 -08:00
Unknown W. Brackets
fb3ad1df4b
Replacement: Read in texture filtering overrides.
...
If you're replacing, you can know more information about linear safety for
tests.
2021-02-27 17:16:16 -08:00
Unknown W. Brackets
f32f89dd90
Global: Remove some unused variables.
2021-02-15 11:59:45 -08:00
Henrik Rydgård
886a8b1ac6
Remove Timer.cpp/h. Move various collections into Common/Data/Collections.
2020-10-05 21:05:23 +02:00
Henrik Rydgård
821817e6d4
Move the profiler to Common
2020-10-04 11:42:16 +02:00
Henrik Rydgård
3162f30158
Merge base/basictypes.h into Common/Common.h (mostly).
2020-09-29 15:51:51 +02:00
Henrik Rydgård
cea35007ae
Always use a linear filter for video, unless forcing NEAREST filtering.
2020-09-13 16:40:37 +02:00
Unknown W. Brackets
3055deeba6
GPU: Fix some case warnings.
...
Better to avoid the warnings.
2020-08-19 21:18:44 -07:00
Henrik Rydgård
c5e0b799d9
Remove category from _assert_msg_ functions. We don't filter these by category anyway.
...
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Unknown W. Brackets
1b9440611a
softgpu: Fix texture overlap.
...
Mainly happened when we had wide textures and split them up between GPUs.
2020-05-13 17:53:00 -07:00
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