Admiral H. Curtiss
7bb04ff1dc
Merge pull request #12022 from iwubcode/texture_create_gmod_impl
...
VideoCommon: call into graphics mods create texture callback
2023-07-09 04:20:43 +02:00
iwubcode
a2ad3ca6f7
VideoCommon: don't do pointer copies during graphics mod callback iteration
2023-07-02 13:58:07 -05:00
iwubcode
0539bb4a3e
VideoCommon: call into graphics mods create texture callback, providing additional asset dependencies that trigger the texture to be reloaded
2023-07-02 13:45:09 -05:00
Admiral H. Curtiss
6d7bf60071
Merge pull request #11991 from iwubcode/tcache_multiple_texture_dependencies
...
VideoCommon: allow multiple texture assets to associate with a texture cache entry
2023-07-02 20:14:32 +02:00
iwubcode
a93e6e7397
VideoCommon: add support for allowing a TextureCache entry to be associated with multiple assets
2023-07-02 12:50:07 -05:00
iwubcode
3627398cf5
VideoBackends: support multiple compute images for some backends (D3D, OGL, Vulkan)
2023-06-28 17:15:31 -05:00
iwubcode
2dc24a9148
VideoCommon: move cached texture asset to 'CustomAsset' common code
2023-06-20 18:59:55 -05:00
iwubcode
e831d7b6bb
InputCommon / VideoCommon: remove dynamic input reloading the texture cache, this is no longer needed, assets reload automatically!
2023-06-07 18:30:10 -05:00
iwubcode
ca8d6748d6
VideoCommon: introduce linked assets in TCacheEntry, allowing for assets to be reloaded
2023-06-07 18:30:10 -05:00
iwubcode
f1f1ecc9d1
Core / VideoCommon: update HiresTexture to use CustomAssetLoader
2023-06-05 16:33:19 -05:00
iwubcode
e028d2ead0
VideoCommon: move custom texture data to assets
2023-06-02 14:07:42 -05:00
joon
db712772b7
Add compression option for texture dumps.
...
Enable through command line options:
-C Graphics.Settings.TexturePNGCompressionLevel=[0-9]
Or from GFX.ini:
[Settings]
TexturePNGCompressionLevel=[0-9]
@see #10792
2023-06-01 16:01:11 -04:00
Léo Lam
ae18aa0639
Merge pull request #11687 from Minty-Meeo/warnings
...
Resolve GCC/Clang Warnings
2023-04-14 01:29:46 +01:00
iwubcode
e101f7f6ae
VideoCommon: refactor GetTexture into a separate function for creation, separating the custom texture data path from the game's texture data path
2023-04-08 02:54:00 -05:00
Minty-Meeo
1312624e05
Resolve [-Wshadow]
2023-04-06 19:25:26 -05:00
iwubcode
42cb3f3904
VideoCommon: remove HiResTexture DDS loading, update hirestexture logic to use custom texture data
2023-03-01 12:11:04 -06:00
Scott Mansell
60f2b5af7b
Apply suggestions from code review
...
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-09 18:36:20 +13:00
Scott Mansell
31cfe8250d
Lint fixes
2023-02-09 18:36:20 +13:00
Scott Mansell
11de923dcb
Move xfb tracking and IR scaling out of RenderBase
2023-02-09 18:36:20 +13:00
Scott Mansell
ec8f46b02c
Expose Renderer's Framecount
...
We don't want to move it, because we want to complete
this refactor without changing savestate version
2023-01-31 19:41:24 +13:00
Scott Mansell
0da69055d9
Split out everying remaining from Swap
2023-01-31 19:41:24 +13:00
Scott Mansell
ca5ec13e13
Move GraphicsMod out of RenderBase
2023-01-31 19:41:24 +13:00
Scott Mansell
8a23629345
Split AbstractGfx out of Renderer
...
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-31 18:46:02 +13:00
Scott Mansell
a01d5283ec
TextureCache: Add content locking
...
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-31 18:29:47 +13:00
Scott Mansell
606c18210d
TextureCache: Refactor with smart pointers
...
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-31 18:29:47 +13:00
Scott Mansell
c1fd4a2013
Move TCacheEntry out of TextureCacheBase
...
Allows for fowards declaration
2023-01-31 18:29:47 +13:00
Admiral H. Curtiss
725bd64ec2
VideoCommon: De-globalize PixelShaderManager class.
2022-12-27 20:13:24 +01:00
Admiral H. Curtiss
8a3b8a925e
Core: Add option to force linear texture filtering.
2022-12-09 02:02:16 +01:00
Admiral H. Curtiss
839db591d9
HW/Memmap: Refactor Memory to class, move to Core::System.
2022-12-03 13:27:02 +01:00
TellowKrinkle
37a51f1d09
VideoCommon: Add an option to disable mipmaps
...
Needed by M1 fifoci to work around a minor non-determinism bug
2022-11-07 22:18:56 -06:00
iwubcode
ea3e133200
VideoCommon: call texture load graphics mod hook when Dolphin loads a texture
2022-10-28 19:24:43 -05:00
iwubcode
bc360584a3
VideoCommon: add structures to graphics mods to allow for future adding or removing parameters with less code overhead
2022-10-09 00:00:01 -05:00
Pokechu22
e8221d7948
Common/PointerWrap: Remove DoPOD
...
This was added in 385d8e2b15
, but became somewhat redundant with Do in 4c7bbd96e4
, and completely redundant now that std::is_trivially_copyable_v is well-supported.
2022-10-06 11:25:36 -07:00
Shawn Hoffman
17c554c165
Common/Hash: use zlib-ng for adler32. small cleanups.
2022-08-01 10:07:27 -07:00
TellowKrinkle
716c0980d7
VideoBackends: Add Metal renderer
2022-07-21 20:44:19 -05:00
Pokechu22
791bd16b28
Restructure parameters to TetxureConverterShaderGen/TextureConversionShader
...
This will be used for later refactoring for increased accuracy.
2022-07-16 00:07:10 -07:00
Pokechu22
290e62f179
Remove casts to integers for texture and EFB formats
...
The only remaining casts for these types that I know of are in TextureInfo (where format_name is set to the int version of the format, and since that affects filenames and probably would break resource packs, I'm not changing it) and in TextureDecoder_Common's TexDecoder_DrawOverlay, which will be handled separately.
2022-07-15 12:29:40 -07:00
iwubcode
1480b78f64
VideoCommon: dump EFB with size and texture format details and dump XFB with size details. Finally move count to front of image for XFB/EFB dumps so as to make it easier to see them in order. Change the count value prefix to 'n'
2022-06-27 18:20:52 -05:00
iwubcode
69839df1eb
VideoCommon: support dynamically updating game mods at runtime
2022-06-27 18:20:52 -05:00
iwubcode
892678648e
VideoCommon: trigger mod calls in TextureCacheBase (efb/xfb calls), VertexManagerBase (draw calls), and VertexShaderManager (projection calls)
2022-06-27 18:20:52 -05:00
iwubcode
62c186e14b
VideoCommon: add UninitializeEFBMemory to mirror XFB function
2022-06-27 18:20:52 -05:00
TellowKrinkle
23c1721fbd
VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders
2022-06-16 02:08:45 -05:00
Dentomologist
f6b9acccfc
Common: Refactor PointerWrap
2022-05-25 13:06:41 -07:00
Admiral H. Curtiss
01d4a2e9cc
TextureCacheBase: Don't log error while measuring state size.
2022-04-26 21:26:42 +02:00
Admiral H. Curtiss
ef760ee012
Common/PointerWrap: Prevent reads/writes past the end of the buffer.
2022-04-18 23:48:00 +02:00
Pokechu22
4aeef95746
Fix copy filter clamping when EFB VRAM copies are disabled
2022-01-29 12:23:32 -08:00
Pokechu22
25c547e9e5
Fix incorrect copy filter clamping
...
We need to clamp to the center of pixels, or else things end up working out incorrectly. This also fixes an off-by-1 for the bottom line.
2022-01-25 19:53:25 -08:00
Pokechu22
afd02b79a5
VideoCommon: Add names for textures and shaders
2022-01-01 11:38:56 -08:00
Pokechu22
e7d5f8ad5c
TextureCacheBase: Re-wrap GetTexture comment
2021-12-18 15:21:48 -08:00
JMC47
dbaebdc585
Merge pull request #10222 from phire/fix-copy-filter-clamping
...
Fix copy filter clamping
2021-11-18 17:48:33 -05:00