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
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
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
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
Henrik Rydgård
7c4b9bac90
Cache textures created by MakePixelsTexture and reuse where appropriate.
2023-05-30 14:07:44 +02:00
Henrik Rydgård
ea552bc573
Add a new GPU stat (DrawPixels), kinda heavy since creates textures. GoW does 20-ish per frame.
2023-05-30 10:15:34 +02:00
Henrik Rydgård
ad8827ae70
Cleanup, address feedback
2023-05-26 10:28:10 +02:00
Henrik Rydgård
6cee08c74f
Post-processing: Fix using limited UV ranges when there's a single upscaling filter in the chain.
...
Fixes #17499
2023-05-26 09:48:51 +02:00
Henrik Rydgård
80e47b7bd3
Only dirty the uniform UVSCALEOFFSET when really needed
...
Broken out from #17479
With OpenGL, greatly reduces the amount of glUniform4fv calls in many games (and
similar in the other backends).
2023-05-25 15:00:57 +02:00
Henrik Rydgård
7178c0cd42
Restore fragmentshader ID flags double and texalpha. Add a ubershader mode that uses dynamic state.
2023-05-25 10:19:01 +02:00
Henrik Rydgård
bb6d696a84
Merge the tex "ubershader" uniforms into one for convenience
2023-05-25 10:19:01 +02:00
Henrik Rydgård
ebd36a4369
Reorganize the fragment shader bits
2023-05-25 10:19:01 +02:00
Henrik Rydgård
f16f879b41
Some renaming to follow the standard of appending _ to member vars
2023-05-23 18:00:50 +02:00
Henrik Rydgård
d51d1413a3
DrawEngineCommon: Rename decoded to decoded_
2023-05-23 16:46:43 +02:00
Henrik Rydgård
67a35d3476
Merge pull request #17356 from unknownbrackets/minor-cleanup
...
Cleanup some more string formats, mostly in debugger
2023-05-23 08:29:23 +02:00
Henrik Rydgård
05b6bbdc56
Add a trivial profiling tool to the OpenGL backend - meaasure the time it takes to run a frame of commands.
...
Accessed from the in-game dev menu just like the Vulkan frame profiler.
With this we can easily see that actually submitting the GL commands is often the bottleneck on old
devices like a Galaxy S3.
2023-05-17 14:38:11 +02:00
Henrik Rydgård
9512bc6174
Don't cache render target copies for shader blending, only cache copies for overlap
...
Fixes #17451 , while also keeping the Dante performance fix from #17032 .
Of course, it's possible that something else could slow down now... But
hopefully not. This could also fix other problems.
2023-05-11 12:04:29 +02:00
Henrik Rydgård
fd43807c4d
New fragment shader optimization: Only clamp color output if needed.
2023-05-09 18:44:24 +02:00
Henrik Rydgård
b42670cf59
Manually revert the rest of the lmode optimization
2023-05-09 18:44:24 +02:00
Henrik Rydgård
0babac5c5f
Manually revert "Remove LM flag from vshader too" ( #16718 )
...
Reverts #16718
Though maybe we can keep this one? Let's see.
2023-05-09 18:44:18 +02:00
Henrik Rydgård
f42c682d34
Revert "Merge pull request #16628 from hrydgard/remove-fog-fshader-flag"
...
This reverts commit 10dee90c83
, reversing
changes made to 34c11c8acf
.
2023-05-08 22:01:38 +02:00
Henrik Rydgård
0e2fb13c61
Make sure we never end up with a null vertex decoder.
2023-05-03 22:22:54 +02:00
Henrik Rydgård
cee9d2bdd2
Delete outdated lines
2023-05-03 08:35:07 +02:00
Henrik Rydgård
c476d986f7
Bump the index/vertex cpu-side buffer sizes a little. Replaces #17387
2023-05-03 00:24:43 +02:00
Henrik Rydgård
dc96374eb2
Merge pull request #17380 from hrydgard/replacement-find-files
...
Pre-scan the root of texture packs for hash-named files.
2023-05-02 21:40:05 +02:00
Henrik Rydgård
ee7e8d7c06
Add a unit test, fix listing zip directories
2023-05-02 11:35:45 +02:00
Unknown W. Brackets
bd37e98299
Merge pull request #17382 from hrydgard/avoid-double-texreplace-load
...
Avoid double texture cache load.
2023-05-01 22:14:20 -07:00
Henrik Rydgård
bdd0eeb7c3
Avoid double texture cache load.
...
Texture packs are loaded from NotifyConfigChanged which is called
anyway.
Fixes #17381
2023-05-01 23:52:39 +02:00