Unknown W. Brackets
e1ed49a3e4
softjit: Ensure all regs are released.
2021-11-28 08:03:14 -08:00
Unknown W. Brackets
d53e13b862
softjit: Manage args in the register cache.
2021-11-28 08:03:13 -08:00
Unknown W. Brackets
1f9dc3a568
softjit: Precalculate write mask and dither.
...
This is slightly abusing PixelFuncID, but the intent is to provide some
memory that's easily accessible from the jit func, but still associated
with that calculation (i.e. not global.)
2021-11-26 10:12:54 -08:00
Unknown W. Brackets
4e6a5ce760
softjit: Log any failed compiles.
2021-11-26 09:30:49 -08:00
Unknown W. Brackets
446eec0dff
softjit: Keep color 16-bit when useful.
...
Reuse it expanded where we can, in case of dither+fog+blend, etc.
2021-11-26 09:30:48 -08:00
Unknown W. Brackets
c62457bb33
softjit: Optimize common blend inverse alpha case.
2021-11-26 09:30:48 -08:00
Unknown W. Brackets
1fa4e6ba2c
softjit: Add alpha blending factors.
2021-11-26 09:30:48 -08:00
Unknown W. Brackets
bc8d5ad372
softjit: Cache zero vector to avoid recreating.
2021-11-26 09:30:48 -08:00
Unknown W. Brackets
932481d3cd
softjit: Minor tweak to reg order for XCHG.
...
It's easier to use it in these places, but seems it stalls longer on the
dest reg.
2021-11-26 09:30:47 -08:00
Unknown W. Brackets
7f167c3660
softjit: Implement min/max/absdiff blending.
...
Alpha not yet implemented.
2021-11-26 09:30:47 -08:00
Unknown W. Brackets
771d459025
softjit: Use SSE4.1 for fog and dither a bit.
2021-11-26 08:42:17 -08:00
Unknown W. Brackets
cf888257ab
softjit: Fix dithering bug.
2021-11-26 08:21:15 -08:00
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
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
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
ae3299ea04
softjit: Add stubbed DrawPixel for x64.
2021-11-26 08:21:11 -08:00