Commit Graph
26 Commits
Author SHA1 Message Date
Henrik Rydgård b39a09e87b Specialize DepthRasterTriangle for the comparison modes using templating. 2024-12-22 19:24:12 +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 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 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 2371fdfedd Rework depth raster to fully support software transform 2024-12-21 21:22:22 +01:00
Henrik Rydgård 80cb57f8bb Cleanup 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 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 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 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 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