summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/CMakeLists.txt
AgeCommit message (Collapse)Author
2025-11-23VideoCommon: update resource manager with a material/shader/and ↵iwubcode
texture(+sampler) resource to show the complexities that warrant the resource manager system
2025-11-23VideoCommon: add some helper functions for resource logic that generates ↵iwubcode
invalid textures for when a texture isn't provided for a custom asset
2025-11-23VideoCommon: move ApplyDriverBugs for the normal pipeline out into a utility ↵iwubcode
function, add a way to hash the pipeline (using the vertex declaration instead of the native vertex format)
2025-11-23VideoCommon: add a texture pool for resource managementiwubcode
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-02Merge pull request #13975 from iwubcode/shader_includesJMC47
VideoBackends / VideoCommon: add support for specifying include files in shader code
2025-10-26VideoBackends / VideoCommon: add support for specifying include files in ↵iwubcode
shader code
2025-10-24CMake: Fix bundled glslangTellowKrinkle
2025-09-27Externals: Update glslang to 16.0.0 and allow using system glslangJoshua Vandaële
2025-09-23Externals / VideoCommon: update glslang to latest, turn into submoduleiwubcode
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-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-03-12VideoCommon: Rename Renderer to EFBInterface.Jordan Woyak
2024-07-06Properly link against xxhashTellowKrinkle
Things using dolphin_find_optional_system_library need to link against the name used there or they won't work with both the system and bundled cases
2024-02-11VideoCommon: add functionality to prepare for a mesh asset that is loaded ↵iwubcode
from a GLTF file
2024-01-27VideoCommon: refactor the custom pipeline logic in the graphics mod action ↵iwubcode
into a separate class, so it is reusable
2023-11-28Remove _M_X86 in favour of _M_X86_64Zopolis4
2023-11-28Merge pull request #12328 from iwubcode/xf_state_managerTilka
VideoCommon: move xf state management to its own class
2023-11-26VideoCommon: move texture dump function out of texture cache to its own free ↵iwubcode
function so it can be used elsewhere. Doing this change may also slightly improve performance of this operation
2023-11-26VideoCommon: move xf state management to its own class, so changes can be ↵iwubcode
detected in places other than VertexShaderManager
2023-08-20VideoCommon: add support to graphics mod manager to load in assets and pass ↵iwubcode
it to graphics actions
2023-08-20VideoCommon: add custom pipeline actioniwubcode
2023-08-20VideoCommon: add custom shader cacheiwubcode
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-07-03Merge pull request #12009 from iwubcode/shader_assetAdmiral H. Curtiss
VideoCommon: add a pixel shader asset
2023-06-30VideoCommon: add a pixel shader assetiwubcode
2023-06-15CMake: Use targets for all optionally-external dependenciesTellowKrinkle
2023-06-02VideoCommon: add multithreaded asset loader and define a texture assetiwubcode
2023-06-02VideoCommon: add an asset library that loads directly from the filesystemiwubcode
2023-06-02VideoCommon: move custom texture data to assetsiwubcode
2023-06-01VideoCommon: add custom asset implementation and asset library that can load ↵iwubcode
an asset
2023-03-01VideoCommon: remove HiResTexture DDS loading, update hirestexture logic to ↵iwubcode
use custom texture data
2023-03-01VideoCommon: add class to load custom texture dataiwubcode
2023-02-10VideoCommon: add constant value to set the allowed maximum number of pixel ↵iwubcode
samplers
2023-02-09Merge pull request #11544 from jmallach/spngMarkus Wick
Allow building against system libspng
2023-02-09Insert a more solid abstraction between Qt and ImguiScott Mansell
2023-02-09Move WidescreenHeuristic to it's own classScott Mansell
It's about the only thing left in renderer
2023-02-06Allow building against system libspngJordi Mallach
2023-01-31Introduce an Event system to VideoCommonScott Mansell
A lot of the remaining complexity in Renderer is the massive Swap function which tries to handle a bunch of FrameBegin/FrameEnd events. Rather than create a new place for it. This event system will try to distribute it all over the place
2023-01-31Split AbstractGfx out of RendererScott Mansell
Almost all the virtual functions in Renderer are part of dolphin's "graphics api abstraction layer", which has slowly formed over the last decade or two. Most of the work was done previously with the introduction of the various "AbstractX" classes, associated with texture cache cleanups and implementation of newer graphics APIs (Direct3D 12, Vulkan, Metal). We are simply taking the last step and yeeting these functions out of Renderer. This "AbstractGfx" class is now completely agnostic of any details from the flipper/hollywood GPU we are emulating, though somewhat specialized. (Will not build, this commit only contains changes outside VideoBackends)
2023-01-31Rename FrameDump.{cpp,h} to FrameDumpFFMpeg.{cpp,h}Scott Mansell
The name kind of conflicts with a new FrameDumper class
2023-01-31Move Presenting, Dumping and ImGui out of RendererScott Mansell
2023-01-25VideoCommon: Add class for quickly transforming and culling vertices on the CPUTellowKrinkle
2022-12-23New FrameTime/VBlank Analyzer + GraphSam Belliveau
2022-10-09VideoCommon: add structures to graphics mods to allow for future adding or ↵iwubcode
removing parameters with less code overhead
2022-07-25replace libpng with libspngShawn Hoffman
2022-07-08Merge pull request #10673 from iwubcode/spirv-backendsJMC47
D3D: Generate HLSL from SPIRV*