Henrik Rydgård
206d4d1fea
Implement the low-quality depth raster mode, default to it on Android/iOS.
...
I really can't tell much of a difference in practice...
2024-12-31 11:19:38 +01:00
Henrik Rydgård
f85d7db5b1
Comment fixes, buildfix
2024-12-31 02:39:58 +01:00
Henrik Rydgård
dee5fe6990
Fix issue in Midnight Club where Z now wrapped around at a distance, after removing the clamp. Might as well cull.
2024-12-31 02:30:05 +01:00
Henrik Rydgård
f5cc41caab
More CrossSIMD (breaking change)
2024-12-31 01:59:11 +01:00
Henrik Rydgård
c3ac798545
More crosssimd
2024-12-31 01:59:08 +01:00
Henrik Rydgård
ef934df0f2
Compute and cull by triangle area early before writing 4-groups of triangles
2024-12-29 01:21:16 +01:00
Henrik Rydgård
e8786fc401
Cull 4-groups of triangles early
2024-12-29 01:12:53 +01:00
Henrik Rydgård
66926e28c1
Simplify / fix through mode triangles
2024-12-28 18:51:37 +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
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
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
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
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
3bd2441f4a
CrossSIMD: Add SwapLowerElements to Vec4F32
2024-12-22 10:32:16 +01:00
Henrik Rydgård
bd3a252104
CrossSIMD: Add a simple operation
2024-12-21 21:21:40 +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
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
65692d036e
CrossSIMD: possible buildfix?
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
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
c92b3b6521
Move prototype cross simd wrapper structs to CrossSIMD.h
2024-12-21 14:27:59 +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
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
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
45cf6d423e
Buildfixes
2024-12-18 13:57:29 +01:00
Henrik Rydgård
a6a189c24d
An old version of android had strict JNI validation of UTF-8 strings enabled. Let's pass it.
2024-10-22 11:02:26 +02:00
Henrik Rydgård
06315ae6ee
IRInterpreter: Slight optimization for fmul
...
Just put stuff in temporaries, allows for better codegen
2024-06-24 09:12:57 +02:00
Henrik Rydgård
81c642e2b2
Fix scaling issues in cocoa text drawer
2024-06-01 13:44:11 +02:00
Henrik Rydgård
455e28da6c
Rename Point to Point2D to avoid a cocoa name clash
2024-05-29 18:52:39 +02:00
Henrik Rydgård
531f145e0b
Fix NEON compilation error on strict compilers. Fixes #18688
2024-01-18 10:38:30 +01:00
Henrik Rydgård
aee8f62ed5
Buildfix (included from c file)
2024-01-11 14:59:54 +01:00
Henrik Rydgård
0fef71348d
ARM32 buildfix
2024-01-11 12:42:05 +01:00
Henrik Rydgård
73cd690753
Optimize NEON matrix multiplication slightly
2024-01-11 11:34:08 +01:00
Herman Semenov
4ea842a3c1
Minor replaced insert to emplace C++11
2023-12-19 16:06:48 +03:00
Henrik Rydgård
6d3c34ecd5
Eliminate inf values resulting from depth range computation.
...
Fixes #17981
2023-12-12 18:48:22 +01:00
Henrik Rydgård
7e85d3d10a
Disable the new culling on RISC-V for now.
2023-12-09 16:49:02 +01:00
Henrik Rydgård
4e2a1bf81c
NEON: vcvtq can scale directly, no need for a mul by const.
2023-12-09 16:48:59 +01:00
Henrik Rydgård
99548be8a3
NEON culling: Use mla operations to shave off some more cycles. ARM32 compat.
2023-12-09 16:36:01 +01:00
Henrik Rydgård
6bb97b3d46
Better mechanism to fade out the side bar when not on EmuScreen
2023-07-16 08:55:48 +02:00
Henrik Rydgård
0bf0a4a1ef
UIContext: Add an easy way to draw drop shadows under rectangular things
2023-07-08 18:25:00 +02:00
Henrik Rydgård
1d0badae56
Achievements: Show achievement icons in list
2023-06-26 10:01:41 +02:00
Henrik Rydgård
266b85d22d
Support for extra text in OSD messages (drawn smaller, on darker background)
2023-06-21 01:16:25 +02:00
Henrik Rydgård
ae29fd2951
Vulkan profiler: Show CPU command buffer recording timing even if GPU timing is unavailable
2023-06-14 09:15:29 +02:00
Unknown W. Brackets
2f3a0ea0b5
Debugger: Simplify expression error handling.
2023-04-29 09:15:14 -07:00
Henrik Rydgård
7723aebb9b
Buildfixes
2023-04-28 21:56:39 +02:00
Henrik Rydgård
6945deec01
Replace a LOT of sprintf with snprintf, and a few strcpy with truncate_cpy
2023-04-28 21:04:05 +02:00