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
iwubcode
8c3dc5b0d6
VideoCommon: update pipeline version for RenderState change
2023-06-03 14:52:31 -05:00
iwubcode
834f8f7b5c
VideoBackends: add support to allow rendering to multiple output textures
2023-06-03 14:52:31 -05:00
iwubcode
9b9dc6dc5d
VideoCommon: fix minor issue in C++ template
2023-06-03 12:47:12 -05:00
Admiral H. Curtiss
80bf175c48
Merge pull request #11879 from iwubcode/texture_data_load_nolevels
...
VideoCommon: avoid segfault when loading a PNG with no custom texture data levels
2023-06-03 19:35:48 +02:00
iwubcode
47c40d51df
VideoCommon: when loading a PNG with no custom texture data levels already, create a level, this avoids a potential segfault
2023-06-03 12:19:30 -05:00
Admiral H. Curtiss
0b3d28abaf
Merge pull request #11586 from JosJuice/unknown-opcode-msg
...
VideoCommon: Reword the unknown opcode error message
2023-06-03 12:53:33 +02:00
iwubcode
58d383b30b
VideoCommon: prevent potential data issue when reloading Asset data that could happen due to the asset loading thread reloading data while another thread is working with it
2023-06-03 00:13:06 -05:00
iwubcode
c93940c6ee
VideoCommon: add multithreaded asset loader and define a texture asset
2023-06-02 17:31:31 -05:00
iwubcode
07307edd49
VideoCommon: add an asset library that loads directly from the filesystem
2023-06-02 14:49:22 -05:00
iwubcode
e028d2ead0
VideoCommon: move custom texture data to assets
2023-06-02 14:07:42 -05:00
iwubcode
b2c5a5485a
VideoCommon: add custom asset implementation and asset library that can load an asset
2023-06-01 19:57:57 -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
iwubcode
0afb8c247f
VideoCommon: check whether action was successfully created before adding targets for a graphics mod
2023-05-30 09:32:59 -05:00
iwubcode
bbf3efb17d
VideoCommon: fix bug in GraphicsModManager where a separate action was being created for each target
2023-05-29 23:08:35 -05:00
Pokechu22
810eb70f0e
DolphinAnalytics: Add READS_BOUNDING_BOX game quirk
2023-05-06 17:18:17 -07:00
Lioncash
4db186f9ff
Common/JitRegister: Move interface into Common namespace
...
Makes the namespace consistent with other common utilities.
2023-05-02 12:00:05 -04:00
Lioncash
07ed932a09
Common/LinearDiskCache: Move interface into Common namespace
...
Gets the interface out of the global namespace.
2023-04-19 09:14:39 -04:00
Lioncash
784a216927
Common/MathUtil: Move IntLog2 into MathUtil namespace
...
Gets this out of the global namespace.
2023-04-15 03:35:05 -04:00
Admiral H. Curtiss
e9dbb93cb5
Merge pull request #11756 from lioncash/ini
...
Common/IniFile: Move interface into Common namespace
2023-04-14 20:52:30 +02: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
Lioncash
e4caace6bb
Common/IniFile: Move interface into Common namespace
...
Gets this out of the global namespace and into the Common namespace
2023-04-13 10:19:28 -04:00
Minty-Meeo
678c93589a
Resolve [-Wclass-memaccess]
2023-04-12 03:59:57 -05: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
Admiral H. Curtiss
192d8b6e40
VideoCommon/CommandProcessor: Pass System to HandleUnknownOpcode().
2023-04-05 20:09:32 +02:00
Markus Wick
50a45bd614
Merge pull request #11673 from K0bin/vertex-loader-micro-opt
...
Vertex Loader Microoptimization
2023-03-30 11:05:02 +02:00
Lioncash
0888c93d48
Common: Move FPU-related helpers into Common namespace
...
Makes these utilities' namespace consistent with the majority of the
Common library.
2023-03-21 10:58:13 -04:00
Robin Kertels
93fce0e4b6
VideoCommon:VertexManagerBase: Only calculate remaining indices once
...
Before, both of those were calculated 3 times due to the ASSERTs.
2023-03-20 20:59:50 +01:00
Robin Kertels
408b09da31
VideoCommon:VertexShaderManager: Inline SetVertexFormat & UpdateValue/Offset
2023-03-20 20:59:38 +01:00
Robin Kertels
7703fef3a4
VideoCommon:VertexLoaderManager: Only update vertex format in shader manager if necessary.
2023-03-20 00:41:16 +01:00
Admiral H. Curtiss
069280ddc6
HW/VideoInterface: Refactor to class.
2023-03-11 12:50:35 +01:00
Scott Mansell
b7db2510ef
Don't discard ConfigChanged callback handle
2023-03-06 00:12:26 +13:00
Minty-Meeo
bf079d6d3a
[[unlikely]] ASSERT
...
and other ASSERT usage changes
2023-03-02 19:54:15 -06:00
Mai
6361586a04
Merge pull request #11582 from Pokechu22/software-crash-on-startup
...
Software: Fix regressions from "Kill Renderer"
2023-03-02 15:13:00 -05:00
Pokechu22
9cdc0aca9b
Software: Fix "Auto-Adjust Window Size"
...
This also needs to be handled on the software renderer path.
2023-03-02 11:08:49 -08:00
Pokechu22
78428dd8db
Software: Fix crash on startup when using "Compile Shaders Before Starting"
...
When that setting is enabled, m_xfb_entry is initially not present (during the phase where a shader compilation progress bar would be shown). The main path checks for m_xfb_entry, but the software renderer fallback path didn't.
Fixes another aspect of https://bugs.dolphin-emu.org/issues/13172 .
2023-03-02 11:08:49 -08:00
Pokechu22
4a2d3c83c7
Software: Implement GetSurfaceInfo()
...
Before, it used a fallback where it returned a default object, where the width and height were set to 0. Presenter::Initialize() used GetSurfaceInfo to set the backbuffer size, then used that size when initializing the on-screen UI (even for the software renderer, where the on-screen UI isn't currently present), which meant that ImGui got a window size of 0 and thus resulted in a failed assertion.
Although BindBackbuffer checks for size changes, it doesn't help because ImGui has already been initialized, and the size hasn't actually changed since initialization occured.
Fixes one aspect of https://bugs.dolphin-emu.org/issues/13172 .
2023-03-02 11:08:49 -08:00
iwubcode
42cb3f3904
VideoCommon: remove HiResTexture DDS loading, update hirestexture logic to use custom texture data
2023-03-01 12:11:04 -06:00
iwubcode
3e35255983
VideoCommon: add class to load custom texture data
2023-03-01 11:58:37 -06:00
Dentomologist
ad6e95afb4
D3D: Restore workaround for erroneous NaN optimization
...
The HLSL compiler incorrectly decides isnan can't be true, so this
workaround was originally added in 52c82733
but lost during the
conversion to SPIR-V.
2023-02-25 16:27:30 -08:00
JosJuice
f2be35c7cd
VideoCommon: Reword the unknown opcode error message
...
When faced with this error, users often don't try disabling dual core,
even though the error message suggests it. Perhaps the message is just
too long and lists too many things?
To try to improve the situation, I'm rewording the message and making it
say different things depending on what settings you are using.
2023-02-19 16:35:28 +01:00
Scott Mansell
6038a6e2db
Merge pull request #11569 from Hibyehello/patch-1
...
VideoBackend: Make Metal Default on MacOS
2023-02-16 21:08:35 +13:00
Pokechu22
67381cdb8b
VideoCommon: Remove unused ShutdownImGui function declaration
...
This was moved to the ~OnScreenUI() destructor in 0d4537d60f
.
2023-02-15 19:20:59 -08:00
Pokechu22
8802f96b7e
Fix uninitialized variable warnings (C26495)
2023-02-15 19:18:39 -08:00
Josh
cd38ed76e2
Keep Vulkan precedence over OpenGL
2023-02-15 12:22:56 -06:00
Josh
546a016dc8
VideoBackend: Make Metal Default on MacOS
2023-02-15 12:05:54 -06:00
TellowKrinkle
f25a0b43b6
VideoCommon: Fix stereoscopic 3D on OpenGL < 4.3 (macOS)
2023-02-14 18:25:33 +01:00
Pokechu22
4f6ce51d69
VideoCommon: Clear blend configuration if color/alpha update disabled
...
This works around an Intel driver bug where, on D3D12 only, dual-source blending behaves incorrectly if the second source is unused on. This bug is visible in skyboxes in Super Mario Sunshine, which first draw clouds and sun flare in greyscale and then draw the sky afterwards with a source factor of 1 and a dest factor of 1-src_color (this results in the clouds being tinted blue). This process is done on an RGB888 framebuffer, so alpha update is disabled. (Color update is enabled; note that if you look at this in Dolphin's fifo analyzer, it won't be enabled because they use the BP mask functionality to only change the blending functions and not alpha/color update, for whatever reason.)
2023-02-13 18:22:41 -08:00
Scott Mansell
1fc5d37fd2
Merge pull request #11558 from Pokechu22/vertex-loader-size-assertion-details
...
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-13 17:34:04 +13:00
Pokechu22
cc411c4e41
VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion
2023-02-12 20:10:38 -08:00
Scott Mansell
f37113204f
Merge pull request #11550 from iwubcode/set_common_samplers_count
...
VideoCommon: add constant value for maximum number of pixel samplers
2023-02-13 16:05:51 +13:00
iwubcode
20dc4401c5
VideoCommon: pass a graphics mod base path to the graphics mod, so it can lookup other relative files if necessary
2023-02-11 00:21:40 -06:00
Admiral H. Curtiss
3c2933cad2
Merge pull request #11549 from Pokechu22/texturecachebase-bitset-include
...
TextureCacheBase: Remove unused bitset include
2023-02-10 10:55:07 +01:00
JMC47
258151fe5a
Merge pull request #11523 from degasus/OGL_KHR_subgroup
...
VideoBackend/OGL: Prefer KHR_shader_subgroup over NV_shader_thread.
2023-02-10 04:47:20 -05:00
iwubcode
af313f8419
VideoCommon: add constant value to set the allowed maximum number of pixel samplers
2023-02-10 00:46:11 -06:00
Pokechu22
3024ca2146
Suppress memcpy writing to an object with no trivial copy-assignment warnings
...
We need to copy padding in most of these cases, and the objects are trivially copyable; however, BitField prevents trivial copy-assignment.
2023-02-09 16:23:49 -08:00
Pokechu22
470115fd4f
TextureDecoder: Fix warning: array subscript has type ‘char’ [-Wchar-subscripts]
2023-02-09 16:23:02 -08:00
Pokechu22
9559c45cae
CommandProcessor: Fix shadowing warnings
2023-02-09 16:23:02 -08:00
Pokechu22
39c5d55f03
VertexLoaderBase: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
95bee485c9
GraphicsModManager: Fix shadowing warning
2023-02-09 16:23:02 -08:00
Pokechu22
5283a85205
TextureCacheBase: Remove unused bitset include
...
It was used for valid_bind_points, which was removed in 88bd10cd30
(and the declaration was more recently removed in 606c18210d
).
2023-02-09 16:04:48 -08:00
JMC47
a88e5ef390
Merge pull request #11498 from iwubcode/save_pipeline_config
...
VideoCommon: store the configuration used to create the AbstractPipeline
2023-02-09 18:38:49 -05:00
Markus Wick
17d7b75a9b
Merge pull request #11544 from jmallach/spng
...
Allow building against system libspng
2023-02-09 14:47:58 +01:00
degasus
4b2aa948e6
VideoBackend/OGL: Prefer KHR_subgroup over NV_shader_thread.
...
While the NV extension is totally fine, the KHR extension should be able to support more hardware.
For NVIDIA, the hardware either supports both or neither, it just needs a driver from the last two years.
For AMD, the drivers from late 2022-12 seems to bring support for the KHR extension.
For Intel, the KHR is also supported for some years.
2023-02-09 13:27:02 +01:00
iwubcode
d0c6b6c9ed
VideoCommon: store the configuration used to create the AbstractPipeline on the pipeline itself, so that it's easy to duplicate pipelines with slightly altered configuration
2023-02-09 02:13:53 -06:00
Scott Mansell
ccf92a3e56
Merge pull request #11522 from phire/KillRendererWithFire
...
Kill Renderer (with phire)
2023-02-09 19:59:16 +13:00
Scott Mansell
5c1b3ac61d
Hook up Presenter's ConfigChanged function
...
Fixes issue with post-processing not working
2023-02-09 18:36:20 +13:00
Scott Mansell
9c1fe59cc9
Insert a more solid abstraction between Qt and Imgui
2023-02-09 18:36:20 +13:00
Scott Mansell
b2a31103b4
Presenter: Handle blanked frames correctly
2023-02-09 18:36:20 +13:00
Scott Mansell
83b7b01265
Fix XFB duplicate detection
...
Frame duplicate detection was inverted. Huge problem for 60fps games
where it would see all frames as "duplicates" and nothing would ever be
presented.
2023-02-09 18:36:20 +13:00
Scott Mansell
d3ddd96cee
Make sure m_prev_efb_format is initilized
2023-02-09 18:36:20 +13:00
Scott Mansell
8c8bd0e7ac
Rename to HookableEvent. Because naming conflict
2023-02-09 18:36:20 +13:00