summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureCacheBase.cpp
AgeCommit message (Collapse)Author
2024-08-14Use 'contains' methodDr. Dystopia
2024-06-01VideoCommon: pull texture sampler out of texture cache so that it can be ↵iwubcode
used in other places in the future
2024-04-20VideoCommon: Use GetSpanForAddress safely in texture decodingJosJuice
Now only VertexLoader remains... But that one might be tricky.
2024-04-09VideoCommon: Remove calls to GetPointerJosJuice
This fourth part of my series of patches to get rid of unsafe uses of GetPointer takes care of the "easy" cases in VideoCommon. Three uses of GetPointer now remain in Dolphin: VertexLoaderManager, TextureInfo, and the software renderer's TextureSampler.
2024-03-21VideoCommon: Scan texture dumping directory + subdirectories to not re-dump ↵Jordan Woyak
existing files.
2024-01-12FifoRecorder: Move instance to System.Admiral H. Curtiss
2023-12-15VideoBackends / VideoCommon: add type enum to dictate whether a texture is a ↵iwubcode
2D texture, a texture array, or a cube map; support 2D texture type across backends Co-authored-by: TellowKrinkle <tellowkrinkle@gmail.com>
2023-12-09VideoCommon: prevent a potential custom texture crash that can occur when a ↵iwubcode
shared_ptr gets released while a pointer to its member data is still being used
2023-11-28Remove _M_X86 in favour of _M_X86_64Zopolis4
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-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-03Merge pull request #12102 from iwubcode/cubemap_custom_textureJMC47
VideoCommon: add ability to load cube maps into custom texture data
2023-09-03Merge pull request #12148 from ↵Admiral H. Curtiss
Dentomologist/fifo_convert_memoryupdate_type_to_enum_class Fifo: Convert MemoryUpdate::Type to enum class
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-09-02Fifo: Convert MemoryUpdate::Type to enum classDentomologist
2023-09-01TextureCacheBase: Add m_ prefix to member variablesDentomologist
2023-07-19VideoCommon: skip the texture dump if the texture is using a custom texture, ↵iwubcode
regardless of whether or not it is loaded yet
2023-07-09Merge pull request #12022 from iwubcode/texture_create_gmod_implAdmiral H. Curtiss
VideoCommon: call into graphics mods create texture callback
2023-07-02VideoCommon: don't do pointer copies during graphics mod callback iterationiwubcode
2023-07-02VideoCommon: call into graphics mods create texture callback, providing ↵iwubcode
additional asset dependencies that trigger the texture to be reloaded
2023-07-02Merge pull request #11991 from iwubcode/tcache_multiple_texture_dependenciesAdmiral H. Curtiss
VideoCommon: allow multiple texture assets to associate with a texture cache entry
2023-07-02VideoCommon: add support for allowing a TextureCache entry to be associated ↵iwubcode
with multiple assets
2023-06-28VideoBackends: support multiple compute images for some backends (D3D, OGL, ↵iwubcode
Vulkan)
2023-06-20VideoCommon: move cached texture asset to 'CustomAsset' common codeiwubcode
2023-06-07InputCommon / VideoCommon: remove dynamic input reloading the texture cache, ↵iwubcode
this is no longer needed, assets reload automatically!
2023-06-07VideoCommon: introduce linked assets in TCacheEntry, allowing for assets to ↵iwubcode
be reloaded
2023-06-05Core / VideoCommon: update HiresTexture to use CustomAssetLoaderiwubcode
2023-06-02VideoCommon: move custom texture data to assetsiwubcode
2023-06-01Add compression option for texture dumps.joon
Enable through command line options: -C Graphics.Settings.TexturePNGCompressionLevel=[0-9] Or from GFX.ini: [Settings] TexturePNGCompressionLevel=[0-9] @see #10792
2023-04-14Merge pull request #11687 from Minty-Meeo/warningsLéo Lam
Resolve GCC/Clang Warnings
2023-04-08VideoCommon: refactor GetTexture into a separate function for creation, ↵iwubcode
separating the custom texture data path from the game's texture data path
2023-04-06Resolve [-Wshadow]Minty-Meeo
2023-03-01VideoCommon: remove HiResTexture DDS loading, update hirestexture logic to ↵iwubcode
use custom texture data
2023-02-09Apply suggestions from code reviewScott Mansell
Co-authored-by: Mai <mathew1800@gmail.com> Co-authored-by: BhaaL <bhaalsen@gmail.com> Co-authored-by: iwubcode <iwubcode@users.noreply.github.com>
2023-02-09Lint fixesScott Mansell
2023-02-09Move xfb tracking and IR scaling out of RenderBaseScott Mansell
2023-01-31Expose Renderer's FramecountScott Mansell
We don't want to move it, because we want to complete this refactor without changing savestate version
2023-01-31Split out everying remaining from SwapScott Mansell
2023-01-31Move GraphicsMod out of RenderBaseScott Mansell
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-31TextureCache: Add content lockingScott Mansell
Texture cache occasionally mutates textures for efficiency. Which is awkward if we want to borrow those textures from texture cache to do something else, such as a graphics debugger, or async presentation on another thread. Content locking provides a way to signal that the contents of a texture cache entry should not change. Texture cache will be forced to use alternative strategies.
2023-01-31TextureCache: Refactor with smart pointersScott Mansell
The whole ownership model was getting a bit of a mess, with a some of special cases to deal with. And I'm planning to make it even more complex in the future. So here is some upfront work to convert it over to reference counted pointers.
2023-01-31Move TCacheEntry out of TextureCacheBaseScott Mansell
Allows for fowards declaration
2022-12-27VideoCommon: De-globalize PixelShaderManager class.Admiral H. Curtiss
2022-12-09Core: Add option to force linear texture filtering.Admiral H. Curtiss
2022-12-03HW/Memmap: Refactor Memory to class, move to Core::System.Admiral H. Curtiss
2022-11-07VideoCommon: Add an option to disable mipmapsTellowKrinkle
Needed by M1 fifoci to work around a minor non-determinism bug
2022-10-28VideoCommon: call texture load graphics mod hook when Dolphin loads a textureiwubcode
2022-10-09VideoCommon: add structures to graphics mods to allow for future adding or ↵iwubcode
removing parameters with less code overhead
2022-10-06Common/PointerWrap: Remove DoPODPokechu22
This was added in 385d8e2b15c8accce3b4e4b4f3dc90f63e3fbee4, but became somewhat redundant with Do in 4c7bbd96e435a7516b05d3e8c791ab41505e2e0f, and completely redundant now that std::is_trivially_copyable_v is well-supported.