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