dolphin/Source/Core/VideoCommon
Admiral H. Curtiss 2677fd9a8e
Merge pull request #12185 from iwubcode/custom_shader_uniform_backend_support
VideoBackends / VideoCommon: add support for custom shader uniforms to D3D, Vulkan, OGL
2023-10-15 00:21:56 +02:00
..
Assets VideoCommon: instead of using 'CustomTextureData' directly, use '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-10-10 09:58:14 -05:00
GraphicsModSystem VideoCommon: instead of using 'CustomTextureData' directly, use '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-10-10 09:58:14 -05:00
AbstractFramebuffer.cpp VideoBackends: add support to allow rendering to multiple output textures 2023-06-03 14:52:31 -05:00
AbstractFramebuffer.h AbstractFramebuffer: Fix Android reorder-ctor warning 2023-08-12 20:48:47 -07:00
AbstractGfx.cpp Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted. 2023-06-19 01:34:42 +03:00
AbstractGfx.h VideoBackends: support multiple compute images for some backends (D3D, OGL, Vulkan) 2023-06-28 17:15:31 -05:00
AbstractPipeline.h Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
AbstractShader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractStagingTexture.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
AbstractStagingTexture.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AbstractTexture.cpp Merge pull request #11901 from Filoppi/add_texture_types 2023-06-08 15:28:15 +02:00
AbstractTexture.h Add compression option for texture dumps. 2023-06-01 16:01:11 -04:00
AsyncRequests.cpp Lint fixes 2023-02-09 18:36:20 +13:00
AsyncRequests.h Fix crashes in dual core mode on a PI_FIFO_RESET 2022-08-18 13:38:37 -07:00
AsyncShaderCompiler.cpp Allow to interrupt shader precompilation by stopping emulation 2022-06-10 17:11:32 +02:00
AsyncShaderCompiler.h Allow to interrupt shader precompilation by stopping emulation 2022-06-10 17:11:32 +02:00
BoundingBox.cpp Move BoundingBox out of RenderBase 2023-01-31 19:41:24 +13:00
BoundingBox.h Move BoundingBox out of RenderBase 2023-01-31 19:41:24 +13:00
BPFunctions.cpp Move SmallVector to Common 2023-08-22 13:19:49 +02:00
BPFunctions.h Resolve GCC Warnings 2022-06-30 15:26:48 -05:00
BPMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
BPMemory.h fmt 10.0.0-10.1.1 compile fixes 2023-09-21 01:19:23 +02:00
BPStructs.cpp Fifo: Convert MemoryUpdate::Type to enum class 2023-09-02 18:19:26 -07:00
BPStructs.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CMakeLists.txt VideoCommon: add support to graphics mod manager to load in assets and pass it to graphics actions 2023-08-20 18:53:27 -05:00
CommandProcessor.cpp Merge pull request #11586 from JosJuice/unknown-opcode-msg 2023-06-03 12:53:33 +02:00
CommandProcessor.h VideoCommon/CommandProcessor: Pass System to HandleUnknownOpcode(). 2023-04-05 20:09:32 +02:00
ConstantManager.h VideoCommon: add milliseconds elapsed time value to pixel shaders as a uniform to be able to support animation effects in custom shaders 2023-08-20 18:53:27 -05:00
Constants.h VideoBackends: support multiple compute images for some backends (D3D, OGL, Vulkan) 2023-06-28 17:15:31 -05:00
CPMemory.cpp EnumUtils: Add Common::ToUnderlying 2023-06-17 07:15:33 -05:00
CPMemory.h Simplify saving CP state 2022-10-09 19:32:59 -07:00
CPUCull.cpp VideoCommon: Explicitly disable fp_contract for CPUCull 2023-01-25 02:21:56 -06:00
CPUCull.h Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
CPUCullImpl.h VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
DataReader.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DriverDetails.cpp Remove out-dated hack of AMD driver issue WRT dual-source blending output index. 2023-08-15 23:58:29 -04:00
DriverDetails.h Remove out-dated hack of AMD driver issue WRT dual-source blending output index. 2023-08-15 23:58:29 -04:00
Fifo.cpp Common: Convert BlockingLoop::StopMode to enum class 2023-06-12 17:12:25 -07:00
Fifo.h Use structs for config callback IDs 2023-08-17 19:19:26 +02:00
FramebufferManager.cpp Make sure m_prev_efb_format is initilized 2023-02-09 18:36:20 +13:00
FramebufferManager.h Apply suggestions from code review 2023-02-09 18:36:20 +13:00
FramebufferShaderGen.cpp Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted. 2023-06-19 01:34:42 +03:00
FramebufferShaderGen.h Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted. 2023-06-19 01:34:42 +03:00
FrameDumper.cpp Fix builds with FFMPEG disabled 2023-02-09 18:36:20 +13:00
FrameDumper.h Apply suggestions from code review 2023-02-09 18:36:20 +13:00
FrameDumpFFMpeg.cpp HW/VideoInterface: Refactor to class. 2023-03-11 12:50:35 +01:00
FrameDumpFFMpeg.h Fix builds with FFMPEG disabled 2023-02-09 18:36:20 +13:00
FreeLookCamera.cpp Common: Refactor PointerWrap 2022-05-25 13:06:41 -07:00
FreeLookCamera.h VideoCommon: update Free Look camera's 'FieldOfView' function to 'FieldOfViewMultiplier' to better reflect usage 2021-10-08 18:17:20 -05:00
GeometryShaderGen.cpp VideoBackends / VideoCommon: add new uniform buffer object for custom shader materials (slot 3, geometry shader buffer moves to slot 4 if available) 2023-10-06 02:17:42 -05:00
GeometryShaderGen.h Fix ambiguous uses of format_to 2022-01-13 11:11:08 -08:00
GeometryShaderManager.cpp VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
GeometryShaderManager.h VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
GXPipelineTypes.h VideoCommon: given the changes to pipeline interaction, update the global version variable to reflect those changes and force pipelines to be rebuilt 2023-10-06 02:17:43 -05:00
HiresTextures.cpp VideoCommon: instead of using 'CustomTextureData' directly, use '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-10-10 09:58:14 -05:00
HiresTextures.h Core / VideoCommon: update HiresTexture to use CustomAssetLoader 2023-06-05 16:33:19 -05:00
IndexGenerator.cpp IndexGenerator: Fix off-by-one in GetRemainingIndices 2023-01-04 10:42:00 -08:00
IndexGenerator.h VideoCommon: Add vertex shader point and line expansion 2022-10-22 20:13:24 -05:00
LightingShaderGen.cpp VideoCommon: add helper functions to handle generating custom lighting code for a custom pixel shader 2023-08-20 18:53:27 -05:00
LightingShaderGen.h VideoCommon: add helper functions to handle generating custom lighting code for a custom pixel shader 2023-08-20 18:53:27 -05:00
LookUpTables.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NativeVertexFormat.h Change unnamed enum in NativeVertexFormat.h to u32 2023-06-17 08:13:57 -05:00
NetPlayChatUI.cpp VideoCommon: update NetplayChatUI's chat message input to use a hidden label. This avoids an error thrown by imgui 2023-07-29 00:27:07 -05:00
NetPlayChatUI.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayGolfUI.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NetPlayGolfUI.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OnScreenDisplay.cpp Timer: protect usages of ms timers from rollover 2022-08-02 22:24:06 -07:00
OnScreenDisplay.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
OnScreenUI.cpp VideoCommon: update imgui to 1.89.7 (and implot to 0.15); fix issues with upgrade; keep the demo code in case someone wants to reference it but don't compile it by enabling 'IMGUI_DISABLE_DEMO_WINDOWS' in config 2023-07-27 11:47:34 -05:00
OnScreenUI.h VideoCommon: update imgui to 1.89.7 (and implot to 0.15); fix issues with upgrade; keep the demo code in case someone wants to reference it but don't compile it by enabling 'IMGUI_DISABLE_DEMO_WINDOWS' in config 2023-07-27 11:47:34 -05:00
OnScreenUIKeyMap.h Insert a more solid abstraction between Qt and Imgui 2023-02-09 18:36:20 +13:00
OpcodeDecoding.cpp VideoCommon/CommandProcessor: Pass System to HandleUnknownOpcode(). 2023-04-05 20:09:32 +02:00
OpcodeDecoding.h OpcodeDecoding: Get vertex size from the loader 2022-09-19 01:14:53 +02:00
PerformanceMetrics.cpp HW/VideoInterface: Refactor to class. 2023-03-11 12:50:35 +01:00
PerformanceMetrics.h Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
PerformanceTracker.cpp PerformanceTracker: Add ownership of m_log_name. 2023-01-06 20:27:25 +01:00
PerformanceTracker.h PerformanceTracker: Add ownership of m_log_name. 2023-01-06 20:27:25 +01:00
PerfQueryBase.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
PerfQueryBase.h Add virtual Initialize() to PerfQueryBase 2023-01-31 19:41:24 +13:00
PixelEngine.cpp Move BoundingBox out of RenderBase 2023-01-31 19:41:24 +13:00
PixelEngine.h VideoCommon/PixelEngine: Pass Core::System to methods. 2022-12-11 21:57:30 +01:00
PixelShaderGen.cpp VideoCommon: add milliseconds elapsed time value to pixel shaders as a uniform to be able to support animation effects in custom shaders 2023-08-20 18:53:27 -05:00
PixelShaderGen.h VideoCommon: pixel shader gen changes needed to support custom pixel shaders in graphics mods 2023-08-20 18:53:27 -05:00
PixelShaderManager.cpp Make sure pixel shaders pick up Initial EFB Scale 2023-02-09 18:36:20 +13:00
PixelShaderManager.h VideoCommon: add custom pixel shader constants as a buffer of data to be passed to all backends 2023-10-05 21:20:16 -05:00
PostProcessing.cpp Video: fix post process shaders with parameters failing to build on OpenGL 2023-08-18 02:00:56 +03:00
PostProcessing.h Video: fix post process shaders with parameters failing to build on OpenGL 2023-08-18 02:00:56 +03:00
Present.cpp Video: The Auto internal resolution scaling wasn't working correctly if the window weird aspect ratios (e.g. 32:9), beacuse it would account for the the portion of the image that will show black bars into the calcuations to find the best matching resolution 2023-08-18 02:14:00 +03:00
Present.h Video: The Auto-Adjust Window Size setting was calculating the window size based on the resolution of the window in the previous frame if we used the "stretch" aspect ratio setting, so it's result would be self influence in a loop and behave unreliably (e.g. when changing resolution between Auto/Native/2x the automatic window scaling would behave randomly) 2023-08-18 02:14:00 +03:00
RenderBase.cpp Move UseVertexDepthRange() out of Renderer 2023-02-09 18:36:20 +13:00
RenderBase.h Cleanup headers 2023-02-09 18:36:20 +13:00
RenderState.cpp VideoBackends: add support to allow rendering to multiple output textures 2023-06-03 14:52:31 -05:00
RenderState.h VideoBackends: add support to allow rendering to multiple output textures 2023-06-03 14:52:31 -05:00
sfont.inc Use fmt::to_string for texture format overlay 2022-07-15 12:29:40 -07:00
ShaderCache.cpp VideoCommon: uber pixel shader gen changes needed to support custom pixel shaders in graphics mods 2023-08-20 18:53:27 -05:00
ShaderCache.h Common/LinearDiskCache: Move interface into Common namespace 2023-04-19 09:14:39 -04:00
ShaderGenCommon.cpp VideoCommon: Fix custom shader constants on GLES 2023-08-22 19:38:18 +02:00
ShaderGenCommon.h VideoCommon: add custom pixel shader definition and custom shader header to shadergen common as it will be used by both the special and uber shader variant of pixel shaders 2023-08-20 18:53:27 -05:00
Spirv.cpp Merge pull request #10946 from Pokechu22/remove-iLog 2022-08-05 22:42:09 +12:00
Spirv.h VideoBackends / VideoCommon: refactor Vulkan to use new SPIRV functionality 2022-06-24 18:09:53 -05:00
Statistics.cpp Apply suggestions from code review 2023-02-09 18:36:20 +13:00
Statistics.h Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
TextureCacheBase.cpp VideoCommon: instead of using 'CustomTextureData' directly, use '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-10-10 09:58:14 -05:00
TextureCacheBase.h VideoCommon: instead of using 'CustomTextureData' directly, use '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-10-10 09:58:14 -05:00
TextureConfig.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
TextureConfig.h VideoBackends: add support for cube maps for OGL, Vulkan, and D3D 2023-07-21 19:09:40 -05:00
TextureConversionShader.cpp Common/MathUtil: Move IntLog2 into MathUtil namespace 2023-04-15 03:35:05 -04:00
TextureConversionShader.h VideoCommon: Reduce duplicates of non-palette-requiring texture decode shaders 2022-06-16 02:08:45 -05:00
TextureConverterShaderGen.cpp Fix OpenGL error on M1 Mac. 2022-07-17 08:54:39 -04:00
TextureConverterShaderGen.h Restructure parameters to TetxureConverterShaderGen/TextureConversionShader 2022-07-16 00:07:10 -07:00
TextureDecoder_Common.cpp TextureDecoder: Fix warning: array subscript has type ‘char’ [-Wchar-subscripts] 2023-02-09 16:23:02 -08:00
TextureDecoder_Generic.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
TextureDecoder_Util.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
TextureDecoder_x64.cpp Remove casts to integers for texture and EFB formats 2022-07-15 12:29:40 -07:00
TextureDecoder.h VideoCommon: add function to check whether TextureFormat is a valid value 2022-06-26 00:45:13 -05:00
TextureInfo.cpp Common/MathUtil: Move IntLog2 into MathUtil namespace 2023-04-15 03:35:05 -04:00
TextureInfo.h VideoCommon: add support for setting and getting the stage from the texture info 2022-06-26 00:45:13 -05:00
TMEM.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
TMEM.h Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
UberShaderCommon.cpp EnumUtils: Add Common::ToUnderlying 2023-06-17 07:15:33 -05:00
UberShaderCommon.h VideoCommon: Allow BitfieldExtract in specialized shaders 2021-11-17 20:04:33 -08:00
UberShaderPixel.cpp VideoCommon: Fix GLSL uint handling in UberShaderPixel 2023-08-28 21:17:01 +02:00
UberShaderPixel.h VideoCommon: uber pixel shader gen changes needed to support custom pixel shaders in graphics mods 2023-08-20 18:53:27 -05:00
UberShaderVertex.cpp VideoBackends / VideoCommon: add new uniform buffer object for custom shader materials (slot 3, geometry shader buffer moves to slot 4 if available) 2023-10-06 02:17:42 -05:00
UberShaderVertex.h VideoCommon: Name ubershaders 2022-06-16 02:08:45 -05:00
VertexLoader_Color.cpp VertexLoader: Remove "too many initializer values" workaround functions 2022-10-25 15:29:09 -07:00
VertexLoader_Color.h VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
VertexLoader_Normal.cpp VertexLoader: Fix loading tangent/binormal caches with NormalIndex3 2023-01-13 15:38:00 -08:00
VertexLoader_Normal.h VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
VertexLoader_Position.cpp VertexLoader: Don't write position_cache if vertex is skipped 2023-01-13 15:38:00 -08:00
VertexLoader_Position.h VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
VertexLoader_TextCoord.cpp VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoader_TextCoord.h VertexLoader: Inline GetSize 2022-09-15 12:50:15 +02:00
VertexLoader.cpp Fix VertexLoader.cpp using the wrong size for texture matrix indices without a corresponding texture 2022-11-22 17:49:54 -08:00
VertexLoader.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderARM64.cpp VertexLoader: Add more info to m_vertex_size == m_src_ofs assertion 2023-02-12 20:10:38 -08:00
VertexLoaderARM64.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderBase.cpp VertexLoaderBase: Fix shadowing warning 2023-02-09 16:23:02 -08:00
VertexLoaderBase.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderManager.cpp Resolve [-Wclass-memaccess] 2023-04-12 03:59:57 -05:00
VertexLoaderManager.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderUtils.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexLoaderX64.cpp XEmitter: Add enum class Jump 2023-06-12 13:04:18 -07:00
VertexLoaderX64.h VertexLoader: Eliminate use of DataReader 2022-11-22 17:17:11 -08:00
VertexManagerBase.cpp VideoCommon: add custom pixel shader constants as a buffer of data to be passed to all backends 2023-10-05 21:20:16 -05:00
VertexManagerBase.h VideoCommon: add milliseconds elapsed time value to pixel shaders as a uniform to be able to support animation effects in custom shaders 2023-08-20 18:53:27 -05:00
VertexShaderGen.cpp VideoBackends / VideoCommon: add new uniform buffer object for custom shader materials (slot 3, geometry shader buffer moves to slot 4 if available) 2023-10-06 02:17:42 -05:00
VertexShaderGen.h Fix build errors related to formatting non-scoped enums 2022-11-23 13:45:43 -08:00
VertexShaderManager.cpp VideoCommon: don't do pointer copies during graphics mod callback iteration 2023-07-02 13:58:07 -05:00
VertexShaderManager.h VideoCommon:VertexShaderManager: Inline SetVertexFormat & UpdateValue/Offset 2023-03-20 20:59:38 +01:00
VideoBackendBase.cpp VideoCommon: Deinit Graphics Mod Manager implicitly 2023-09-03 16:06:08 -04:00
VideoBackendBase.h VideoCommon: Pass WindowSystemInfo to InitBackendInfo 2023-06-08 22:07:39 -07:00
VideoCommon.h Fix warning about compare sign mismatch 2023-01-31 19:41:23 +13:00
VideoConfig.cpp VideoCommon: wait for the GPU to be finished doing any work before invalidating pipelines when graphic config changes 2023-10-10 18:17:24 -05:00
VideoConfig.h VideoCommon: Expose the widescreen heuristic's standard and widescreen ratio values in onion config. 2023-09-06 18:45:28 -05:00
VideoEvents.h Fix uninitialized variable warnings (C26495) 2023-02-15 19:18:39 -08:00
VideoState.cpp Move m_prev_efb_format into FramebufferManager 2023-02-09 18:36:20 +13:00
VideoState.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Widescreen.cpp RenderBase: Allow widescreen heuristic's transition threshold to be overridden by onion config 2023-09-05 11:49:22 -04:00
Widescreen.h Apply suggestions from code review 2023-02-09 18:36:20 +13:00
XFMemory.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
XFMemory.h VideoCommon: Add class for quickly transforming and culling vertices on the CPU 2023-01-25 02:21:56 -06:00
XFStructs.cpp VideoCommon: De-globalize GeometryShaderManager class. 2022-12-29 15:33:19 +01:00
XFStructs.h Refactor OpcodeDecoding and FIFO analyzer to use callbacks 2021-12-18 15:21:36 -08:00