Admiral H. Curtiss
a76cc146e1
Merge pull request #12055 from iwubcode/skip_dump_async
...
VideoCommon: skip the texture dump if a custom texture is available, regardless if it is loaded or not
2023-07-23 19:53:25 +02:00
iwubcode
fd74244339
VideoCommon: add custom texture message to provide a dirty means of debugging whether custom textures are installed correctly
2023-07-21 20:13:27 -05:00
iwubcode
f7e78742cf
VideoCommon: skip the texture dump if the texture is using a custom texture, regardless of whether or not it is loaded yet
2023-07-19 23:44:41 -05:00
iwubcode
79f202ea5c
VideoCommon: fix some compiler warnings for CustomAsset. FreeBSD compiler complained about a defaulted move constructor due to the mutex being implicitly deleted. Additionally, the const owning library deleted the copy constructor.
2023-07-16 19:45:55 -05:00
iwubcode
5740be15f9
VideoCommon: initialize load info variables
2023-07-16 12:56:03 -05:00
iwubcode
77511e8e7c
VideoCommon: add material asset. A material is similar to other graphics engines where it provides data to be used in conjunction with a shader asset to generate a runtime AbstractShader
2023-07-09 12:21:34 -05:00
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
Admiral H. Curtiss
0366122306
Merge pull request #12009 from iwubcode/shader_asset
...
VideoCommon: add a pixel shader asset
2023-07-03 03:24:11 +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
Admiral H. Curtiss
eedc1144c1
Merge pull request #11923 from iwubcode/multi-texture-compute-support
...
VideoBackends: support multiple compute images for some backends
2023-07-01 17:47:55 +02:00
Admiral H. Curtiss
fa81006b51
Merge pull request #11955 from TellowKrinkle/CMakeDependencies
...
CMake: Allow ignoring system packages
2023-06-30 19:06:04 +02:00
iwubcode
6ea49c6746
VideoCommon: add a pixel shader asset
2023-06-30 01:32:53 -05:00
iwubcode
3627398cf5
VideoBackends: support multiple compute images for some backends (D3D, OGL, Vulkan)
2023-06-28 17:15:31 -05:00
Admiral H. Curtiss
c04536c5d0
Merge pull request #11982 from iwubcode/graphics_mod_create_texture_callback
...
VideoCommon: add graphics mod callback interface for when a texture is created
2023-06-23 18:10:59 +02:00
Admiral H. Curtiss
02909bd1a5
Merge pull request #11850 from Filoppi/post_process_fixes
...
Video: implement color correction to match the Wii/GC NTSC/PAL color spaces (and gamma)
2023-06-23 18:08:23 +02:00
iwubcode
1d767c3a5b
VideoCommon: add graphics mod callback interface for when a texture is created
2023-06-20 19:26:53 -05:00
iwubcode
2dc24a9148
VideoCommon: move cached texture asset to 'CustomAsset' common code
2023-06-20 18:59:55 -05:00
Filoppi
a2702c6e27
Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted.
...
To further increase the accuracy of the post process phase, I've added (scRGB) HDR support, which is necessary
to fully display the PAL and NTSC-J color spaces, and also to improve the quality of post process texture samplings and
do them in linear space instead of gamma space (which is very important when playing at low resolutions).
For SDR, the quality is also slightly increased, at least if any post process runs, as the buffer is now
R10G10B10A2 (on Vulkan, DX11 and DX12) if supported; previously it was R8G8B8A8 but the alpha bits were wasted.
Gamma correction is arguably the most important thing as Dolphin on Windows outputted in "sRGB" (implicitly)
as that's what Windows expects by default, though sRGB gamma is very different from the gamma commonly used
by video standards dating to the pre HDR era (roughly gamma 2.35).
Additionally, the addition of HDR support (which is pretty straight forward and minimal), added support for
our own custom AutoHDR shaders, which would allow us to achieve decent looking HDR in Dolphin games without
having to use SpecialK or Windows 11 AutoHDR. Both of which don't necessarily play nice with older games
with strongly different and simpler lighting. HDR should also be supported in Linux.
Development of my own AutoHDR shader is almost complete and will come next.
This has been carefully tested and there should be no regression in any of the different features that Dolphin
offers, like multisampling, stereo rendering, other post processes, etc etc.
Fixes: https://bugs.dolphin-emu.org/issues/8941
Co-authored-by: EndlesslyFlowering <EndlesslyFlowering@protonmail.com>
Co-authored-by: Dogway <lin_ares@hotmail.com>
2023-06-19 01:34:42 +03:00
get
7523a62105
Change unnamed enum in NativeVertexFormat.h to u32
2023-06-17 08:13:57 -05:00
get
07ad75f34f
EnumUtils: Add Common::ToUnderlying
...
Mirrors the C++23 <utility> function, std::to_underlying
2023-06-17 07:15:33 -05:00
Admiral H. Curtiss
1aef85a985
Merge pull request #11918 from TellowKrinkle/DPIScale
...
Improved DPI change handling
2023-06-17 04:07:13 +02:00
Admiral H. Curtiss
cbcf5bfac1
Merge pull request #11889 from Filoppi/patch-18
...
Fix video output having small black borders all the times
2023-06-16 17:59:51 +02:00
Admiral H. Curtiss
f5eea4a957
Merge pull request #11834 from Dentomologist/xemitter_use_pseudonamed_parameter_force5bytes
...
XEmitter: Add enum class Force5Bytes
2023-06-16 15:46:36 +02:00
TellowKrinkle
5b10a80401
CMake: Use targets for all optionally-external dependencies
2023-06-15 01:41:41 -05:00
Admiral H. Curtiss
6d16a09707
Merge pull request #11941 from Dentomologist/convert_blockingloop_stopmode_to_enum_class
...
Common: Convert BlockingLoop::StopMode to enum class
2023-06-13 11:47:20 +02:00
iwubcode
3e27fc7c0b
VideoCommon: don't treat incorrect aspect ratio or sizes that aren't a multiple of native textures as an error
2023-06-12 21:19:29 -05:00
Dentomologist
3c80f821c0
Common: Convert BlockingLoop::StopMode to enum class
2023-06-12 17:12:25 -07:00
Dentomologist
4c2759f541
XEmitter: Add enum class Jump
...
Replace the bool parameter force5bytes in J, JMP, and J_CC with an enum
class Jump::Short/Near. Many callers set that parameter to the literal
'true', which was unclear if you didn't already know what it did.
2023-06-12 13:04:18 -07:00
OatmealDome
1a0a1e8f12
Merge pull request #10976 from TellowKrinkle/StackFrames
...
Improve stack frames for profilers
2023-06-12 05:00:08 +02:00
TellowKrinkle
d3110b9521
VideoCommon: Update imgui scale when dpi changes
2023-06-11 20:05:27 -05:00
Robin Kertels
23bebc5270
VideoBackends:Vulkan: Allow loading custom drivers on Android
...
... using libadrenotools
2023-06-11 13:52:34 +02:00
Admiral H. Curtiss
8f51a9d2d8
Merge pull request #11699 from Pokechu22/gl-check-maximum-samples
...
OpenGL: Check the list of supported AA modes instead of hardcoding
2023-06-09 15:07:07 +02:00
Admiral H. Curtiss
092773ad0c
Merge pull request #11859 from iwubcode/backend-multi-output
...
VideoBackends: add support to allow rendering to multiple output targets
2023-06-09 13:40:21 +02:00
Pokechu22
c63f0f37cd
VideoCommon: Pass WindowSystemInfo to InitBackendInfo
2023-06-08 22:07:39 -07:00
iwubcode
afa498fa2f
VideoCommon: update DirectFilesystemAssetLibrary to not throw exceptions when a file no longer exists
2023-06-08 22:20:52 -05:00
iwubcode
429b2eca8a
VideoCommon: add logging for loading texture assets
2023-06-08 19:48:45 -05:00
Admiral H. Curtiss
7845fb00ee
Merge pull request #11681 from iwubcode/asset_management
...
VideoCommon: migrate texture packs to use the asset loader system
2023-06-08 22:21:12 +02:00
Admiral H. Curtiss
78f5c5f8d2
Merge pull request #11899 from Filoppi/patch-20
...
Video: Fix Post Process shader options issues
2023-06-08 16:12:49 +02:00
Admiral H. Curtiss
3dbdf0472d
Merge pull request #11901 from Filoppi/add_texture_types
...
Video: add R10B10G10A2 and R16G16B16A16F texture types
2023-06-08 15:28:15 +02:00
Filoppi
cdc53c046b
Video: add R10B10G10A2 and R16G16B16A16F texture types (needed by PR 11850)
2023-06-08 03:17:20 +03:00
Filippo Tarpini
c9e61a79b7
Video: Fix Post Process shader options issues
...
-An assert would be erroneously thrown when shaders declared an array of 4 int or float options, despite 4 being the max supported (a simple <= / < mistake)
-When changing the type of a shader option (e.g. from bool to float), the serialization would be stuck appending the value from the previous option type, making the shader fail to build permanently until the cache were cleaned
2023-06-08 02:54:46 +03: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
Minty-Meeo
e92f8fcbb4
Remove old GCC version workarounds
...
The minimum GCC version is now GCC 10.
2023-06-06 22:49:53 -05:00
iwubcode
f1f1ecc9d1
Core / VideoCommon: update HiresTexture to use CustomAssetLoader
2023-06-05 16:33:19 -05:00
iwubcode
9d7ab47738
VideoCommon: add additional locks around asset access and usage to ensure thread safety
2023-06-05 16:19:46 -05:00
Filippo Tarpini
adf4089276
Fix video output having small black borders all the times
...
To maintain compatibility with some video encoders, the whole output buffer was scaled to be a multiple of 4.
This change makes it so that that rule only applies while actively recording (or taking screenshots, even if it might not be necessary for that case).
2023-06-04 18:03:57 +03:00