orbea
dd795605cf
ext/SPIRV-Cross-build: Update cmake version
...
This matches the upstream SPIRV-Cross CMakeLists.txt.
Also silences a warning.
CMake Deprecation Warning at ext/SPIRV-Cross-build/CMakeLists.txt:15 (cmake_minimum_required):
Compatibility with CMake < 2.8.12 will be removed from a future version of
CMake.
Update the VERSION argument <min> value or use a ...<max> suffix to tell
CMake that the project does not need compatibility with older versions.
2021-11-29 08:24:35 -08:00
Henrik Rydgård
2a9300698e
Merge pull request #15180 from unknownbrackets/softjit-args
...
Refactor software renderer jit cache to be shared
2021-11-28 22:12:29 +01:00
Henrik Rydgård
dbb711bf1d
Merge pull request #15175 from unknownbrackets/mips-shutdown
...
jit: More atomically update pointer
2021-11-28 21:57:04 +01:00
Unknown W. Brackets
7aea6d2ab0
softjit: Fix fog typo causing locking bug.
2021-11-28 12:26:23 -08:00
Unknown W. Brackets
b8ab7f39df
jit: Lock around changes to the jit pointer.
2021-11-28 10:04:22 -08:00
Unknown W. Brackets
9653c33d9c
softjit: Fix PixelFuncID arg on non-Windows x64.
...
Oops, this is of course not put on the stack, it's in R8.
2021-11-28 08:54:36 -08:00
Unknown W. Brackets
2d8fdd8cf4
Math3D: Allow construction from NEON vectors.
...
This makes it match SSE and easier to keep things generic. Will impact
alignment of non-packed Vec2/Vec3.
2021-11-28 08:24:53 -08:00
Unknown W. Brackets
96a7554053
sofjit: Move common types to reg cache header.
...
This makes it easier to use vectors elsewhere.
2021-11-28 08:03:15 -08:00
Unknown W. Brackets
3d5bced296
softjit: Rename reg cache so it can be reused.
...
Intentionally just the name changes in this commit.
2021-11-28 08:03:15 -08:00
Unknown W. Brackets
4703b6cb56
softjit: Cleanup, add other arch types to regcache.
2021-11-28 08:03:15 -08:00
Unknown W. Brackets
c1882fa1c0
softjit: Disallow use of register after unlock.
2021-11-28 08:03:14 -08:00
Unknown W. Brackets
2f039abd13
softjit: Simplify regcache usage as purpose only.
...
Dealing with types was annoying, and this helps validate the right
register is released.
2021-11-28 08:03:14 -08:00
Unknown W. Brackets
722c04c5e2
samplerjit: Allow disabling linear too, oops.
2021-11-28 08:03:14 -08:00
Unknown W. Brackets
cc099c73f1
softjit: Decide stack offset on compile.
...
This makes it easier to compile different entries or push regs.
2021-11-28 08:03:14 -08:00
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
Henrik Rydgård
aa12c9b391
Merge pull request #15163 from unknownbrackets/softjit
...
Implement a jit for drawing pixels in the software renderer
2021-11-28 08:26:05 +01:00
Henrik Rydgård
cf6e11e1d1
Merge pull request #15176 from unknownbrackets/sdl-inflight
...
SDL: Respect inflight frames setting in GL
2021-11-27 23:06:05 +01:00
Unknown W. Brackets
6fbcf67093
softjit: Fix disabled cache.
2021-11-27 11:32:47 -08:00
Unknown W. Brackets
f8e50b1dc7
SDL: Respect inflight frames setting in GL.
2021-11-27 06:57:26 -08:00
Unknown W. Brackets
0c6c2fb47a
jit: More atomically update pointer.
2021-11-27 06:00:18 -08:00
Unknown W. Brackets
1cb48a7bd2
softjit: Reduce jit pool size a bit.
2021-11-26 10:30:00 -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
a07017dbb0
softjit: Prefer easier to refill regs.
2021-11-26 09:30:47 -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
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