Commit Graph
4620 Commits
Author SHA1 Message Date
Henrik Rydgård aa93b48cd3 Move the depth raster code around a bit in DrawEngineCommon for easier changes 2025-01-02 13:46:01 +01:00
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 3743b5dea6 Add new minimal-overhead RunParallel function 2024-12-29 10:48:00 +01:00
Henrik Rydgård bb2b214d5e Minor FS logging 2024-12-29 09:31:50 +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 88b4991753 UI fixes: Rework savedata manager a bit, default keyboard focus to Cancel in confirmation dialogs (#19771)
* Savedata manager screen: Use TabbedUIDialogScreenWithGameBackground

This fixes some minor UI issues on this screen.

* PromptScreen (used for "Are you sure?"): Default keyboard focus to Cancel

Fixes #19770
2024-12-28 10:36:05 +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
Luboš V. d1f8b78bbb OpenXR - Remove non-functional Vulkan implementation (#19766)
* OpenXR - Remove non-functional Vulkan implementation

* Forgotten to commit
2024-12-26 10:05:18 +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 58adb379ea GE debugger improvements 2024-12-20 20:31:58 +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 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 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 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 c1ffebf54c Fix some logic in LogManager, cocoa warning fix 2024-12-17 20:22:58 +01:00
Henrik Rydgård c608184cdd ImGeDebugger: Add support to inspect depth and stencil buffers too, including hover values 2024-12-16 21:06:09 +01:00
Henrik Rydgård ab51c2a13b Fix enabling logs 2024-12-16 12:48:48 +01:00
Henrik Rydgård e567a58684 Remove StdioListener 2024-12-16 12:33:58 +01:00
Henrik Rydgård 8de30235f2 More cleanup. Make the log manager work even before "initialized", removng the Early phase 2024-12-16 12:33:58 +01:00
Henrik Rydgård 96cab3f267 Rework the log manager to be more robust 2024-12-16 12:33:58 +01:00
Henrik Rydgård afbf430899 Android joystick event handling: Don't blow up java ref counting by forgetting ReleaseElements.
Also, use JNI_ABORT to avoid writing back changes (we don't make any).
2024-12-15 23:03:22 +01:00
Henrik Rydgård 111d0c872d Global rename of FBChannel to Aspect, also make it a class enum 2024-12-15 22:24:05 +01:00
Henrik Rydgård 68f61c2add ImGeDebugger: Highlight changes, show old value on hover 2024-12-14 11:03:18 +01:00