Henrik Rydgård
7920e86098
Add heuristic, fixing video flicker in Naruto UNH 2 caused by copy to wrong target.
2023-11-30 22:19:52 +01:00
Henrik Rydgård
737ec3e90b
NEON buildfix
2023-11-28 18:40:10 +01:00
Henrik Rydgård
4ec2d76bc9
NEON-optimize matrix tranposes
2023-11-27 23:57:26 +01:00
Henrik Rydgård
45aae7b9da
ARM32: Backport a lot of previously 64-bit-only NEON optimizations to ARM32.
2023-11-27 23:51:10 +01:00
Henrik Rydgård
dae758e5f4
Fix some bugs and mistakes found by Nemoumbra through static analysis
2023-11-26 13:43:11 +01:00
Henrik Rydgård
aec0606ba4
Optimize the bounding box code for more vertex formats
2023-11-26 13:40:37 +01:00
Henrik Rydgård
cb9c6dc661
Merge pull request #18418 from hrydgard/simplify-input-layout
...
thin3d/backends: Remove code that pretended that we supported multiple vertex streams
2023-11-13 12:51:09 +01:00
Henrik Rydgård
d891aaf9cd
Remove code that pretended that we supported multiple vertex streams
...
Don't really see that we'll have much use for this feature, so simplify
it away. Only single vertex stream data is now supported by the thin3d
API.
2023-11-13 01:15:28 +01:00
Henrik Rydgård
77825484a0
If available, use 16-bit texture formats for MakePixelTexture when appropriate.
...
Optimization for God of War on low-end platforms. Avoids calling a color
conversion function that's currently only SIMD-optimized on x86, so will
also benefit ARM a little bit.
2023-11-12 15:58:03 +01:00
Henrik Rydgård
49f5da370a
Simplify the logic in MakePixelTexture a bit
2023-11-12 11:19:45 +01:00
Henrik Rydgård
cc6f9a73ca
Oops, fix for previous commit. And minor optimization.
2023-11-12 01:32:02 +01:00
Henrik Rydgård
632fa1c9d6
Cache and hash data for DrawPixels.
...
We already had a cache to reuse texture objects so just
opportunistically reuse them when easy to do so.
2023-11-11 19:58:12 +01:00
Henrik Rydgård
dd032dc533
Delete two unused structs
2023-11-11 10:55:54 +01:00
Henrik Rydgård
4f2f1c4392
Tilt: Fix some edge cases leading to division by zero and similar.
2023-11-09 19:14:31 +01:00
Henrik Rydgård
48a1348352
Move a var for clarity
2023-11-01 21:30:04 -06:00
Henrik Rydgård
ee6ffac28e
Ignore triangle strips with less than 3 vertices.
...
Should fix the new issue reported in #18273
2023-11-01 21:28:37 -06:00
Henrik Rydgård
618589abd8
Merge pull request #18362 from unknownbrackets/softgpu-zmirror
...
softgpu: Point depthbuf at the first VRAM mirror
2023-10-15 22:53:00 +02:00
Unknown W. Brackets
f7f05072fe
softgpu: Point depthbuf at the first VRAM mirror.
2023-10-15 10:33:05 -07:00
Henrik Rydgård
f842f16fbe
Inline "DecodeVertexToPushPool" for ease of change.
2023-10-12 11:58:49 +02:00
Henrik Rydgård
12a98baf59
Cleanups, make the various SubmitPrim implementations more similar
2023-10-12 11:58:48 +02:00
Henrik Rydgård
f769b2c8a3
Remove unused functionality from descpool
2023-10-11 12:29:57 +02:00
Henrik Rydgård
0ad2827e14
Vulkan: Fix synchronization when shutting the GPU down in-game.
2023-10-11 12:27:39 +02:00
Henrik Rydgård
183d49329a
Allow writing directly into the packed descriptor buffer, saving a memcpy.
2023-10-11 11:02:17 +02:00
Henrik Rydgård
2ac14f555d
Remove VulkanPushBuffer (keeping our newer replacement VulkanPushPool)
2023-10-11 09:06:24 +02:00
Henrik Rydgård
e4ea4831e9
Delete the vertex cache option from the code.
2023-10-10 15:43:43 +02:00
Henrik Rydgård
078018a943
Move the clockwise calculation out of DrawEngineCommon
2023-10-10 13:16:34 +02:00
Henrik Rydgård
82606b6eb2
Move the clockwise calculation out of the AddPrim loop
2023-10-10 13:00:57 +02:00
Henrik Rydgård
3d949b080d
Prepare VulkanDescSetPool for block allocation
2023-10-10 09:14:10 +02:00
Henrik Rydgård
9c1c09ff5c
Remove commented out code
2023-10-10 09:02:35 +02:00
Henrik Rydgård
ba4d1668ce
Don't forget to update descCount in tess mode
2023-10-10 09:02:35 +02:00
Henrik Rydgård
af47ad035d
Also use the new descriptor mechanism for in-game
2023-10-10 09:00:29 +02:00
Henrik Rydgård
35fcec1e4b
Another small fix, helps Toca series games.
2023-10-10 02:13:25 +02:00
Henrik Rydgård
24409f6f94
Additional check fix
2023-10-09 21:15:17 +02:00
Henrik Rydgård
f6ba4ee4de
Only support extending triangle-based draw calls. Fixes Crazy Taxi.
2023-10-09 21:14:00 +02:00
Henrik Rydgård
10bc6b4cd8
Safety check that doesn't fix crazy taxi
2023-10-09 21:10:53 +02:00
Henrik Rydgård
ced821169e
Bump shader cache versions
2023-10-09 19:39:25 +02:00
Henrik Rydgård
bb38210cfb
We somehow lost the usage_ counter increment in VulkanDescSetPool, fix that
2023-10-09 17:01:35 +02:00
Henrik Rydgård
a8b8580756
Don't forget to check the stall address, even in the optimized primitive loop
2023-10-09 14:08:11 +02:00
Henrik Rydgård
7fd7015987
Fix bug in vertex cache using uninitialized data
2023-10-09 14:03:41 +02:00
Henrik Rydgård
a780d02c07
Minor reordering
2023-10-09 11:54:15 +02:00
Henrik Rydgård
316bc03ac9
Move the destroy function for VKRPipelineLayout to VulkanRenderManager
2023-10-09 11:54:13 +02:00
Henrik Rydgård
ae58fe3828
In GL and Vulkan soft-skin, we might not be fully done decoding when we reach flush. Take that into account.
2023-10-08 16:51:58 +02:00
Henrik Rydgård
c73e2351de
Add checks for unused topology values when loading pipeline caches.
2023-10-08 13:39:04 +02:00
Henrik Rydgård
28ed12aa93
Simplify descriptor pool creation
2023-10-08 12:39:19 +02:00
Henrik Rydgård
b82a34539d
Same as last commit, but in DrawEngineVulkan.
2023-10-08 12:39:19 +02:00
Henrik Rydgård
dbe395dd00
Add a wrapper around VKRPipelineLayout / descsetlayout
2023-10-08 12:39:18 +02:00
Henrik Rydgård
34fbbf2c2a
Split out the descriptorset pool from VulkanMemory.cpp/h
2023-10-08 11:45:00 +02:00
Henrik Rydgård
c7a3e7bc32
Remove a redundant variable
2023-10-06 16:32:59 +02:00
Henrik Rydgård
cd35252400
DrawEngine; Convert strip sequences in a tight loop
2023-10-06 16:25:13 +02:00
Henrik Rydgård
10ccbfd68c
Unify the clearing of variables after a draw call
2023-10-06 15:39:59 +02:00