Unknown W. Brackets and GitHub
f03cd0b2ad
Merge pull request #17899 from unknownbrackets/riscv-minor
...
Minor RISC-V cleanups, frame profiler fix
2023-08-13 11:19:42 -07:00
Unknown W. Brackets
41cddce167
TexCache: Encourage vectorization.
...
This gets clang to vectorize on RISC-V V, although it looks suboptimal
(probably faster than not using vector, though.) Also improves other
platforms, but our specializations seem better.
2023-08-13 10:21:04 -07:00
Henrik Rydgård
d82ecf1d3e
IniFile: Store sections in unique_ptrs, instead of directly.
...
This fixes an issue when you create two sections consecutively and
retain pointers to them, and then modify them, such as happens in the
postshader ini initialization. Previously, one of the section pointers
could get invalidated since the section vector got resized. Now, the
pointed-to sections don't move around in memory, only the list of them
does.
2023-08-13 13:41:43 +02:00
Henrik Rydgård
ebfd76d742
Add back the self-render check that kept Ridge Racer working.
...
This hack was removed in #17838
2023-08-08 15:42:52 +02:00
Henrik Rydgård and GitHub
74a471d7a5
Merge pull request #17846 from hrydgard/debug-overlay-everywhere
...
Debug overlay everywhere
2023-08-03 20:55:35 +02:00
Henrik Rydgård
be63ce3a4a
Minor refactor allowing getting the GPU profile string outside games
2023-08-03 16:31:20 +02:00
Henrik Rydgård
a32249a3cf
Move DebugOverlay rendering to the overlay screen, allowing drawing it on top of the menu
2023-08-03 16:19:18 +02:00
Henrik Rydgård
5ed4b532b7
Micro-optimize SubmitPrim, remove outdated mitigation
2023-08-02 19:14:32 +02:00
Henrik Rydgård
fc6879674e
Refactor overlays into an enum
2023-08-02 13:03:04 +02:00
Henrik Rydgård
1475fcb065
Fix a comment
2023-08-01 00:28:54 +02:00
Henrik Rydgård
061131ec8a
Cache planes used for BBOX culling
...
This isn't a huge performance boost for the games that use BBOX (like
Tekken), but it'll be more valuable if we start using soft culling more
widely automatically, see #17808
2023-07-30 14:42:22 +02:00
Henrik Rydgård and GitHub
bee2400230
Merge pull request #17769 from unknownbrackets/vertexjit-debug
...
Add compilation-enabled vertexjit compare tool
2023-07-24 09:39:52 +02:00
Unknown W. Brackets
b041e712de
riscv: Fix signed position bug in vertexjit.
2023-07-23 17:57:08 -07:00
Unknown W. Brackets
5cbad1982b
riscv: Correct 565 morph mistake.
...
Observed ni Valkyria Chronicles 3.
2023-07-23 17:57:08 -07:00
Henrik Rydgård and GitHub
da2b31e2cc
Merge pull request #17771 from unknownbrackets/riscv-vertexjit
...
Fix some silly mistakes in the RISC-V vertexjit
2023-07-23 23:57:04 +02:00
Henrik Rydgård and GitHub
89d5f55893
Merge pull request #17768 from unknownbrackets/vertex-uvscale
...
GPU: Correct UV scale for non-jit vertices
2023-07-23 23:52:20 +02:00
Unknown W. Brackets
f1c90a6014
riscv: Fix skinning decode, morph and not.
...
Was transposed and using the wrong matrix when morphing.
2023-07-23 14:35:37 -07:00
Unknown W. Brackets
1790964ffe
riscv: Fix vertexjit skinning, oops.
2023-07-23 14:35:37 -07:00
Unknown W. Brackets
311c78f26b
GPU: Make the vertexjit diff smarter.
2023-07-23 14:28:45 -07:00
Unknown W. Brackets
b6f11d6dae
GPU: Add a little tool to debug vertexjit.
...
Although it's too exacting right now, it still helps.
2023-07-23 14:28:45 -07:00
Unknown W. Brackets
312dcfc1c5
GPU: Correct UV scale for non-jit.
2023-07-23 14:25:43 -07:00
Henrik Rydgård
c1a290b41f
ReplacedTexture: Bugfix D3D workaround log check
2023-07-23 22:06:06 +02:00
Henrik Rydgård
ace217008a
In D3D11, force block compressed textures to have dimensions divisible by 4
...
Fixes #17745 (crash when loading certain texture packs in D3D11)
This is an old unfortunate limitation. Only applies to the top mip
level, which makes it obvious that it's kinda unnecessary for the
hardware and indeed, Vulkan and OpenGL don't have this limitation.
2023-07-20 19:44:00 +02:00
Henrik Rydgård
b4419a9146
Remove the old screen resolution popup thing
2023-07-16 17:05:26 +02:00
Henrik Rydgård
eb21a2e6c9
Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h
2023-06-30 17:15:49 +02:00
Henrik Rydgård
7cc8c6cea4
OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI).
2023-06-20 14:40:46 +02:00
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
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
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 and GitHub
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 and GitHub
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
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 and GitHub
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
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
f5516d3248
Actually switch away from XXH to a custom hash, to de-risk
2023-06-12 14:24:20 +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
186b0f105c
Simplify the vertex cache ID handling
2023-06-12 13:16:13 +02:00
Henrik Rydgård
e9e95d23ce
VulkanDebug log fix, reduce log spam
2023-05-30 18:32:33 +02:00
Henrik Rydgård
49ecc01556
Fix image leak bug when pausing and we're just displaying a framebuffer in memory
2023-05-30 18:29:50 +02:00