Henrik Rydgård
b85a7e9a46
Name uniform buffers, add more asserts. Used this to track down the bug fixed in the previous commit.
2021-12-10 21:01:01 +01:00
Henrik Rydgård
7b07a1385a
Merge pull request #15220 from unknownbrackets/vulkan-exit
...
Vulkan: Fix use-after-free on shutdown
2021-12-10 10:37:43 +01:00
Henrik Rydgård
97f3b477ab
Merge pull request #15219 from unknownbrackets/vulkan-2d
...
Vulkan: Avoid desc set error in tests
2021-12-10 10:37:19 +01:00
Unknown W. Brackets
fe7b573a38
Vulkan: Fix use-after-free on shutdown.
2021-12-09 23:52:10 -08:00
Unknown W. Brackets
8d06431ea7
Vulkan: Use new desc sets in Draw and VulkanUtil.
...
It seems like a bug that destory device objects wasn't clearing descSets.
2021-12-09 19:03:17 -08:00
Unknown W. Brackets
1010d7ac0e
Vulkan: Refactor common desc pool handling.
2021-12-09 18:39:55 -08:00
Unknown W. Brackets
75d2188a92
Vulkan: Avoid desc set error in tests.
...
This requires quite a few DrawActiveTextures, but some pspautotests were
triggering it.
2021-12-09 17:43:00 -08:00
Henrik Rydgård
51dce175a3
Merge pull request #15218 from unknownbrackets/softjit-sampler
...
samplerjit: Fix DXT1/DXT5 register releasing
2021-12-09 22:13:48 +01:00
Unknown W. Brackets
b3cd135000
samplerjit: Fix DXT1/DXT5 register releasing.
...
Oops, broke this while refactoring.
2021-12-09 08:17:29 -08:00
Henrik Rydgård
3e5ba249bf
Merge pull request #15217 from hrydgard/scissor-auto-clamp
...
Vulkan is strict about scissor rect, so let's clamp centrally.
2021-12-08 22:55:12 +01:00
Henrik Rydgård
45308a16c0
Vulkan is strict about scissor rect, so let's clamp centrally.
...
Better than spreading the logic all over.
Fixes #15207
2021-12-08 22:38:01 +01:00
Henrik Rydgård
44dc3555ad
FramebufferManagerCommon: Fix some issues where currentRenderVfb_ could get out of sync.
...
It would get out of sync with draw_->GetCurrentFramebuffer(), which led
to checks for self-texturing not working, hitting an assert.
This caused problems when turning off "slow effects", and who knows what
else.
Fixes #15208
2021-12-08 22:01:23 +01:00
Henrik Rydgård
05429fc34f
Vulkan: Correct the max level to generate mipmap calculation
2021-12-07 21:28:58 +01:00
Unknown W. Brackets
3180e6c043
softgpu: Correct alpha on add + invalid texfuncs.
2021-12-05 16:28:37 -08:00
Unknown W. Brackets
325a1f75aa
softgpu: Match texenv blend texfunc accurately.
2021-12-05 16:09:26 -08:00
Unknown W. Brackets
0b6e7c421f
softgpu: Make decal tex func more accurate.
...
Tested for all values of A * B + 0 * (255 - B), as well as A * 127 + B *
(255 - 127), and matches accurately. Spot checked other values, but not
exhaustively.
2021-12-05 13:34:19 -08:00
Unknown W. Brackets
154bb53744
softgpu: Correct accuracy on fast path modulate.
2021-12-05 13:10:18 -08:00
Unknown W. Brackets
73460f7461
softgpu: Correct accuracy of MODULATE texfunc.
...
This matches hardware tests for every value of A * B.
Interesting that it's a different formula than alpha blend.
2021-12-05 12:06:52 -08:00
Unknown W. Brackets
891fa8c613
softgpu: Template away uncommon mip usage.
...
Improves general case about 10%.
2021-12-04 15:45:06 -08:00
Unknown W. Brackets
48e9404419
softgpu: Remove useless switch by UV gen mode.
...
They're all handled earlier now, and the switch is on a value & 3, so the
default wasn't even possible.
2021-12-04 15:45:06 -08:00
Unknown W. Brackets
ff94974df9
softgpu: Avoid texlevel check when maxlevel is 0.
2021-12-04 15:45:06 -08:00
Unknown W. Brackets
823c4adb15
softgpu: Keep arguments in vectors for sampling.
2021-12-04 15:45:06 -08:00
Unknown W. Brackets
d7c25b3e7c
samplerjit: Refactor nearest using reg cache.
2021-12-04 13:04:53 -08:00
Unknown W. Brackets
4aa5bee14c
softjit: Make it an error to unlock a temp.
...
Also fix some register usage in logic ops.
2021-12-01 21:50:02 -08:00
Unknown W. Brackets
75a918f96f
softjit: Get rid of pointless AGE00 tests.
2021-12-01 21:44:10 -08:00
Unknown W. Brackets
f47fb7e14e
softjit: Normalize some stencil test patterns.
2021-12-01 21:43:52 -08:00
Unknown W. Brackets
ba69e39256
softjit: Avoid tests for greater than 0.
...
They take more instructions, and can be somewhat common.
2021-12-01 21:40:10 -08:00
Unknown W. Brackets
aec41b34d6
softjit: Reduce ditherMatrix to 8-bit.
...
Oops, not sure why I made it 16 bit.
2021-12-01 21:39:29 -08:00
Unknown W. Brackets
1c5615624a
softjit: Oops, correct allocation typo.
...
Decided to leave these for paired operations.
2021-12-01 21:37:55 -08:00
Unknown W. Brackets
bfe82e417d
softjit: Fix locked stencil reg.
2021-11-28 20:26:01 -08:00
Unknown W. Brackets
99c213f244
softjit: Centralize argument register allocation.
2021-11-28 15:53:24 -08:00
Unknown W. Brackets
7aea6d2ab0
softjit: Fix fog typo causing locking bug.
2021-11-28 12:26:23 -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
Unknown W. Brackets
6fbcf67093
softjit: Fix disabled cache.
2021-11-27 11:32:47 -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