03b709019d
Merge pull request #13749 from iwubcode/vertex_shadergen_expand_fix
...
VideoCommon: fix regression in vertexshadergen for line/point expansion
2025-08-01 21:44:41 +02:00
06e05e0f90
Merge pull request #13794 from Sintendo/doouble-lookup
...
Avoid map/set double lookups
2025-08-01 21:43:12 +02:00
812c6c2ea4
Merge pull request #13830 from CrossVR/broken-depth-clamp-control
...
DriverDetails: Disable depth_clamp_control on official AMD drivers
2025-07-31 01:06:00 +01:00
cc71401e29
VideoCommon: drop unused XF enumerators
...
We handle all six registers (scale/offset * xyz) via the viewport name.
Keeping around unused enumerators only for the z component is confusing.
2025-07-30 19:56:30 +01:00
0d87f835e2
VKPipeline: Don't include depth clamp control struct when not supported
...
This should not be needed
2025-07-29 08:42:22 +09:00
59e9267e3d
DriverDetails: Disable depth_clamp_control on AMD official drivers
2025-07-29 08:42:22 +09:00
0ace5f5d3d
Vulkan: Add support for unrestricted depth range.
2025-07-21 14:07:26 +09:00
72ea7a2128
VideoBackendBase: Remove redundant unique_ptr reset
...
Remove redundant reset of g_presenter in ShutdownShared, which is
already reset earlier in the function.
2025-07-09 14:12:06 -07:00
f2392e4048
Avoid map/set double lookups
...
Fix some common anti-patterns with these data structures.
- You can dereference the iterator returned by `find` to access the
underlying value directly, without an extra `operator[]`/`at`.
- Rather than checking for an element before insertion/deletion, you can
just do the operation and if needed check the return value to
determine if the insertion/deletion succeeded.
2025-07-08 06:53:42 +02:00
59d2611a94
VideoCommon: remove unused struct fields
2025-06-24 19:38:45 +01:00
ca8f9b672b
Source: Remove redundant lambda parameter lists
2025-06-14 10:19:31 +02:00
6ab83bdd05
VideoCommon: fix regression where scenes with expanded lines or points would cause issues if doing per-vertex transformations in the vertex shader
2025-06-09 19:08:21 -05:00
19fbbf0dba
Merge pull request #13727 from JoshuaVandaele/fmt-11.2.0-localtime-deprec
...
fmt: Replace deprecated `fmt::localtime` usage with `Common::LocalTime`
2025-06-08 04:04:37 +01:00
65f3ba70f5
Merge pull request #13522 from tygyh/Enforce-overriding-destructor-style-Core&UnitTests
...
Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-06-07 17:55:14 -05:00
c3d3b81533
VideoCommon: remove 'GetByteSizeInMemory()' from custom asset, it is not needed anymore
2025-06-06 23:03:02 -05:00
774a84a953
VideoCommon: avoid race conditions with asset load/unload by moving the lock to the entire function, favor atomics for the memory/time getters
2025-06-06 23:03:02 -05:00
b3f50c969e
VideoCommon: rename m_bytes_loaded in asset library to bytes_loaded
2025-06-06 23:03:02 -05:00
3b83907b88
VideoCommon: update CustomAsset's load time to be before the load occurs (this prevents issues where the load time might be incorrectly inflated by long load operations)
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com >
2025-06-06 23:03:02 -05:00
d940d62cae
VideoCommon: watch texture pack folder for texture reloads (from dynamic input textures)
2025-06-06 23:03:02 -05:00
7afa9e6c6f
VideoCommon: use CustomResourceManager in the texture cache and hook up to our hires textures
2025-06-06 23:03:02 -05:00
12d178a8df
VideoCommon: initialize and shutdown the CustomResourceManager when the video thread initializes and shuts down
2025-06-06 23:03:02 -05:00
70abcb2030
VideoCommon: add resource manager and new asset loader; the resource manager uses a least recently used cache to determine which assets get priority for loading. Additionally, if the system is low on memory, assets will be purged with the less requested assets being the first to go. The loader is multithreaded now and loads assets as quickly as possible as long as memory is available
...
Co-authored-by: Jordan Woyak <jordan.woyak@gmail.com >
2025-06-06 23:03:02 -05:00
d8ea31ca46
VideoCommon: rename GameTextureAsset into TextureAsset and make it only contain CustomTextureData. Move validation and load logic to individual functions
2025-06-06 23:03:02 -05:00
2ae43324cb
VideoCommon: move AssetMap to a types header file, so it can be pulled in without the DirectFilesystemAssetLibrary dependencies, the header will be expanded later
2025-06-06 23:03:02 -05:00
bafe78203d
VideoCommon: remove 'GetLastAssetWriteTime' and switch to a steady_clock for asset times
2025-06-06 23:03:02 -05:00
15f125ebee
VideoCommon: change asset loading to return the number of bytes loaded instead of a pass/fail
2025-06-06 23:03:02 -05:00
316740daed
VideoCommon: add 'Unload' functionality to CustomAsset
2025-06-06 23:03:02 -05:00
9ec69b5925
VideoCommon: add a handle to custom asset, this is an id that is only relevant for a particular game session but is slightly faster as a numeric value for lookups than the traditional asset id
2025-06-06 19:20:25 -05:00
d7de49ccf6
Core / VideoCommon: Remove original custom asset loader
2025-06-06 19:20:25 -05:00
ae26b38fc0
VideoCommon: fix pixel shader gen error about structure not being fully initialized
2025-06-05 01:37:45 -05:00
4b65cc9a4c
fmt: Replace deprecated fmt::localtime
usage with Common::LocalTime
2025-06-04 13:32:12 +02:00
b23dddea4e
VideoCommon: move vertex shader gen logic to a 'process_vertex()' function, to eventually allow for custom shaders to override vertex logic
2025-05-24 01:27:58 -05:00
94888d250e
Merge pull request #13527 from tygyh/Replace-msg-with-structured-binding-VideoCommon/NetPlayChatUI
...
VideoCommon/NetPlayChatUI: Replace msg with structured binding
2025-05-17 17:09:13 -05:00
cf3702cbc8
Merge pull request #13046 from SuperSamus/vi-overclock
...
Add VBI Frequency Override
2025-05-12 13:36:55 -04:00
c720211542
VideoCommon: Limit maximum denominator for MPEG4
...
It happened to be under the limit normally, but now that the VBI rate can be changed, that's no longer the case.
2025-05-12 18:54:42 +02:00
b2e5d6df25
Merge pull request #13350 from iwubcode/custom_shader_overhaul_vertex_pos
...
VideoCommon: move transform matrices to accessible functions in VertexShaderGen
2025-05-10 01:20:28 -04:00
6f25e20c6a
VideoCommon: reset some CP registers during PI_FIFO_RESET
...
This fixes the shutdown error in SpongeBob Globs of Doom.
2025-05-05 21:18:37 +01:00
380a9291ad
Merge pull request #13602 from jordan-woyak/move-only-function
...
Common: Add MoveOnlyFunction.
2025-05-04 17:28:06 +02:00
5a80105555
Common and VideoCommon: Change texture data from std::vector to Common::UniqueBuffer.
2025-05-03 18:32:30 -05:00
e80ed595ac
VideoCommon: move position/normal matrices to be gettable by function in VertexShaderGen
2025-05-03 16:51:34 -05:00
2b568566ac
Merge pull request #13535 from m-brodschi/mihaib/fix-shutdown-crash
...
Core, VideoCommon: Fix crash at shutdown due to destructor order
2025-05-01 21:29:02 -04:00
f240e20e3f
Make overriding explicit and remove redundant virtual specifiers on overriding destructors - Core & UnitTests
2025-05-01 15:00:37 +02:00
5c0cf0788f
VideoCommon/NetPlayChatUI: Replace msg
with structured binding
2025-05-01 14:11:55 +02:00
a149b9d62d
WorkQueueThread: Cleanups. Implement in terms of WaitableSPSCQueue. Add single producer WorkQueueThreadSP.
2025-04-30 14:31:51 -05:00
0b0151770a
Merge pull request #13436 from JoshuaVandaele/clang-format-19
...
Update clang-format to version 19
2025-04-30 01:17:31 -04:00
bad78cfed4
Core, VideoCommon: Fix crash at shutdown due to destructor ordering
...
Previously, PerformanceTracker registered a callback to be updated on
emulation state changes. PerformanceTrackers live in a global variable
(g_perf_metrics) within libvideocommon. The callback was stored in a
global variable in libcore. This created a race condition at shutdown
between these libraries, when the PerfTracker's destructor tried to
unregister the callback.
Notify the PerfTracker directly from libcore, without callbacks, since
Core.cpp already references g_perf_metrics explicitly. Also rename
Core::CallOnStateChangedCallbacks to NotifyStateChanged to better
reflect what it's doing.
2025-04-28 07:11:53 +03:00
37aa65afc4
VideoCommon: Use MoveOnlyFunction for AsyncRequests.
2025-04-27 20:07:13 -05:00
45b9def42c
VideoConfig: Remove ConfigChangedCallback on shutdown
2025-04-25 16:00:43 -07:00
5523b9a01b
Merge pull request #13487 from Dentomologist/performancemetrics_fix_window_arrangement
...
PerformanceMetrics: Fix window arrangement
2025-04-25 01:40:58 +01:00
2c54ee94c1
linter: Apply clang-format 19.1 formatting
...
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i
2025-04-23 11:19:20 +02:00