summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Assets
AgeCommit message (Collapse)Author
2026-04-17Improve usage of std::move and const references parametersMartino Fontana
Accomplished using `run-clang-tidy` with `performance-move-const-arg,performance-unnecessary-value-param,modernize-pass-by-value`. Changed arguments to const references, removed them where inappropriate (e.g. sink parameters). Same with std::move. Manually reviewed each change to make sure that it makes sense, and do something more appropriate if possible.
2026-01-25Remove unused importsMartino Fontana
Yellow squiggly lines begone! Done automatically on .cpp files through `run-clang-tidy`, with manual corrections to the mistakes. If an import is directly used, but is technically unnecessary since it's recursively imported by something else, it is *not* removed. The tool doesn't touch .h files, so I did some of them by hand while fixing errors due to old recursive imports. Not everything is removed, but the cleanup should be substantial enough. Because this done on Linux, code that isn't used on it is mostly untouched. (Hopefully no open PR is depending on these imports...)
2026-01-17Fix various typos and spelling mistakesSintendo
2025-12-29ShaderAsset: Fix shadowed variableJoshua Vandaële
`samplers` is a member defined in ShaderAsset.h
2025-12-22Merge pull request #14043 from iwubcode/custom_resourceJMC47
VideoCommon: separate the concept of a 'resource' from an 'asset', add Material/Shader loading
2025-12-22Merge pull request #14151 from iwubcode/material_asset_booleanJMC47
VideoCommon: fix MaterialAsset so that boolean parameters are written properly
2025-11-23VideoCommon: add custom includer to custom shaders, this will allow us to ↵iwubcode
ship built-in custom shaders in the future
2025-11-23VideoCommon: separate the concept of a 'resource' from an 'asset'. A ↵iwubcode
resource is potentially multiple assets that are chained together but represent one type of data to the rest of the system. An example is a 'material'. A 'material' is a collection of textures, a custom shader, and some metadata that all comes together to form what the concept of the material is. There will be a 'material' resource. For now, start small by introducing the interface and change our texture loading which used assets from the old resource manager, to an actual resource.
2025-11-21VideoCommon: update ShaderAsset to use a vector of properties, this way we ↵iwubcode
ensure the order of these properties match the order of the material
2025-11-21VideoCommon: update ShaderAsset to remove requirement of the code name being ↵iwubcode
in the shader source, this just makes it more difficult to iteratively test changes, assume shader devs know what they are doing
2025-11-20VideoCommon: fix MaterialAsset so that boolean parameters are written to ↵iwubcode
memory as integers, matching the format internally expected by shaders
2025-11-06Common: Remove the string parameters from the HookableEvent interface.Jordan Woyak
2025-11-02Common: Make HookableEvent use non-static data.Jordan Woyak
Co-authored-by: Dentomologist <dentomologist@gmail.com>
2025-10-29MaterialAsset: Fix shadowed fieldJoshua Vandaële
2025-09-16Merge pull request #13895 from iwubcode/update_shader_assetJMC47
VideoCommon: update shader asset to support additional features in custom pipelines
2025-09-16Merge pull request #13889 from iwubcode/texture_and_sampler_assetJMC47
VideoCommon: add TextureAndSamplerAsset for use in custom materials
2025-08-23VideoCommon: update material asset to support render state properties, ↵iwubcode
support multi-pass, and textures are now split out (as well as supporting a way to calculate sampler origin)
2025-08-22VideoCommon: update shader asset to support both vertex and pixel shaders; ↵iwubcode
rename to 'RasterSurfaceShader'
2025-08-20VideoCommon: add TextureAndSamplerAsset, this asset contains both the raw ↵iwubcode
texture data and data about how the texture should be sampled
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: 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-05-03Common and VideoCommon: Change texture data from std::vector to ↵Jordan Woyak
Common::UniqueBuffer.
2025-04-30WorkQueueThread: Cleanups. Implement in terms of WaitableSPSCQueue. Add ↵Jordan Woyak
single producer WorkQueueThreadSP.
2025-03-09VideoCommon: Move backend_info out of VideoConfig struct.Jordan Woyak
2024-12-15Modernize `std::any_of` with rangesmitaclaw
In WiimoteReal.cpp, JitRegCache.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those. In ConvertDialog.cpp, the `std::mem_fn` helper was removed because ranges algorithms are able to handle pointers to member functions as predicates.
2024-12-15Modernize `std::all_of` with rangesmitaclaw
In DITSpecification.cpp, MaterialAsset.cpp, and ShaderAsset.cpp, lambda predicates were replaced by pointers to member functions because ranges algorithms are able invoke those. In NetPlayClient.cpp, the non-trivial `NetPlay::Player` elements were being passed by value in `NetPlayClient::DoAllPlayersHaveGame()`. This has been fixed. In WIABlob.cpp, the second example's predicate was returning the `std::optional` by value instead of implicitly converting it to a bool. This has been fixed.
2024-06-29VideoCommon: add ability to serialize a texture asset metadata to jsoniwubcode
2024-06-29VideoCommon: set individual texture asset filter/wrap values when loading ↵iwubcode
from json
2024-06-29VideoCommon: update texture asset to properly set near sampler state valueiwubcode
2024-05-31InputCommon / VideoCommon: update to use new JsonFromFile functioniwubcode
2024-05-23Refactored Achievement Badges into Texture LayersLillyJadeKatrin
Achievement badges/icons are refactored into the type CustomTextureData::ArraySlice::Level as that is the data type images loaded from the filesystem will be. This includes everything that uses the badges in the Qt UI and OnScreenDisplay, and similarly removes the OSD::Icon type because Level already contains that information.
2024-02-16Merge pull request #12457 from iwubcode/asset_memory_limitMai
VideoCommon: handle asset memory going over reserved limit correctly
2024-02-12VideoCommon: make mesh asset data loadable by asset loaderiwubcode
2024-02-11VideoCommon: add functionality to prepare for a mesh asset that is loaded ↵iwubcode
from a GLTF file
2024-01-26Merge pull request #12532 from lioncash/jsonAdmiral H. Curtiss
GraphicsMod/ShaderAsset: Lessen object churn a little bit
2024-01-26Merge pull request #12443 from iwubcode/custom_pipeline_action_material_cubemapMai
VideoCommon: update custom pipeline action to support a variety of texture samplers, support for materials, and more!
2024-01-24ShaderAsset: Emplace value instances when possible in ToJson()Lioncash
Constructs elements directly inside the container and also makes it shorter to read in certain instances.
2024-01-23VideoCommon: add function to serialize MaterialAsset to jsoniwubcode
2024-01-23VideoCommon: add a method to calculate a default value for ShaderAsset and ↵iwubcode
another to list its types