Commit Graph
36939 Commits
Author SHA1 Message Date
Henrik Rydgård def09bf575 Update the uvscale uniform a bit more conservatively on framebuffer changes
Plus fixes a few minor oversights

Fixes #17581 and possibly #17522
2023-06-15 11:57:30 +02:00
Henrik Rydgård 4a4cd3d977 Add logging when loading a save state that has "unknown-prefix-mode" set 2023-06-14 10:23:23 +02:00
Henrik Rydgård 76c4064c54 Merge pull request #17578 from hrydgard/vk-basic-stats
Vulkan GPU profiler: Show CPU command buffer recording timing even if GPU timing is unavailable
2023-06-14 09:45:27 +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
Henrik Rydgård fbd10e4722 FastVec: Add capacity lock, fix bug (extracted from a coming PR) 2023-06-14 09:06:25 +02:00
Henrik Rydgård 8eb55a6fd7 Merge pull request #17575 from hrydgard/vk-rip-out-input-attachments
Vulkan: Remove the remains of the input attachment experiment
2023-06-13 22:33:25 +02:00
Henrik Rydgård 6d8069dfd1 Vulkan: Remove the remains of the input attachment experiment
Haven't been using these for a while.

I've come to the conclusion here that I think it's better to try to
deal with the issues using safe workarounds like copies, instead of
relying on features with somewhat iffy driver support that are not
universal across APIs anyway.
2023-06-13 20:46:27 +02:00
Henrik Rydgård 0037a9703c Merge pull request #17573 from hrydgard/addstrip-opt
IndexGenerator::AddStrip: Reduce unnecessary writes for small strips
2023-06-13 13:16:00 +02:00
Henrik Rydgård df7bd89b7d Division->shift. since it's a signed integer, gets rid of a cdq instruction. 2023-06-13 11:57:28 +02:00
Henrik Rydgård 0eb3702ecb Then add the early-outs for NEON too. 2023-06-13 11:48:04 +02:00
Henrik Rydgård 9647872a09 Same for NEON, first the refactor... 2023-06-13 11:48:04 +02:00
Henrik Rydgård 77da36c03f SSE addstrip: Add the early-outs. 2023-06-13 11:47:53 +02:00
Henrik Rydgård 39034586a4 SSE: Refactor AddStrip to prepare for early out 2023-06-13 11:45:59 +02:00
Henrik Rydgård 22632b82bd Merge pull request #17565 from hrydgard/breakout-vcache-vulkan
Vulkan: Breakout the vertex cache logic from DoFlush()
2023-06-13 09:56:52 +02:00
Henrik Rydgård 963ca50ba7 Merge pull request #17567 from hrydgard/uvscale-as-argument
Pass uvScale in as a fourth argument to the vertex decoder
2023-06-13 09:49:31 +02:00
Henrik Rydgård 71a34d4ffc Merge pull request #17569 from hrydgard/arm64dec-optimize-saved-regs
ARM64: Optimize saved registers in vertex decoder.
2023-06-13 09:49:08 +02:00
Henrik Rydgård 10ae6f099b Merge pull request #17571 from unknownbrackets/softgpu-dot
softgpu: Use SIMD more for dot products
2023-06-13 09:47:13 +02:00
Unknown W. Brackets a7fa37d114 softgpu: Use SIMD more for dot products. 2023-06-12 19:54:32 -07:00
Henrik Rydgård 2ac7cc38e5 Merge pull request #17570 from hrydgard/fix-volume-keys
Fix issue with volume keys in the app UI
2023-06-13 00:50:26 +02:00
Henrik Rydgård bb40baefb5 Fix issue with volume keys in the app UI 2023-06-13 00:47:48 +02:00
Henrik Rydgård cdcf3b272e ARM64: Optimize saved registers in vertex decoder.
Simplify away some arrays with unused elements
2023-06-13 00:26:38 +02:00
Henrik Rydgård 4af6fac726 Nop-align the ARM and ARM64 loops too. Many CPUs benefit somewhat from hot loops being 16-byte aligned. 2023-06-13 00:05:48 +02:00
Henrik Rydgård 5ae9c9c64e Merge pull request #17568 from hrydgard/extract-some-changes
Extract some minor changes from #17497
2023-06-12 23:38:14 +02:00
Henrik Rydgård c4e44d66b0 x86/x64: Nop-align the main loop of vertex decoder loops 2023-06-12 20:39:39 +02:00
Henrik Rydgård 01cea7f088 Pass uvScale in as an argument to the vertex decoder
Cleaner than overwriting/restoring gstate_c.uvScale in the decoder
loop. A small cleanup I've been wanting to do for ages.

Expecting a negligble perf boost if any.
2023-06-12 20:25:18 +02:00
Henrik Rydgård 17a723e68c Merge pull request #17566 from hrydgard/vertex-decoder-color-opt
x86-64 vertex decoder: Keep the vertex-full-alpha variable in a register
2023-06-12 20:23:31 +02:00
Henrik Rydgård 880379c15d Extract some minor changes from #17497 2023-06-12 20:20:06 +02:00
Henrik Rydgård d957f6b0be Of course got the check backwards 2023-06-12 19:45:34 +02:00
Henrik Rydgård 1a1462ecb0 x86 buildfix, warning fix 2023-06-12 17:46:57 +02:00
Henrik Rydgård c9aa3479a4 Make vertexFullAlpha-in-register work the same as on ARM. 2023-06-12 16:08:14 +02:00
Henrik Rydgård a164f77f47 VertexDecoderX86 (64-bit only): Avoid a memory access per loop iteration for alpha 2023-06-12 15:58:55 +02:00
Henrik Rydgård 94e3412fd5 Merge pull request #17564 from hrydgard/stencil-clear-fix
OpenGL: Apply stencil writemask when clearing properly again
2023-06-12 14:25:28 +02:00
Henrik Rydgård f5516d3248 Actually switch away from XXH to a custom hash, to de-risk 2023-06-12 14:24:20 +02:00
Henrik Rydgård 2f90ec6093 Breakout the vertex caching (just code cleanup) 2023-06-12 13:16:14 +02:00
Henrik Rydgård 468757b93a Add comment about possible UV scale/offset bug. Move loop-max to local. 2023-06-12 13:16:14 +02:00
Henrik Rydgård d90671e877 Add some comments. 2023-06-12 13:16:13 +02:00
Henrik Rydgård 186b0f105c Simplify the vertex cache ID handling 2023-06-12 13:16:13 +02:00
Henrik Rydgård 53aa2cc596 Apply stencil writemask when clearing properly again, see #17478
Also renames vpAndScissor to vpAndScissor_ for consistency.
2023-06-12 11:49:44 +02:00
Henrik Rydgård 1f4142e0e2 Merge pull request #17562 from hrydgard/unknownbrackets-device-id
Android: Correct pad name tracking
2023-06-12 11:40:45 +02:00
Unknown W. Brackets f5f3afbeef Android: Correct pad name tracking.
This is split up in two messages, a bit ugly...
2023-06-11 15:43:21 -07:00
Henrik Rydgård 4dd4bf24fc Merge pull request #17561 from unknownbrackets/elf-reloc
Loader: Report on HI16/LO16 r_info mismatch
2023-06-11 23:59:52 +02:00
Unknown W. Brackets 4108eaca42 Loader: Add additional data to missing LO16 report. 2023-06-11 14:41:50 -07:00
Unknown W. Brackets ef59b60aac Loader: Report on HI16/LO16 r_info mismatch.
Referenced in some LLVM code which checks the index specifically:
https://github.com/llvm/llvm-project/blob/c72dea88b635bfd7856fa22bcaf388fa72c9fe86/lld/ELF/Relocations.cpp#L491

Noted by Kingcom.
2023-06-11 14:37:43 -07:00
Henrik Rydgård 7519af8481 Merge pull request #17552 from unknownbrackets/debug-hle-names
HLE: Add some assorted detected func names
2023-06-07 09:44:10 +02:00
Unknown W. Brackets c122ee0a11 HLE: Add some assorted detected func names.
These come from here:
https://github.com/SiSTR0/sce_symbols/blob/main/psp_names.txt
2023-06-06 23:50:49 -07:00
Unknown W. Brackets fa1da3118f riscv: Add some quick aliases. 2023-06-06 23:48:08 -07:00
Henrik Rydgård 733b7b0de6 Merge pull request #17549 from fp64/vrnd-fix
Fix vrnd to the current understanding
2023-06-05 14:15:18 +02:00
Henrik Rydgård 1ff579e539 Merge pull request #17545 from hrydgard/jit-math-function-opt
VFPU: Some micro-optimizations. Don't fall back to interpreter path for vexp/vlog/vrexp.
2023-06-05 06:06:26 +02:00
Unknown W. Brackets f54f5581cd interp: Potential linker buildfix.
Just in case it's thinking there's a definition to link, should use static.
2023-06-04 19:23:16 -07:00
Henrik Rydgård 688042c036 Unrelated warning fix 2023-06-04 23:02:34 +02:00