Commit Graph
41623 Commits
Author SHA1 Message Date
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
Henrik Rydgård d5bfc1b5eb Finish up this cleanup (move _M_SSE compat define out of Common.h) 2024-12-19 16:23:20 +01:00
Henrik Rydgård d2a96dc7b5 Replace some SSE4-specific operations with SSE2 sequences. 2024-12-19 16:08:59 +01:00
Henrik Rydgård e93c80db4e Cleaning up our SIMD header includes, using the new header 2024-12-19 16:08:48 +01:00
Henrik Rydgård 5326d87f9c Rename CrossSIMD to SIMDHeader, but also keep CrossSIMD.h (will have a future use) 2024-12-19 15:15:43 +01:00
Henrik Rydgård 53cb014c07 Merge pull request #19750 from bslenul/lr-crash-fix
[Libretro] Crash fix
2024-12-19 13:12:08 +01:00
Bobby Smith c522e53e79 [Libretro] Crash fix 2024-12-19 12:43:55 +01:00
Henrik Rydgård bf0f08b331 Merge pull request #19749 from hrydgard/restore-algorithm-includes
Restore removed <algorithm> includes.
2024-12-19 11:00:53 +01:00
Henrik Rydgård c91169e702 Restore removed <algorithm> includes.
Turns out these were needed after all. For some reason, on Windows and
Mac, <algorithm> gets auto-included by something else so I don't notice
when it's missing, and MSVC's include dependency tracker doesn't see it
either.
2024-12-19 09:53:07 +01:00
Henrik Rydgård fb76bd6722 Merge pull request #19747 from hrydgard/move-stuff
Move some stuff to SoftwareTransformCommon, lots of #include cleanup
2024-12-18 17:28:54 +01:00
Henrik Rydgård 4dd3621fa0 Remove some unnecessary <algorithm> includes. 2024-12-18 17:04:27 +01:00
Henrik Rydgård 45cf6d423e Buildfixes 2024-12-18 13:57:29 +01:00
Henrik Rydgård 3e198c53b2 More include cleanup 2024-12-18 13:57:26 +01:00
Henrik Rydgård df6ed8cfc9 Do some cleanup of #includes in GPU 2024-12-18 13:57:26 +01:00
Henrik Rydgård ee297e974d Move more code into SoftwareTransformCommon, cleanup 2024-12-18 13:57:26 +01:00