Commit Graph
41637 Commits
Author SHA1 Message Date
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
Henrik Rydgård 0b009c10be CrossSIMD: Add reciprocal, clamp, swaplowerelements, etc 2024-12-21 14:28:00 +01:00
Henrik Rydgård 6a1010afb0 Use CrossSIMD to optimize DecodeAndTransformForDepthRaster
Checked the output, the generated assembly is great!
2024-12-21 14:28:00 +01:00
Henrik Rydgård 03b9f98055 Add more funcionality to CrossSIMD.h, like fast matrix mul and some conversion 2024-12-21 14:28:00 +01:00
Henrik Rydgård de45960420 Reformat CrossSIMD.h for easier editing. Add some new methods. 2024-12-21 14:28:00 +01:00
Henrik Rydgård bdf4b69207 Warning fixes, minor cleanup 2024-12-21 14:28:00 +01:00
Henrik Rydgård bdb5f3a91b Reorganize the depth vertex pipeline for future optimizations 2024-12-21 14:27:59 +01:00
Henrik Rydgård dd31518272 DepthRaster: Merge the decode and transform steps 2024-12-21 14:27:59 +01:00
Henrik Rydgård c7f0eabc65 DepthRaster: Premultiply world-view-proj matrices 2024-12-21 14:27:59 +01:00
Henrik Rydgård c92b3b6521 Move prototype cross simd wrapper structs to CrossSIMD.h 2024-12-21 14:27:59 +01:00
Henrik Rydgård 72c954d8c3 Add convenient wrappers 2024-12-21 14:27:59 +01:00
Henrik Rydgård 09afe363ca One less operation in the inner loop 2024-12-21 14:27:59 +01:00
Henrik Rydgård d27d8c9dae Remove subpixel precision. Some sketching. 2024-12-21 14:27:55 +01:00
Henrik Rydgård c5ad81e3d5 Add DepthRaster.cpp/h. Rasterize depth rectangles, some triangles 2024-12-21 14:27:53 +01:00
Henrik Rydgård b442183259 Add "Realtime" checkbox to pixel viewer 2024-12-21 14:19:50 +01:00
Henrik Rydgård 58adb379ea GE debugger improvements 2024-12-20 20:31:58 +01:00
Henrik Rydgård bff2498a3f Merge pull request #19753 from hrydgard/more-simd
Implement fp64's color conversion function in ConvertRGBA8888ToRGBA5551
2024-12-20 11:07:57 +01:00
Henrik Rydgård 6481fc9989 Implement fp64's color conversion function in ConvertRGBA8888ToRGBA5551 2024-12-20 10:45:17 +01:00
Henrik Rydgård 7b3640ee03 Merge pull request #19751 from hrydgard/simd-cleanup
SIMD include cleanup
2024-12-20 08:31:33 +01:00
Henrik Rydgård 1c2f11a468 Buildfix 2024-12-19 16:57:57 +01:00