Commit graph

42256 commits

Author SHA1 Message Date
Henrik Rydgård
1e8eb88bf0 Unify the ends of the two depth draw paths 2024-12-28 19:22:23 +01:00
Henrik Rydgård
6136c7f5ef More reorg 2024-12-28 18:51:37 +01:00
Henrik Rydgård
66926e28c1 Simplify / fix through mode triangles 2024-12-28 18:51:37 +01:00
Henrik Rydgård
3c3dfe5273 Reorganize depth raster draw state handling 2024-12-28 18:51:34 +01:00
Henrik Rydgård
eec7853efe
More SIMD: Add some matrix operations to CrossSIMD (#19773)
* More CrossSIMD functionality

* Use the new SIMD API for the matrix multiplies
2024-12-28 18:45:14 +01:00
Henrik Rydgård
8b10ee3937 Depth Z: Add a stat for Z-culling, correctly distinguish the small/backface stats 2024-12-28 18:45:03 +01:00
Henrik Rydgård
449e3e1360 Very minor soft transform optimization 2024-12-28 18:45:03 +01:00
Henrik Rydgård
8c069917b5
Depth raster optimizations: Merge viewport into projection matrix, prepare for further SIMD-ification (#19769)
* Remove some old redundant reports

* Fix scissor off by one

* More CrossSIMD

* Move the viewport scale out to the proj matrix

* DepthRaster: Also merge the viewport translation into the projection matrix.

* Depth raster: Do the triangle clipping in batches of 4 triangles

* Cleanup
2024-12-28 10:36:39 +01:00
Henrik Rydgård
88b4991753
UI fixes: Rework savedata manager a bit, default keyboard focus to Cancel in confirmation dialogs (#19771)
* Savedata manager screen: Use TabbedUIDialogScreenWithGameBackground

This fixes some minor UI issues on this screen.

* PromptScreen (used for "Are you sure?"): Default keyboard focus to Cancel

Fixes #19770
2024-12-28 10:36:05 +01:00
Henrik Rydgård
cc040ab251
Depth raster: Bugfix, minor opt (#19768)
* Correct two errors in CrossSIMD.h, thanks hiroyuki177

Fixes #19767

* DepthRaster: Merge offset into viewport X/Y
2024-12-26 20:23:52 +01:00
Luboš V.
d1f8b78bbb
OpenXR - Remove non-functional Vulkan implementation (#19766)
* OpenXR - Remove non-functional Vulkan implementation

* Forgotten to commit
2024-12-26 10:05:18 +01:00
Henrik Rydgård
5def50cca6
Merge pull request #19764 from hrydgard/even-more-depth-raster-stuff
Enable depth raster in all backends
2024-12-25 12:08:51 +01:00
Henrik Rydgård
f8774a4d15
Merge pull request #19765 from DDinghoya/patch-29
Update ko_KR.ini
2024-12-25 09:05:25 +01:00
DDinghoya
72ceda067b
Update ko_KR.ini 2024-12-25 10:01:51 +09:00
Henrik Rydgård
4aaea67766 Enable depth raster in all backends, not just Vulkan 2024-12-24 23:26:32 +01:00
Henrik Rydgård
032f51988d Delete unused files 2024-12-24 23:26:32 +01:00
Henrik Rydgård
0e59cd7641 DepthRaster: Fix typo breaking LESS depth comparison mode on x86(64) 2024-12-24 23:26:32 +01:00
Henrik Rydgård
34f3b724cd
Merge pull request #19762 from Nemoumbra/volmem-tags
Volatile memory improvements
2024-12-23 23:02:33 +01:00
Nemoumbra
1a1f779ce7 Added memory tags for volatile memory 2024-12-23 21:22:55 +03:00
Henrik Rydgård
79940fe58a
Merge pull request #19761 from hrydgard/more-depth-raster-stuff
Enable depth raster for Armored Core by default, minor speedup
2024-12-22 19:44:40 +01:00
Henrik Rydgård
b39a09e87b Specialize DepthRasterTriangle for the comparison modes using templating. 2024-12-22 19:24:12 +01:00
Henrik Rydgård
8e747dc948 CrossSIMD: Add a multiply-as-16bit function to Vec4S32. This can be implemented quickly on SSE2. 2024-12-22 18:53:10 +01:00
Henrik Rydgård
36b393f2cd Enable depth raster for Armored Core: Silent line
See #17597. Also improve some comments.
2024-12-22 18:27:12 +01:00
Henrik Rydgård
037ca2ac25
Merge pull request #19760 from hrydgard/depth-raster-clip-rects
Depth raster: Clip rects to scissor too. Fixes some crashes
2024-12-22 14:31:36 +01:00
Henrik Rydgård
ab088cf158 Depth raster: Clip rects to scissor too. Fixes some crashes 2024-12-22 14:14:55 +01:00
Henrik Rydgård
7d4edddf58
Merge pull request #19759 from hrydgard/enable-depth-raster
Enable software depth raster for Wipeout, Midnight Club LA, Resistance.
2024-12-22 11:18:58 +01:00
Henrik Rydgård
fed54f6cb5
Merge pull request #19758 from hrydgard/depth-raster-more-improvements
Depth raster: more improvements
2024-12-22 10:48:57 +01:00
Henrik Rydgård
03f09aebd7 Enable software depth raster for Wipeout, Midnight Club LA, Resistance.
Adds a setting to control it under speedhacks, named "Lens flare
occlusion". The setting includes a low quality mode which is not yet
implemented.
2024-12-22 10:48:46 +01:00
Henrik Rydgård
3ccb01b09c Depth Raster: Add more stats, discard triangles with < 10 px area. Still good results. 2024-12-22 10:32:20 +01:00
Henrik Rydgård
19434ff303 Keep the depth in floating point to save some conversions 2024-12-22 10:32:19 +01:00
Henrik Rydgård
3bd2441f4a CrossSIMD: Add SwapLowerElements to Vec4F32 2024-12-22 10:32:16 +01:00
Henrik Rydgård
0629a98f97 Add some depth raster stats 2024-12-22 10:32:15 +01:00
Henrik Rydgård
d53635e096 Optimize the triangle inner loop a little more 2024-12-22 10:32:15 +01:00
Henrik Rydgård
ad2714ad67
Merge pull request #19756 from hrydgard/depth-raster-improvements
Depth raster: Fix when software transform is enabled, support non-through mode rectangles
2024-12-21 21:50:56 +01:00
Henrik Rydgård
2371fdfedd Rework depth raster to fully support software transform 2024-12-21 21:22:22 +01:00
Henrik Rydgård
bd3a252104 CrossSIMD: Add a simple operation 2024-12-21 21:21:40 +01:00
Henrik Rydgård
4b4d30e587
Merge pull request #19748 from hrydgard/software-depth-proto
Render a software depth buffer in parallel with HW rendering
2024-12-21 16:35:17 +01:00
Henrik Rydgård
80cb57f8bb Cleanup 2024-12-21 14:28:01 +01:00
Henrik Rydgård
8cd86b47b5 AnyZeroSignBit arm fix, more crosssimd fixes. Now works on ARM. 2024-12-21 14:28:01 +01:00
Henrik Rydgård
5df88fc1aa Convert the rect implementation to CrossSIMD 2024-12-21 14:28:01 +01:00
Henrik Rydgård
73ae6da757 Reimplement the depth rasterizer with SIMD. 2024-12-21 14:28:00 +01:00
Henrik Rydgård
399570e411 CrossSIMD: make the transpose function compatible with ARM32 2024-12-21 14:28:00 +01:00
Henrik Rydgård
2051d55c90 CrossSIMD: Add a bunch more functonality for use by the rasterizer 2024-12-21 14:28:00 +01:00
Henrik Rydgård
d1b50ea543 Comment 2024-12-21 14:28:00 +01:00
Henrik Rydgård
ad1809875a Minor sign check optimization 2024-12-21 14:28:00 +01:00
Henrik Rydgård
f886578c0e DepthRaster: Fix backface culling 2024-12-21 14:28:00 +01:00
Henrik Rydgård
a344d0225f DepthRaster: Fix bug where we used the wrong vertex count. 2024-12-21 14:28:00 +01:00
Henrik Rydgård
65692d036e CrossSIMD: possible buildfix? 2024-12-21 14:28:00 +01:00
Henrik Rydgård
820e7369b9 Speed up DepthRasterClipIndexedTriangles with CrossSIMD 2024-12-21 14:28:00 +01:00
Henrik Rydgård
67078d439b Depth raster: Switch to a SoA data layout for the screen space verts 2024-12-21 14:28:00 +01:00