summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Assets
AgeCommit message (Collapse)Author
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-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
2024-01-23VideoCommon: add function to serialize ShaderAsset to jsoniwubcode
2023-12-21VideoCommon: handle asset memory going over reserved limit correctly by ↵iwubcode
erroring when the memory is exceeded and not allowing more assets to load until memory is released
2023-12-19VideoCommon: when loading a texture asset, set sampler to linear sampler if ↵iwubcode
the texture type is not defined and the 2d texture is assumed
2023-12-17Merge pull request #12382 from iwubcode/shader_asset_default_valueMai
VideoCommon: update shader asset to provide a variant default value
2023-12-12Merge pull request #12240 from iwubcode/material_asset_additional_propertiesMai
VideoCommon: add additional data types to material asset
2023-12-12VideoCommon: update shader asset to provide a variant default valueiwubcode
2023-12-11CustomAssetLibrary: Remove unused GetAssetSize() functionLioncash
There's a direct analogue of this function within DirectFilesystemAssetLibrary that *is* used, however, so we can get rid of this one.
2023-12-11ShaderAsset: Mark ParseShaderProperties() as staticLioncash
This had no function prototype, so this can be internally linked. Resolves a -Wmissing-declaration warning.
2023-12-04VideoCommon: add additional data types (int, int2, float, bool, etc) as ↵iwubcode
properties of materials and some helper functions to support sending the data to the GPU