summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Assets
AgeCommit message (Collapse)Author
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
2023-11-25CustomAssetLibrary: Remove unnecessary qualifier in LoadInfoLioncash
The type is already in visible scope, so we don't need the rather length qualifier.
2023-11-25CustomAssetLibrary: Add virtual destructorLioncash
This is used as a base pointer inside CustomPipelineAction, so this should probably really have a virtual destructor to ensure derived objects are torn down properly.
2023-10-16VideoCommon: use ToLower function in assets when parsing json, for proper ↵iwubcode
locale independent behavior
2023-10-16VideoCommon: add additional properties to ShaderAsset to support custom ↵iwubcode
shader uniforms
2023-10-10VideoCommon: instead of using 'CustomTextureData' directly, use ↵iwubcode
'TextureData' for texture assets, this allows us to provide additional metadata for textures. Such as a sampler or type information (to distinguish cube maps)
2023-09-21fmt 10.0.0-10.1.1 compile fixesget
Implicit conversion operators and enums was removed for parity with std::format (https://github.com/fmtlib/fmt/commit/fce74caa15b24cbc0fcafe4706692cb06cb0b815).
2023-09-05VideoCommon: add cubemap as a sampler target for shaders, add cubemap as a ↵iwubcode
valid texture asset
2023-09-04Merge pull request #12139 from iwubcode/more_shader_texture_propertiesJMC47
VideoCommon: add additional texture sampler types to ShaderAsset
2023-09-04Merge pull request #12136 from iwubcode/texture_metadata_structJMC47
VideoCommon: add TextureData structure with metadata
2023-09-02VideoCommon: add loading cube maps from DDS files and loading it into our ↵iwubcode
custom texture object. Custom texture object now has the concept of slices in addition to levels. Traditional custom textures have a single slice
2023-08-26VideoCommon: add additional texture sampler types to ShaderAssetiwubcode
2023-08-24VideoCommon: add TextureData structure that contains the raw texture data, a ↵iwubcode
sampler, and the type of texture information
2023-08-18Merge pull request #12103 from iwubcode/asset_load_system_timeAdmiral H. Curtiss
VideoCommon: asset load time is now stored as a chrono system_clock time
2023-08-16VideoCommon: Fix std::filesystem::path encoding conversionJosJuice
In std::string, you can store strings using any encoding, but in Dolphin we have decided to use UTF-8. The problem is that if you convert between std::string and std::filesystem::path using the built-in methods, the standard library will make up its own assumption of what encoding you're using in the std::string. On most OSes this is UTF-8, but on Windows it's whatever the user's code page is. What I believe is the C++ standard authors' intended solution to this is to use std::u8string instead of std::string, but that's a big hassle to move over to, because there's no convenient way to convert between std::string and std::u8string. Instead, in Dolphin, we have added helper functions that convert between std::string and std::filesystem::path in the manner we want. You *always* have to use these when converting between std::string and std::filesystem::path, otherwise we get these kinds of encoding problems that we've been having with custom textures. Fixes https://bugs.dolphin-emu.org/issues/13328.
2023-08-15VideoCommon: asset load time is now stored as a chrono system_clock time, so ↵iwubcode
that times can be fabricated in a future feature (without creating a file to do so)
2023-07-16VideoCommon: fix some compiler warnings for CustomAsset. FreeBSD compiler ↵iwubcode
complained about a defaulted move constructor due to the mutex being implicitly deleted. Additionally, the const owning library deleted the copy constructor.
2023-07-16VideoCommon: initialize load info variablesiwubcode
2023-07-09VideoCommon: add material asset. A material is similar to other graphics ↵iwubcode
engines where it provides data to be used in conjunction with a shader asset to generate a runtime AbstractShader
2023-06-30VideoCommon: add a pixel shader assetiwubcode
2023-06-20VideoCommon: move cached texture asset to 'CustomAsset' common codeiwubcode
2023-06-12VideoCommon: don't treat incorrect aspect ratio or sizes that aren't a ↵iwubcode
multiple of native textures as an error
2023-06-08VideoCommon: update DirectFilesystemAssetLibrary to not throw exceptions ↵iwubcode
when a file no longer exists
2023-06-08VideoCommon: add logging for loading texture assetsiwubcode
2023-06-05VideoCommon: add additional locks around asset access and usage to ensure ↵iwubcode
thread safety
2023-06-03VideoCommon: fix minor issue in C++ templateiwubcode
2023-06-03Merge pull request #11879 from iwubcode/texture_data_load_nolevelsAdmiral H. Curtiss
VideoCommon: avoid segfault when loading a PNG with no custom texture data levels