Henrik Rydgård
f034cb45bb
Unify UpdateCurrentClut between D3D11 and Vulkan (GLES is still different)
2026-06-11 10:40:21 +02:00
Henrik Rydgård
e0a961ddc5
Just some basic code cleanup in TextureCacheCommon.
2026-06-08 22:51:00 +02:00
Henrik Rydgård
2534eb4480
Disable anisotropic filtering for all flat draws.
...
May improve performance slightly, and should fix the last instances of #19555
2026-06-08 15:28:58 +02:00
Henrik Rydgård
f60e27a9b7
Just some refactoring of the GPUStatistics struct, and more use of StringWriter
2026-05-29 14:40:31 +02:00
Henrik Rydgård
d243737c11
Revert "Convert the pre-rotation to just the matrix multiplication."
...
After the previous commit, the optimization is no longer needed, and
unnecessarily bloats the uniform buffer.
This reverts commit 62bcb1785e809649ba88b49e24c5217f457fa040.
2026-05-17 11:02:35 +02:00
Henrik Rydgård
27650fe3e4
Fix race condition during Vulkan startup
2026-05-13 23:09:04 +02:00
Henrik Rydgård
28166cb35d
Add "allocation slack" to our pushbuffers. Fixes a memory overwrite bug
...
Reported by Joseph on Discord.
Sometimes, things could align perfectly so allocations happend exactly
at the end of a pushbuffer. At the same time, we allow our vertex decoder to write an extra few
bytes if it needs to for speed. Unfortunately I missed this interaction,
resulting in some uncommon crashes that were especially common with
heavy-geometry things like modified GTA LCS with PS2 assets, for
example.
The problem was reported with Vulkan, but our OpenGL backend had the
same issue too.
2026-05-13 15:55:34 +02:00
Henrik Rydgård
d108fe25d1
Rework constant buffer loading, barrier fix
2026-04-23 13:32:06 +02:00
Henrik Rydgård
4c2be7f8af
More work. Some initialization order problem.
2026-04-23 13:31:51 +02:00
Henrik Rydgård
4335a327cd
Hackery to prepare for constant buffers in compute
2026-04-23 13:31:51 +02:00
ZironZ
62bea77bd0
Add Vulkan multipass texture scaler infrastructure
2026-04-07 13:29:15 -04:00
Henrik Rydgård
7853881210
GPU header cleanup: Avoid including GPUCommon.h in some places
2025-11-23 20:37:37 +01:00
Henrik Rydgård
4c8aae50b2
Remove dead code, minor ge debugger change
2025-06-06 13:50:35 +02:00
Henrik Rydgård
27122a9e64
Work on previews
2024-12-10 22:09:51 +01:00
Henrik Rydgård
0df2a40487
Remove the "GPUInterface" base class. Not really useful, GPUCommon is pretty much the same thing.
2024-12-02 11:12:14 +01:00
Henrik Rydgård
e4adc112ff
ImDebugger: Add a basic texture browser
2024-11-29 19:30:38 +01:00
Herman Semenov
b57dab2812
[GPU] Make static and const methods if possible
2024-04-05 17:04:31 +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
2ac14f555d
Remove VulkanPushBuffer (keeping our newer replacement VulkanPushPool)
2023-10-11 09:06:24 +02:00
Henrik Rydgård
10f93875c6
Fix the semantics of DenseHashMap to be consistent even when inserting nulls
2023-09-11 12:07:18 +02:00
Henrik Rydgård
effbe6376a
Remove an unused VulkanPushBuffer.
...
Saves about 0.75MB of VRAM, but mainly just to clean things up.
I think I meant to use this one instead of grabbing the one from
DrawEngine in the TextureCache.
2023-03-14 23:39:47 +01:00
Henrik Rydgård
4c45f8a4b0
Pass in draw directly in GPUCommon::DeviceRestore, instead of awkwardly fetching it
2023-02-25 23:04:27 +01:00
Henrik Rydgård
c74f5b2189
Prepare for unifying more stuff
2023-02-25 16:01:32 +01:00
Henrik Rydgård
1b5148bb6c
Remove kinda-duplicate function.
2023-02-24 23:54:04 +01:00
Unknown W. Brackets
f44852bb18
Global: Cleanup virtual/override specifiers.
...
Also missing virtual destructors, hidden non-overrides, etc.
2022-12-10 21:13:36 -08:00
Unknown W. Brackets
416265431b
GE Debugger: Display if tex is framebuf.
...
Rather than guessing based on size, let's show explicitly.
2022-10-10 22:35:42 -07:00
Unknown W. Brackets
c76d31dfa8
GPU: Cleanup unused CheckAlpha() funcs.
2022-09-24 02:00:03 -07:00
Henrik Rydgård
abd58199ce
Add way to bind cached textures to a DrawContext
2022-09-14 22:18:35 +02:00
Henrik Rydgård
b529d26f3a
Fix smoothed depal on GLES. Don't enable filtering if not using.
2022-08-24 13:43:41 +02:00
Henrik Rydgård
5084743bbb
Use Draw2D for depal shaders (except the actual blit, for now)
2022-08-23 11:21:40 +02:00
Henrik Rydgård
82a6c42e17
DepalettizeCommon -> TextureShaderCommon. Simplifications.
2022-08-22 12:21:20 +02:00
Henrik Rydgård
ded8ba8806
More cleanup, fixes.
2022-08-06 18:27:04 +02:00
Henrik Rydgård
4e3c258140
Delete all the duplicate implementations of ApplyTextureFramebuffer
2022-08-06 18:27:03 +02:00
Henrik Rydgård
b5597d1013
Remove Vulkan2D
2022-08-06 18:27:03 +02:00
Henrik Rydgård
45def772ee
Move the depal cache instance ownership to TextureCacheCommon
2022-08-06 18:27:03 +02:00
Henrik Rydgård
87b128ecaf
Compiles on Vulkan, but doesn't yet work.
2022-08-06 18:27:03 +02:00
Henrik Rydgård
e345a6ba3c
Works with D3D11, except the depth texturing case
2022-08-06 18:27:03 +02:00
Henrik Rydgård
2fa9b0d0c7
Simplify
2022-08-06 18:27:03 +02:00
Henrik Rydgård
710c6b6ad1
Fix crash in shader upscaling. This variable shadowed the one that now lives in Common.
...
Fixes #15778
2022-08-02 08:33:50 +02:00
Henrik Rydgård
063cd18254
Simplify CPU upscaling code
...
Use the existing expandTo32bit mode in the texture decoder instead of
the backend-specific switches and stuff.
Just gets rid of a bunch of redundant code and makes further changes
easier.
2022-07-30 15:06:25 +02:00
Henrik Rydgård
c4dfbf4f1a
Delete a lot of specialized alpha checking code.
...
This was now only used to check alpha in CLUTs, and the generic functions will not actually be any slower.
2022-04-15 12:34:50 +02:00
Unknown W. Brackets
2479d52202
Global: Reduce includes of common headers.
...
In many places, string, map, or Common.h were included but not needed.
2022-01-30 16:35:33 -08:00
Henrik Rydgård
c2f594cc73
Remove the VulkanDeviceAllocator
2021-11-22 18:54:09 +01:00
Unknown W. Brackets
8a5f07b860
Vulkan: Don't cache vulkan_ with draw context.
...
Since we can get the VulkanContext cheaply from the draw context, it's
easier to make sure things stay up to date.
2021-11-14 15:25:28 -08:00
Henrik Rydgård
6349704924
Switch texture scaling shaders to a fixed scale model, preparing for the next change.
2021-11-07 13:12:28 +01:00
Henrik Rydgård
c111d6cc2d
Remove the copy-compute-shader path
2021-11-07 12:55:39 +01:00
Unknown W. Brackets
ae474f5f18
GPU: Correct some field shadowing.
2021-02-15 12:00:29 -08:00
Unknown W. Brackets
c630d365cd
Vulkan: Allow tex shaders to specify a max scale.
2021-01-28 01:03:02 -08:00
Henrik Rydgård
3c2733d8eb
Adreno/OpenGL: Limit shader depal to 6xx series GPUs. Should help #13668 .
...
Also make a function static.
2020-11-22 18:00:07 +01:00
Henrik Rydgård
886a8b1ac6
Remove Timer.cpp/h. Move various collections into Common/Data/Collections.
2020-10-05 21:05:23 +02:00