Unknown W. Brackets
|
3f3e0ea8cf
|
softjit: Optimize typical alpha/depth test.
Messed with SSE4 then realized there's no point, just use SHR.
|
2021-11-26 08:21:14 -08:00 |
|
Unknown W. Brackets
|
6644c4225c
|
softjit: Apply logic ops.
|
2021-11-26 08:21:14 -08:00 |
|
Unknown W. Brackets
|
961273fcf5
|
softjit: Apply color write mask.
|
2021-11-26 08:21:14 -08:00 |
|
Unknown W. Brackets
|
a49a189962
|
softjit: Refactor color conv to dedicated funcs.
Will use this for masking too.
|
2021-11-26 08:21:14 -08:00 |
|
Unknown W. Brackets
|
2b4b4ae064
|
softjit: Add config setting to enable/disable.
Also use it for samplerjit.
|
2021-11-26 08:21:14 -08:00 |
|
Unknown W. Brackets
|
edb21b57bb
|
softjit: Initial color write.
At this point, it's used in some areas in some games.
Alpha blending is the main unimplemented path, then logic/masking.
|
2021-11-26 08:21:13 -08:00 |
|
Unknown W. Brackets
|
0e63b357b3
|
softjit: Add dithering.
|
2021-11-26 08:21:13 -08:00 |
|
Unknown W. Brackets
|
bd99448863
|
softjit: Keep x and y args for dither.
But let's still special case the 512 path, since it's so common.
|
2021-11-26 08:21:13 -08:00 |
|
Unknown W. Brackets
|
5ee4bdbe05
|
softjit: Depth and stencil testing.
|
2021-11-26 08:21:13 -08:00 |
|
Unknown W. Brackets
|
f3f32cebeb
|
softjit: Optimize some imm sizes.
|
2021-11-26 08:21:13 -08:00 |
|
Unknown W. Brackets
|
2423285831
|
softjit: Add helpers to get framebuf offsets.
|
2021-11-26 08:21:12 -08:00 |
|
Unknown W. Brackets
|
f8819308ff
|
softjit: Add levels of register locking.
Locking also in helpers, so need to nest locks.
|
2021-11-26 08:21:12 -08:00 |
|
Unknown W. Brackets
|
1e00a3b842
|
softjit: Add color test.
|
2021-11-26 08:21:12 -08:00 |
|
Unknown W. Brackets
|
14d322956a
|
softjit: Add alpha test.
|
2021-11-26 08:21:12 -08:00 |
|
Unknown W. Brackets
|
d9f7b9cca2
|
softjit: Initial depthrange, fog.
Not really tested, just filling out parts.
|
2021-11-26 08:21:12 -08:00 |
|
Unknown W. Brackets
|
9fed7ea732
|
softjit: Add register cache for softjit.
|
2021-11-26 08:21:11 -08:00 |
|
Unknown W. Brackets
|
91787e63d9
|
softjit: Switch to the __vectorcall convention.
|
2021-11-26 08:21:11 -08:00 |
|
Unknown W. Brackets
|
ae3299ea04
|
softjit: Add stubbed DrawPixel for x64.
|
2021-11-26 08:21:11 -08:00 |
|
Unknown W. Brackets
|
ce5ae95854
|
softgpu: Correct alpha blend subtract on negative.
Oops, we need to subtract signed, but then clamp to unsigned.
|
2021-11-25 22:06:48 -08:00 |
|
Unknown W. Brackets
|
dad85b97f1
|
softgpu: Use KEEP for any invalid stencil ops.
This just keeps the ID more consistent.
|
2021-11-25 21:02:20 -08:00 |
|
Unknown W. Brackets
|
d4bf7ea392
|
sofgpu: Disable alpha blend for invalid equations.
|
2021-11-25 19:23:41 -08:00 |
|
Unknown W. Brackets
|
35444b3051
|
softgpu: Accurately alpha blend.
|
2021-11-25 19:23:41 -08:00 |
|
Unknown W. Brackets
|
2acf7f4edf
|
softgpu: Use 0 alpha for 565 alpha blending.
We were previously blending as 0xFF.
|
2021-11-25 19:23:40 -08:00 |
|
Unknown W. Brackets
|
2ef7dd6b03
|
softgpu: Correct tagging of vertexjit.
|
2021-11-25 19:21:56 -08:00 |
|
Unknown W. Brackets
|
73de8db996
|
softgpu: Fix stencil DECR on 5551.
|
2021-11-25 19:21:56 -08:00 |
|
Unknown W. Brackets
|
53c6a3933d
|
softgpu: Use ALWAYS for alpha/depth test in clear.
|
2021-11-25 19:21:55 -08:00 |
|
Unknown W. Brackets
|
876c8cd368
|
softgpu: Fix PixelFuncID size.
Oops, can't use unions in bitfields. Also improve typesafety.
|
2021-11-21 09:40:13 -08:00 |
|
Unknown W. Brackets
|
28bc91bd79
|
softgpu: Add func to tersely name pixel funcs.
|
2021-11-21 08:23:32 -08:00 |
|
Unknown W. Brackets
|
f8bc6e5b9e
|
softgpu: Template draw pixel on fb format.
This introduces a small 5-10% perf improvement.
|
2021-11-21 08:23:32 -08:00 |
|
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
|
aa3786ed21
|
softgpu: Force off alpha blend if uselessly on.
This is a simple optimization to prevent some work games sometimes waste.
|
2021-11-20 15:27:04 -08:00 |
|
Unknown W. Brackets
|
26378f9c89
|
softgpu: Specialize sprite based on pixel func ID.
|
2021-11-20 15:27:04 -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
|
953200c995
|
softgpu: Add func to calculate pixel func ID.
This normalizes some things, and eventually can be used for a jit key.
|
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
|
2ab7499d8d
|
softgpu: Combine sliced rectangles.
This mostly affects clears, and reduces overhead. Only about 2%
improvement, but it's a small change.
|
2021-11-14 18:31:46 -08:00 |
|
Unknown W. Brackets
|
0281e2f017
|
softgpu: Split out rectangle path for combining.
|
2021-11-14 18:31:46 -08:00 |
|
Unknown W. Brackets
|
9545e3b0e2
|
softgpu: Fixup range cull for fans and fast path.
|
2021-11-14 18:31:45 -08:00 |
|
Unknown W. Brackets
|
fb6fadbbb7
|
softgpu: Fast path rectangles as fans.
Some games, such as Legend of Heroes III, use fans instead of strips.
|
2021-11-14 18:31:45 -08:00 |
|
Unknown W. Brackets
|
09a9927b82
|
softgpu: Use range loops for sprite fast path.
|
2021-11-14 18:31:45 -08:00 |
|
Unknown W. Brackets
|
55cde6bd6a
|
softgpu: Check flat z in fast path.
|
2021-11-14 12:27:39 -08:00 |
|
Unknown W. Brackets
|
361c8f966c
|
softgpu: Fast path triangles without textures.
The fast path may still be useful in this case.
|
2021-11-14 12:27:39 -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
|
f66e243727
|
softgpu: Correct scissor for pixel centers.
|
2021-11-07 11:19:41 -08:00 |
|