Henrik Rydgård
e3177ac870
Make some global string pointers const, not just the strings.
...
Minor cleanup.
2023-12-29 14:09:45 +01:00
Henrik Rydgård
f22249cef5
Reject zero-vertex-count draws.
...
I thought all the code was safe against it, but it isn't.
2023-12-29 14:09:45 +01:00
Henrik Rydgård
126d88ecfc
Back out clearly inconsequential/useless .reserve() calls
2023-12-29 08:27:56 +01:00
Henrik Rydgård
acbd32c5f1
Fix GE frame dumps, no longer produces only 1kb files.
...
Broke in ca94de8d4b
2023-12-28 20:27:32 +01:00
Henrik Rydgård
80c6dbfdfe
Minor: bugfix in texreplacer, darker alpha chessboard in texture viewer
2023-12-28 19:46:36 +01:00
Henrik Rydgård
3895cfff74
Add "Analog trigger threshold" setting, for conversion of analog trigger inputs to digital button inputs.
2023-12-28 13:36:03 +01:00
Henrik Rydgård
822ebf9dfb
Use the correct culling function in the fast draw-continuation loop
2023-12-28 10:40:56 +01:00
Henrik Rydgård
faef4aae2c
Add a comment on how to fix the actual bug.
2023-12-25 17:39:28 +01:00
Henrik Rydgård
c2963c7941
Fix issue where "Texture replacement pack activated" wasn't displayed without an ini
2023-12-25 13:25:28 +01:00
Henrik Rydgård
126d70cf9d
Improve handling of texture packs without .ini files (not recommended, but exists)
2023-12-25 13:25:28 +01:00
Henrik Rydgård
849000a958
Texture replacer: Break out two functions from LoadIniValues
2023-12-25 13:25:27 +01:00
Henrik Rydgård
0f3dca5cea
Revert a bad "optimization" I made in #18587
2023-12-25 12:03:09 +01:00
Henrik Rydgård
cf81ae1b4e
Merge pull request #18599 from hrydgard/tactics-ogre-eliminate-readback
...
Tactics Ogre: Remove a redundant GPU readback operation
2023-12-22 22:51:21 +01:00
Henrik Rydgård
8601c5a3bc
Merge pull request #18596 from hrydgard/more-control-refactor
...
More control refactor
2023-12-21 13:40:41 +01:00
Henrik Rydgård
437b292b7d
Tactics Ogre: Remove a redundant readback operation it performs a lot.
2023-12-21 12:37:34 +01:00
Henrik Rydgård
e488189723
Inline UpdateUVScaleOffset
2023-12-21 12:10:10 +01:00
fp64
d35c10beb6
Fix texture upscaler bug
...
Was not actually affecting anything, since this path is not used.
Still better fix it, for correctness sake.
2023-12-21 11:55:45 -05:00
Henrik Rydgård
ac208505a5
Remove bad debug assert
2023-12-21 11:48:52 +01:00
Henrik Rydgård
a9553f4eef
Merge pull request #18586 from hrydgard/indexgen-opt
...
DrawEngine: Avoid decoding indices when we don't need them.
2023-12-20 15:28:48 +01:00
Henrik Rydgård
e9736186aa
Merge pull request #18587 from hrydgard/minor-vshader-opt
...
Minor lighting optimization in vshader
2023-12-20 15:27:01 +01:00
Henrik Rydgård
dd1396e2fd
Merge pull request #18581 from GermanAizek/lower-scope
...
Reduced lower scope for local objects
2023-12-20 14:53:36 +01:00
Henrik Rydgård
2238fab601
Minor lighting optimization in vshader
2023-12-20 14:47:49 +01:00
Henrik Rydgård
61acce195c
Avoid decoding indices when we don't need them.
2023-12-20 14:25:19 +01:00
Herman Semenov
ca94de8d4b
[GPU/Common/DX9/GLES/Software] Object out of scope optimization for better codegeneration (lower level scope)
2023-12-20 12:34:34 +03:00
Henrik Rydgård
bca83c0baf
Buildfix
2023-12-19 14:44:21 +01:00
Henrik Rydgård
f86189c951
Show vertex decoders separately in profiles
2023-12-19 12:25:54 +01:00
Henrik Rydgård
50bcb2a77a
Add "Disable culling" as a speedhack for experimentation
...
Range culling (which we'll just call culling in the setting
name) still is problematic enough that it can be useful to have this
way to turn it off as an escape route. Since disabling it can break some
games like famously TOCA, it needs to be under speedhacks, though likely
the performance change is minimal.
See for example #17061
2023-12-18 13:13:44 +01:00
Henrik Rydgård
02eb10649d
Improve checks
2023-12-18 09:12:44 +01:00
Henrik Rydgård
b2729507a1
Assorted debugger-related fixes
...
Also fixes issue where the rewind machinery would run even during pause.
2023-12-18 00:21:53 +01:00
Henrik Rydgård
bbcaeb9d13
Merge pull request #18557 from GermanAizek/reserve-add
...
Using reserve in different places PPSSPP
2023-12-15 12:28:21 +01:00
Herman Semenov
0748ce610f
[GPU/Common/D3D11/Directx9/GLES/Vulkan] Using reserve if possible
2023-12-15 14:08:22 +03:00
Henrik Rydgård
acbc9dc94f
DXT5: Fix decoding of alpha channel for textures with a non-mod-4 width.
2023-12-15 10:27:24 +01:00
Henrik Rydgård
748193f227
Fix issue with misdetection of framebuffer copies.
...
Fixes #18512
2023-12-14 23:16:21 +01:00
Henrik Rydgård
155222145a
Merge pull request #18550 from GermanAizek/fix-memsize-type
...
[Common Data Net/Core Debugger HLE/GPU Debugger] Fixed reduction data type size to strict 32-bit integer
2023-12-14 17:51:08 +01:00
Herman Semenov
309f0d97f2
[Common Data Net/Core Debugger HLE/GPU Debugger] Fixed reduction data type size to strict 32-bit integer
2023-12-14 19:26:10 +03:00
Henrik Rydgård
ebaebf5945
Merge pull request #18546 from GermanAizek/make-smart-ptr
...
[Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointers using C++17 std::make_*
2023-12-14 14:02:55 +01:00
Henrik Rydgård
b78c7ad470
Merge pull request #18545 from GermanAizek/const-ref-params
...
Objects in function parameters have been replaced with constant references
2023-12-14 13:49:33 +01:00
Herman Semenov
08070e7f31
[Common Data/Core Dialog HLE/GPU Common Vulkan] Optimize create smart pointer using C++17 std::make_*
2023-12-14 15:44:16 +03:00
Herman Semenov
3d422b11c0
[GPU Common Vulkan/UI/Windows Debugger] Added const reference for function params
2023-12-14 14:23:31 +03:00
Henrik Rydgård
a8b8e44de1
Increase texture size limit to 1024. It's actually used by FF3.
2023-12-13 22:18:54 +01:00
Henrik Rydgård
0795f6b9e8
Merge pull request #18539 from hrydgard/speedhack-readback-multi-choice
...
Add multiple choices to the speedhack "Disable GPU readback"
2023-12-13 18:18:44 +01:00
Herman Semenov
315340fc62
Using const reference for C++17 range-based loop and freq used objects
2023-12-13 17:33:01 +01:00
Henrik Rydgård
e62614498e
Buildfix mac (name collision with NO...)
2023-12-13 16:48:07 +01:00
Henrik Rydgård
caec201c4d
Make "Skip GPU readbacks" a multi-choice option, for easier experimentation by users
2023-12-13 16:18:44 +01:00
Henrik Rydgård
b4c61acbf3
Merge pull request #18534 from hrydgard/vulkan-16bit-format
...
Use the universally supported Vulkan "565" 16-bit texture format
2023-12-12 19:13:34 +01: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
f2da5dafd1
Use the universally supported Vulkan "565" 16-bit texture format
...
Previously mistakenly used the BGR format instead of the RGB.
Probably won't make much of a difference for anything, but may affect #17881
if my theory about it is correct.
Also minor cleanups.
2023-12-12 18:19:29 +01:00
Herman Semenov
de80cc3883
Using reserve if possible
2023-12-12 15:13:43 +03:00
Henrik Rydgård
1a02995942
Merge pull request #18520 from hrydgard/opengl-render-fix
...
OpenGL: Fix some confusion between gpu->BeginHostFrame and gpu->BeginFrame
2023-12-11 23:44:33 +01:00
Henrik Rydgård
33e48e9675
OpenGL: Fix some confusion between gpu->BeginHostFrame and gpu->BeginFrame, fixing black screen
2023-12-11 23:05:37 +01:00
Henrik Rydgård
3902c85f7f
Enable texture replacement filtering overrides even if file is missing
2023-12-11 20:20:35 +01:00
Henrik Rydgård
8d8ff5886b
Fix issue where nothing had started a render pass when we wanted to clear the screen.
2023-12-11 13:06:15 +01:00
Henrik Rydgård
71aaad23fb
Fix issue with zero-vertex draw calls. Though, should maybe just filter them out earlier.
2023-12-10 12:21:07 +01:00
Henrik Rydgård
aca3bbc9a0
DrawEngine: Remove the confusing MaxIndex accessor, replace with directly reading numDecodedVerts_
2023-12-10 11:58:47 +01:00
Henrik Rydgård
904ce4f7e1
Quickfix regression in Outrun
2023-12-09 18:32:26 +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
6a7ef83f4b
NEON-optimize the culling
2023-12-09 15:55:51 +01:00
Henrik Rydgård
5b44e25150
SSE-optimize the frustum culling
2023-12-09 15:55:51 +01:00
Henrik Rydgård
62c936babf
Flip the cull plane data around to avoid transforming each vertex multiple times.
2023-12-09 15:55:51 +01:00
Henrik Rydgård
a043962447
World space planes
2023-12-09 15:55:51 +01:00
Henrik Rydgård
dbf796bb66
Fastcull: SSE/NEON-optimize 16-bit position conversion
2023-12-09 15:55:51 +01:00
Henrik Rydgård
89d8ef87ec
Use a less accurate but faster frustum cull for the general draws.
2023-12-09 15:55:51 +01:00
Henrik Rydgård
0905b6a5ad
Frustum-cull small draws
...
Some games do a poor job of culling stuff, and some transparent
sprites can be very expensive if they cause a copy.
Skipping them if outside the viewport makes sense in that case.
One example are the flame sprites in #17797 .
Additionally, we should be able to cull through-mode draws easily, this
one doesn't even try.
2023-12-09 15:55:51 +01:00
oltolm
6e609342d6
fix ASAN error in Vec2<float>::Length()
2023-12-08 19:50:47 +01:00
Henrik Rydgård
8dab823936
Merge pull request #18484 from hrydgard/mlb-fix
...
Fix frozen pitch meters in MLB series games - we were not hashing enough texture data
2023-12-07 12:12:35 +01:00
Henrik Rydgård
877324c978
Add comment about swizzling to the texture replacer hash
2023-12-07 11:01:51 +01:00
Henrik Rydgård
443a882041
Fix the size calculation when hashing small swizzled textures
2023-12-07 10:45:31 +01:00
Henrik Rydgård
36a2174ac0
Vulkan: Add indicator of swizzle mode to texture debug names
2023-12-07 10:35:04 +01:00
Henrik Rydgård
7bf8023dce
Don't do the texture size check for the built-in font texture.
...
Fixes #18483
Fixes #18479
2023-12-07 09:01:24 +01:00
Henrik Rydgård
b90b6268ec
Merge pull request #18478 from hrydgard/block-transfer-to-depth
...
Handle block transfers from RAM to depth buffers.
2023-12-06 10:12:31 +01:00
Henrik Rydgård
26a51191b3
Cleaner solution to previous commit
2023-12-06 09:54:03 +01:00
Henrik Rydgård
8588b11a6a
Rename MayIntersectFramebuffer to MayInteresectFramebufferColor
2023-12-06 09:42:44 +01:00
Henrik Rydgård
88f2657bb1
Allow block transfers from RAM to depth buffers.
...
Reuses the existing compat flag BlockTransferDepth.
I do aim to remove that compat flag in the future, it's probably not
even necessary here, it's just that general depth block transfers were
already gated on it.
Fixes #17878
2023-12-06 00:29:09 +01:00
Henrik Rydgård
e2480b9fa0
D3D9: Apply a half-pixel offset in 2D shader draws. Makes Tantalus games less broken (but still broken)
2023-12-05 14:09:14 +01:00
Henrik Rydgård
64a810f9bf
VertexDecoder: Minor optimization for CPUs not supporting SSE4.
2023-12-05 01:23:09 +01:00
Henrik Rydgård
6b8ec972fb
A couple of warning fixes (real issues though small)
2023-12-05 01:12:42 +01:00
Henrik Rydgård
5373b8c5b3
Fix double-free problem in "low-memory" texture fallback (Vulkan)
2023-12-04 19:47:20 +01:00
Henrik Rydgård
fb8ad0c33a
Very minor cleanup in display list processing
2023-12-04 18:56:06 +01:00
Henrik Rydgård
fd73522efc
Changing UV scale/offset requires us to stop "extending" prims
...
This is because we currently can't change these scales mid-decode, so we
need to break up the collection there. Note that this still won't cause
a full flush, just that the new extra-efficient tristrip merging can't go
through these commands.
2023-12-03 19:21:55 +01:00
Henrik Rydgård
7f67a10543
Texture replacement: Prioritize ini file lines over files in the "root".
...
This reverts back to the old behavior, as mentioned in #18465
2023-12-03 00:18:39 +01:00
Henrik Rydgård
d584162e06
Merge pull request #18462 from hrydgard/framebuffer-listing-overlay
...
Framebuffer listing overlay
2023-12-02 18:51:33 +01:00
Henrik Rydgård
6d977b4a12
Remove unnecessary struct FramebufferInfo
2023-12-02 13:56:18 +01:00
Henrik Rydgård
4ef54169af
Add a compat.ini setting to allow delayed GPU readbacks, for experimentation.
2023-12-02 11:34:59 +01:00
Henrik Rydgård
b636356f36
copy: Reverse the order of the y and seq heuristics
2023-12-01 20:40:12 +01:00
Henrik Rydgård
cef17589d2
Move the oversize copy detection to a better location (less false positive)
2023-12-01 00:30:06 +01:00
Henrik Rydgård
d9365a6df1
FramebufferCopy: New framebuffer candidate sorting, similar to block transfer detection.
...
The previous attempt was simply flawed.
2023-12-01 00:10:16 +01:00
Henrik Rydgård
7920e86098
Add heuristic, fixing video flicker in Naruto UNH 2 caused by copy to wrong target.
2023-11-30 22:19:52 +01:00
Henrik Rydgård
737ec3e90b
NEON buildfix
2023-11-28 18:40:10 +01:00
Henrik Rydgård
4ec2d76bc9
NEON-optimize matrix tranposes
2023-11-27 23:57:26 +01:00
Henrik Rydgård
45aae7b9da
ARM32: Backport a lot of previously 64-bit-only NEON optimizations to ARM32.
2023-11-27 23:51:10 +01:00
Henrik Rydgård
dae758e5f4
Fix some bugs and mistakes found by Nemoumbra through static analysis
2023-11-26 13:43:11 +01:00
Henrik Rydgård
aec0606ba4
Optimize the bounding box code for more vertex formats
2023-11-26 13:40:37 +01:00
Henrik Rydgård
cb9c6dc661
Merge pull request #18418 from hrydgard/simplify-input-layout
...
thin3d/backends: Remove code that pretended that we supported multiple vertex streams
2023-11-13 12:51:09 +01:00
Henrik Rydgård
d891aaf9cd
Remove code that pretended that we supported multiple vertex streams
...
Don't really see that we'll have much use for this feature, so simplify
it away. Only single vertex stream data is now supported by the thin3d
API.
2023-11-13 01:15:28 +01:00
Henrik Rydgård
77825484a0
If available, use 16-bit texture formats for MakePixelTexture when appropriate.
...
Optimization for God of War on low-end platforms. Avoids calling a color
conversion function that's currently only SIMD-optimized on x86, so will
also benefit ARM a little bit.
2023-11-12 15:58:03 +01:00
Henrik Rydgård
49f5da370a
Simplify the logic in MakePixelTexture a bit
2023-11-12 11:19:45 +01:00
Henrik Rydgård
cc6f9a73ca
Oops, fix for previous commit. And minor optimization.
2023-11-12 01:32:02 +01:00
Henrik Rydgård
632fa1c9d6
Cache and hash data for DrawPixels.
...
We already had a cache to reuse texture objects so just
opportunistically reuse them when easy to do so.
2023-11-11 19:58:12 +01:00
Henrik Rydgård
dd032dc533
Delete two unused structs
2023-11-11 10:55:54 +01:00
Henrik Rydgård
4f2f1c4392
Tilt: Fix some edge cases leading to division by zero and similar.
2023-11-09 19:14:31 +01:00
Henrik Rydgård
48a1348352
Move a var for clarity
2023-11-01 21:30:04 -06:00
Henrik Rydgård
ee6ffac28e
Ignore triangle strips with less than 3 vertices.
...
Should fix the new issue reported in #18273
2023-11-01 21:28:37 -06:00
Henrik Rydgård
618589abd8
Merge pull request #18362 from unknownbrackets/softgpu-zmirror
...
softgpu: Point depthbuf at the first VRAM mirror
2023-10-15 22:53:00 +02:00
Unknown W. Brackets
f7f05072fe
softgpu: Point depthbuf at the first VRAM mirror.
2023-10-15 10:33:05 -07:00
Henrik Rydgård
f842f16fbe
Inline "DecodeVertexToPushPool" for ease of change.
2023-10-12 11:58:49 +02:00
Henrik Rydgård
12a98baf59
Cleanups, make the various SubmitPrim implementations more similar
2023-10-12 11:58:48 +02:00
Henrik Rydgård
f769b2c8a3
Remove unused functionality from descpool
2023-10-11 12:29:57 +02:00
Henrik Rydgård
0ad2827e14
Vulkan: Fix synchronization when shutting the GPU down in-game.
2023-10-11 12:27:39 +02:00
Henrik Rydgård
183d49329a
Allow writing directly into the packed descriptor buffer, saving a memcpy.
2023-10-11 11:02:17 +02:00
Henrik Rydgård
2ac14f555d
Remove VulkanPushBuffer (keeping our newer replacement VulkanPushPool)
2023-10-11 09:06:24 +02:00
Henrik Rydgård
e4ea4831e9
Delete the vertex cache option from the code.
2023-10-10 15:43:43 +02:00
Henrik Rydgård
078018a943
Move the clockwise calculation out of DrawEngineCommon
2023-10-10 13:16:34 +02:00
Henrik Rydgård
82606b6eb2
Move the clockwise calculation out of the AddPrim loop
2023-10-10 13:00:57 +02:00
Henrik Rydgård
3d949b080d
Prepare VulkanDescSetPool for block allocation
2023-10-10 09:14:10 +02:00
Henrik Rydgård
9c1c09ff5c
Remove commented out code
2023-10-10 09:02:35 +02:00
Henrik Rydgård
ba4d1668ce
Don't forget to update descCount in tess mode
2023-10-10 09:02:35 +02:00
Henrik Rydgård
af47ad035d
Also use the new descriptor mechanism for in-game
2023-10-10 09:00:29 +02:00
Henrik Rydgård
35fcec1e4b
Another small fix, helps Toca series games.
2023-10-10 02:13:25 +02:00
Henrik Rydgård
24409f6f94
Additional check fix
2023-10-09 21:15:17 +02:00
Henrik Rydgård
f6ba4ee4de
Only support extending triangle-based draw calls. Fixes Crazy Taxi.
2023-10-09 21:14:00 +02:00
Henrik Rydgård
10bc6b4cd8
Safety check that doesn't fix crazy taxi
2023-10-09 21:10:53 +02:00
Henrik Rydgård
ced821169e
Bump shader cache versions
2023-10-09 19:39:25 +02:00
Henrik Rydgård
bb38210cfb
We somehow lost the usage_ counter increment in VulkanDescSetPool, fix that
2023-10-09 17:01:35 +02:00
Henrik Rydgård
a8b8580756
Don't forget to check the stall address, even in the optimized primitive loop
2023-10-09 14:08:11 +02:00
Henrik Rydgård
7fd7015987
Fix bug in vertex cache using uninitialized data
2023-10-09 14:03:41 +02:00
Henrik Rydgård
a780d02c07
Minor reordering
2023-10-09 11:54:15 +02:00
Henrik Rydgård
316bc03ac9
Move the destroy function for VKRPipelineLayout to VulkanRenderManager
2023-10-09 11:54:13 +02:00
Henrik Rydgård
ae58fe3828
In GL and Vulkan soft-skin, we might not be fully done decoding when we reach flush. Take that into account.
2023-10-08 16:51:58 +02:00
Henrik Rydgård
c73e2351de
Add checks for unused topology values when loading pipeline caches.
2023-10-08 13:39:04 +02:00
Henrik Rydgård
28ed12aa93
Simplify descriptor pool creation
2023-10-08 12:39:19 +02:00
Henrik Rydgård
b82a34539d
Same as last commit, but in DrawEngineVulkan.
2023-10-08 12:39:19 +02:00
Henrik Rydgård
dbe395dd00
Add a wrapper around VKRPipelineLayout / descsetlayout
2023-10-08 12:39:18 +02:00
Henrik Rydgård
34fbbf2c2a
Split out the descriptorset pool from VulkanMemory.cpp/h
2023-10-08 11:45:00 +02:00
Henrik Rydgård
c7a3e7bc32
Remove a redundant variable
2023-10-06 16:32:59 +02:00
Henrik Rydgård
cd35252400
DrawEngine; Convert strip sequences in a tight loop
2023-10-06 16:25:13 +02:00
Henrik Rydgård
10ccbfd68c
Unify the clearing of variables after a draw call
2023-10-06 15:39:59 +02:00
Henrik Rydgård
d4703e9534
Decoded position format is always the same
2023-10-06 15:39:58 +02:00
Henrik Rydgård
69b43ab734
Extend the Test Drive color ramp smoother to detect up to 3 ramps in a texture.
...
Note that we also offset the lookup slightly to miss the wrap-around
points. The existing 31 scale factor instead of 32, together with that
half-texel, are enough to avoid that problem.
Fixes #18300
2023-10-03 23:30:18 +02:00
Henrik Rydgård
226d25721a
Add a block transfer GPU stat, remove a redundant one
2023-10-03 13:15:55 +02:00
Henrik Rydgård
d07c3c5148
Fix main-thread stalls due to decimate during replacement texture loading
2023-10-03 12:17:43 +02:00
Henrik Rydgård
af7efe4b5d
Fix. Need to flush soft-skinned vertices when changing vertex format.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
200575b2bc
Allow the new optimization through redundant VADDR instructions, very common
2023-10-03 11:01:37 +02:00
Henrik Rydgård
3aa0f5b543
A bit more
2023-10-03 11:01:37 +02:00
Henrik Rydgård
4d95250052
Optimize further
2023-10-03 11:01:37 +02:00
Henrik Rydgård
0260aebc26
Implement fast-path for merging non-indexed draws quickly.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
e63bb0459c
Add a new stat, so we can see per game if the optimization has an effect
2023-10-03 11:01:37 +02:00
Henrik Rydgård
1c49d5718c
Add an offset field that we'll need later
2023-10-03 11:01:37 +02:00
Henrik Rydgård
92ffef2626
Remove some state from IndexGenerator, fix bugs. Mostly works except vertex cache.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
9b411af1f5
It's running.
2023-10-03 11:01:37 +02:00
Henrik Rydgård
bd760b9115
Merge pull request #18217 from hrydgard/gles-simplify-disk-cache
...
Simplify disk-cache-load on GLES as well, for the same reasons as #18216
2023-10-03 10:39:27 +02:00
Henrik Rydgård
76ad3dec4d
Revert unclear optimization
2023-10-01 16:43:33 +02:00
Henrik Rydgård
bd931f9cbe
Additional minor cleanups
2023-10-01 14:31:46 +02:00
Henrik Rydgård
3cef04f885
Fix incorrect flushing behavior in the prim sequencer, small optimization
2023-10-01 14:23:34 +02:00
Henrik Rydgård
a2fe906534
Micro-optimization: Don't need to check drawcalls for 0. Extract shared expression. Yes I checked assembly.
2023-10-01 14:10:19 +02:00
Henrik Rydgård
52ad0d0335
Minor cleanup in Prim()
2023-10-01 13:57:41 +02:00
Unknown W. Brackets
e79e0e21ad
arm64jit: Skip unnecessary const load w/4 weights.
2023-09-30 15:41:56 -07:00
Henrik Rydgård
fb4a1fb7dd
Simplify disk-cache-load on GLES as well, for the same reasons as #18216
2023-09-30 13:45:13 +02:00
Henrik Rydgård
70edf4f234
Merge pull request #18233 from unknownbrackets/meminfo-defer
...
Use a thread for meminfo and defer tag lookup for copies
2023-09-29 11:37:47 +02:00
Henrik Rydgård
cf48532ef5
Merge pull request #18219 from hrydgard/get-index-bounds-autovec
...
Make GetIndexBounds friendlier to autovectorization. Works on x86 at least.
2023-09-29 11:31:34 +02:00
Henrik Rydgård
b8fa3a2071
Merge pull request #18125 from unknownbrackets/arm64-vertexjit
...
arm64jit: Optimize weight loading a bit
2023-09-29 09:52:56 +02:00
Henrik Rydgård
db421165c0
Merge pull request #18172 from hrydgard/more-lenient-clear-detection
...
Make clear detection a bit more lenient
2023-09-29 09:52:08 +02:00
Henrik Rydgård
abbd1c83bd
Revert "Merge pull request #18184 from hrydgard/expand-lines-mem-fix"
...
This reverts commit 65b995ac6c
, reversing
changes made to 01c3c3638f
.
2023-09-27 20:04:37 +02:00
Henrik Rydgård
48d3efc473
Bump shader cache versions again, just because.
2023-09-27 17:38:15 +02:00
Henrik Rydgård
038bc7fc49
Fix issue uploading narrow textures in OpenGL.
...
We had some stride adjustment that is not needed - and we're not passing
the stride along, so it can't do the "right thing".
Fixes #18254
2023-09-27 16:43:06 +02:00
Henrik Rydgård
f2cfbe1bcf
Vulkan: Add the same shutdown logic to stop async shader compiles to DeviceLost
2023-09-26 01:28:59 +02:00
Henrik Rydgård
db245e1b34
Fix old texture leak in GLES hardware tessellation
2023-09-26 00:38:11 +02:00
Henrik Rydgård
01035f48a4
Fix for crash when changing backends in-game
2023-09-26 00:13:53 +02:00
Unknown W. Brackets
810d8c0890
Debugger: Use dedicated func to notify mem copy.
2023-09-24 19:07:36 -07:00
Henrik Rydgård
45bc4d8750
Make GetIndexBounds friendlier to autovectorization. Works on x86 at least.
2023-09-24 12:15:04 +02:00
Henrik Rydgård
6e303e8f1d
Vulkan: Simplify GetShaders and DirtyLastShader, making them internally consistent.
2023-09-24 11:55:15 +02:00
Henrik Rydgård
d31ba393af
Don't load the shader cache on a separate thread - all it does is already async
2023-09-24 10:53:23 +02:00
Henrik Rydgård
964f606a9c
Fix some issues around geometry shaders - like, loading them from shader cache while disabled
2023-09-24 01:29:38 +02:00
Henrik Rydgård
dbd3045f87
Join the shader cache load thread on exit
2023-09-24 01:07:08 +02:00
Henrik Rydgård
9a515c851f
Vulkan: Extend the cacheLock usage in GetShaders (was unsafe, though mildly)
2023-09-24 00:58:45 +02:00
Unknown W. Brackets
b610e2f314
GPU: Handle invalid blendeq more accurately.
2023-09-23 13:08:25 -07:00
Henrik Rydgård
6a8f65b566
Some assert paranoia, remove unused "failed_" variable
2023-09-23 10:09:32 +02:00
Henrik Rydgård
81f47caf2f
Clarify the primitive expansion, add reporting
2023-09-22 10:27:02 +02:00
Henrik Rydgård
602407fcf2
Warning and comment fixes, logic precedence fixes in PPGeDraw
2023-09-21 16:41:42 +02:00
Henrik Rydgård
1aab1c4b09
Be a bit smarter when loading the shader cache, avoid duplicating work
2023-09-21 10:44:04 +02:00
Henrik Rydgård
2e171b22ec
Vulkan: Remove an assert that didn't give much actionable information. Replace with reporting.
2023-09-20 22:50:38 +02:00
Henrik Rydgård
65b995ac6c
Merge pull request #18184 from hrydgard/expand-lines-mem-fix
...
Add memory bounds-check when expanding points, rects and lines to triangles
2023-09-20 20:39:16 +02:00
Henrik Rydgård
966144fa64
Bounds check writing to the index buffer when expanding lines/rects/points
2023-09-20 19:26:36 +02:00
Henrik Rydgård
3f2ef508c9
Make it easier to reason about space in the inds buffer by moving an offset instead of the pointer.
2023-09-20 19:23:24 +02:00
Henrik Rydgård
3783afd855
Fix a really bad race condition during game shutdown.
2023-09-20 18:47:32 +02:00
Henrik Rydgård
5c94b41dde
Vulkan: If a createimageview failed, don't leak the image. Probably very rare.
2023-09-20 18:47:32 +02:00
Henrik Rydgård
e6a864ee04
Make clear detection a bit more lenient. Allows using clears in Assassin's Creed and likely more.
2023-09-18 23:57:20 +02:00
Henrik Rydgård
0bfd166200
Try to prevent a weird shutdown race condition that I'm not sure can happen - but crash logs show it
2023-09-18 16:45:07 +02:00
Henrik Rydgård
f4b0cddda3
ShaderId: Safer way to check for backend.
2023-09-18 16:25:00 +02:00
Henrik Rydgård
946d4b6251
Avoid causing shader gen failures due to bad blend eq values
2023-09-18 16:12:27 +02:00
Henrik Rydgård
b7d28cd10a
Remove redundant fail state. Bail from shader cache load if a fragment shader fails to generate, too.
2023-09-18 14:38:22 +02:00
Henrik Rydgård
c2bf09744a
SoftGPU: Fix refactoring mistake where we could return an uninitialized value. Oops.
2023-09-15 10:01:28 +02:00
Henrik Rydgård
6600b7ab08
Improved logging
2023-09-12 17:15:26 +02:00
Henrik Rydgård
447b28d277
Vulkan DrawEngine: Reset bound secondary texture on clear.
...
Fixes a validation error hit in Beats
2023-09-12 17:15:26 +02:00
Henrik Rydgård
be65cf0fc2
Assert improvements
2023-09-12 17:15:26 +02:00
Henrik Rydgård
844f1de041
Revert "Merge pull request #18008 from hrydgard/naruto-video-flicker-heuristic"
...
This reverts commit 985af4b03d
, reversing
changes made to 64d04782ea
.
2023-09-12 12:19:37 +02:00
Henrik Rydgård
97404354ef
More asserts and checks in pipeline manager
2023-09-11 17:38:17 +02:00
Henrik Rydgård
052747aa30
Add reporting of GLSL shader gen errors
2023-09-11 15:37:35 +02:00
Henrik Rydgård
d335393d4e
GLSL shader cache: Improve robustness against null shaders. See #18116
2023-09-11 12:07:18 +02:00