summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
AgeCommit message (Collapse)Author
2025-08-01Merge pull request #13794 from Sintendo/doouble-lookupAdmiral H. Curtiss
Avoid map/set double lookups
2025-07-31Merge pull request #13830 from CrossVR/broken-depth-clamp-controlTilka
DriverDetails: Disable depth_clamp_control on official AMD drivers
2025-07-30VideoCommon: drop unused XF enumeratorsTillmann Karras
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-29VKPipeline: Don't include depth clamp control struct when not supportedCrossVR
This should not be needed
2025-07-29DriverDetails: Disable depth_clamp_control on AMD official driversCrossVR
2025-07-21Vulkan: Add support for unrestricted depth range.CrossVR
2025-07-09VideoBackendBase: Remove redundant unique_ptr resetDentomologist
Remove redundant reset of g_presenter in ShutdownShared, which is already reset earlier in the function.
2025-07-08Avoid map/set double lookupsSintendo
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-06-28VideoCommon: Fix "Force Nearest" texture filter setting.Jordan Woyak
2025-06-24VideoCommon: remove unused struct fieldsTillmann Karras
2025-06-14Source: Remove redundant lambda parameter listsDr. Dystopia
2025-06-09VideoCommon: fix regression where scenes with expanded lines or points would ↵iwubcode
cause issues if doing per-vertex transformations in the vertex shader
2025-06-08Merge pull request #13727 from JoshuaVandaele/fmt-11.2.0-localtime-deprecTilka
fmt: Replace deprecated `fmt::localtime` usage with `Common::LocalTime`
2025-06-07Merge pull request #13522 from ↵Jordan Woyak
tygyh/Enforce-overriding-destructor-style-Core&UnitTests Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
2025-06-06VideoCommon: remove 'GetByteSizeInMemory()' from custom asset, it is not ↵iwubcode
needed anymore
2025-06-06VideoCommon: avoid race conditions with asset load/unload by moving the lock ↵iwubcode
to the entire function, favor atomics for the memory/time getters
2025-06-06VideoCommon: rename m_bytes_loaded in asset library to bytes_loadediwubcode
2025-06-06VideoCommon: update CustomAsset's load time to be before the load occurs ↵iwubcode
(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-06VideoCommon: watch texture pack folder for texture reloads (from dynamic ↵iwubcode
input textures)
2025-06-06VideoCommon: use CustomResourceManager in the texture cache and hook up to ↵iwubcode
our hires textures
2025-06-06VideoCommon: initialize and shutdown the CustomResourceManager when the ↵iwubcode
video thread initializes and shuts down
2025-06-06VideoCommon: add resource manager and new asset loader; the resource ↵iwubcode
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-06VideoCommon: rename GameTextureAsset into TextureAsset and make it only ↵iwubcode
contain CustomTextureData. Move validation and load logic to individual functions
2025-06-06VideoCommon: move AssetMap to a types header file, so it can be pulled in ↵iwubcode
without the DirectFilesystemAssetLibrary dependencies, the header will be expanded later
2025-06-06VideoCommon: remove 'GetLastAssetWriteTime' and switch to a steady_clock for ↵iwubcode
asset times
2025-06-06VideoCommon: change asset loading to return the number of bytes loaded ↵iwubcode
instead of a pass/fail
2025-06-06VideoCommon: add 'Unload' functionality to CustomAssetiwubcode
2025-06-06VideoCommon: add a handle to custom asset, this is an id that is only ↵iwubcode
relevant for a particular game session but is slightly faster as a numeric value for lookups than the traditional asset id
2025-06-06Core / VideoCommon: Remove original custom asset loaderiwubcode
2025-06-05VideoCommon: fix pixel shader gen error about structure not being fully ↵iwubcode
initialized
2025-06-04fmt: Replace deprecated `fmt::localtime` usage with `Common::LocalTime`Joshua Vandaële
2025-05-24VideoCommon: move vertex shader gen logic to a 'process_vertex()' function, ↵iwubcode
to eventually allow for custom shaders to override vertex logic
2025-05-17Merge pull request #13527 from ↵Jordan Woyak
tygyh/Replace-msg-with-structured-binding-VideoCommon/NetPlayChatUI VideoCommon/NetPlayChatUI: Replace msg with structured binding
2025-05-12Merge pull request #13046 from SuperSamus/vi-overclockJMC47
Add VBI Frequency Override
2025-05-12VideoCommon: Limit maximum denominator for MPEG4Martino Fontana
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-10Merge pull request #13350 from iwubcode/custom_shader_overhaul_vertex_posJMC47
VideoCommon: move transform matrices to accessible functions in VertexShaderGen
2025-05-05VideoCommon: reset some CP registers during PI_FIFO_RESETTillmann Karras
This fixes the shutdown error in SpongeBob Globs of Doom.
2025-05-04Merge pull request #13602 from jordan-woyak/move-only-functionAdmiral H. Curtiss
Common: Add MoveOnlyFunction.
2025-05-03Common and VideoCommon: Change texture data from std::vector to ↵Jordan Woyak
Common::UniqueBuffer.
2025-05-03VideoCommon: move position/normal matrices to be gettable by function in ↵iwubcode
VertexShaderGen
2025-05-01Merge pull request #13535 from m-brodschi/mihaib/fix-shutdown-crashJMC47
Core, VideoCommon: Fix crash at shutdown due to destructor order
2025-05-01Make overriding explicit and remove redundant virtual specifiers on ↵Dr. Dystopia
overriding destructors - Core & UnitTests
2025-05-01VideoCommon/NetPlayChatUI: Replace `msg` with structured bindingDr. Dystopia
2025-04-30WorkQueueThread: Cleanups. Implement in terms of WaitableSPSCQueue. Add ↵Jordan Woyak
single producer WorkQueueThreadSP.
2025-04-30Merge pull request #13436 from JoshuaVandaele/clang-format-19OatmealDome
Update clang-format to version 19
2025-04-28Core, VideoCommon: Fix crash at shutdown due to destructor orderingMihai Brodschi
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-27VideoCommon: Use MoveOnlyFunction for AsyncRequests.Jordan Woyak
2025-04-25VideoConfig: Remove ConfigChangedCallback on shutdownDentomologist
2025-04-25Merge pull request #13487 from ↵Tilka
Dentomologist/performancemetrics_fix_window_arrangement PerformanceMetrics: Fix window arrangement
2025-04-23linter: Apply clang-format 19.1 formattingJoshua Vandaële
find ./Source/ -name '*.cpp' -o -name '*.h' | xargs clang-format-19 -i