diff options
| author | Pokechu22 <Pokechu022@gmail.com> | 2021-12-09 14:00:08 -0800 |
|---|---|---|
| committer | Pokechu22 <Pokechu022@gmail.com> | 2022-01-01 11:38:56 -0800 |
| commit | afd02b79a511f88ae8c7d0be0c49f529967cb243 (patch) | |
| tree | 1781e71210824a223404131a80f7acb674773166 /Source/Core/VideoCommon/ShaderCache.cpp | |
| parent | 85d2ea0dd28444effed13a622360253f2d74bcba (diff) | |
VideoCommon: Add names for textures and shaders
Diffstat (limited to 'Source/Core/VideoCommon/ShaderCache.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/ShaderCache.cpp | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/Source/Core/VideoCommon/ShaderCache.cpp b/Source/Core/VideoCommon/ShaderCache.cpp index 0a9dc0b856..eada4c970b 100644 --- a/Source/Core/VideoCommon/ShaderCache.cpp +++ b/Source/Core/VideoCommon/ShaderCache.cpp @@ -3,6 +3,8 @@ #include "VideoCommon/ShaderCache.h" +#include <fmt/format.h> + #include "Common/Assert.h" #include "Common/FileUtil.h" #include "Common/MsgHandler.h" @@ -539,7 +541,8 @@ const AbstractShader* ShaderCache::CreateGeometryShader(const GeometryShaderUid& const ShaderCode source_code = GenerateGeometryShaderCode(m_api_type, m_host_config, uid.GetUidData()); std::unique_ptr<AbstractShader> shader = - g_renderer->CreateShaderFromSource(ShaderStage::Geometry, source_code.GetBuffer()); + g_renderer->CreateShaderFromSource(ShaderStage::Geometry, source_code.GetBuffer(), + fmt::format("Geometry shader: {}", *uid.GetUidData())); auto& entry = m_gs_cache.shader_map[uid]; entry.pending = false; @@ -1158,7 +1161,9 @@ ShaderCache::GetEFBCopyToVRAMPipeline(const TextureConversionShaderGen::TCShader return iter->second.get(); auto shader_code = TextureConversionShaderGen::GeneratePixelShader(m_api_type, uid.GetUidData()); - auto shader = g_renderer->CreateShaderFromSource(ShaderStage::Pixel, shader_code.GetBuffer()); + auto shader = g_renderer->CreateShaderFromSource( + ShaderStage::Pixel, shader_code.GetBuffer(), + fmt::format("EFB copy to VRAM pixel shader: {}", *uid.GetUidData())); if (!shader) { m_efb_copy_to_vram_pipelines.emplace(uid, nullptr); @@ -1188,7 +1193,8 @@ const AbstractPipeline* ShaderCache::GetEFBCopyToRAMPipeline(const EFBCopyParams const std::string shader_code = TextureConversionShaderTiled::GenerateEncodingShader(uid, m_api_type); - const auto shader = g_renderer->CreateShaderFromSource(ShaderStage::Pixel, shader_code); + const auto shader = g_renderer->CreateShaderFromSource( + ShaderStage::Pixel, shader_code, fmt::format("EFB copy to RAM pixel shader: {}", uid)); if (!shader) { m_efb_copy_to_ram_pipelines.emplace(uid, nullptr); @@ -1210,29 +1216,34 @@ const AbstractPipeline* ShaderCache::GetEFBCopyToRAMPipeline(const EFBCopyParams bool ShaderCache::CompileSharedPipelines() { m_screen_quad_vertex_shader = g_renderer->CreateShaderFromSource( - ShaderStage::Vertex, FramebufferShaderGen::GenerateScreenQuadVertexShader()); + ShaderStage::Vertex, FramebufferShaderGen::GenerateScreenQuadVertexShader(), + "Screen quad vertex shader"); m_texture_copy_vertex_shader = g_renderer->CreateShaderFromSource( - ShaderStage::Vertex, FramebufferShaderGen::GenerateTextureCopyVertexShader()); + ShaderStage::Vertex, FramebufferShaderGen::GenerateTextureCopyVertexShader(), + "Texture copy vertex shader"); m_efb_copy_vertex_shader = g_renderer->CreateShaderFromSource( - ShaderStage::Vertex, - TextureConversionShaderGen::GenerateVertexShader(m_api_type).GetBuffer()); + ShaderStage::Vertex, TextureConversionShaderGen::GenerateVertexShader(m_api_type).GetBuffer(), + "EFB copy vertex shader"); if (!m_screen_quad_vertex_shader || !m_texture_copy_vertex_shader || !m_efb_copy_vertex_shader) return false; if (UseGeometryShaderForEFBCopies()) { m_texcoord_geometry_shader = g_renderer->CreateShaderFromSource( - ShaderStage::Geometry, FramebufferShaderGen::GeneratePassthroughGeometryShader(1, 0)); + ShaderStage::Geometry, FramebufferShaderGen::GeneratePassthroughGeometryShader(1, 0), + "Texcoord passthrough geometry shader"); m_color_geometry_shader = g_renderer->CreateShaderFromSource( - ShaderStage::Geometry, FramebufferShaderGen::GeneratePassthroughGeometryShader(0, 1)); + ShaderStage::Geometry, FramebufferShaderGen::GeneratePassthroughGeometryShader(0, 1), + "Color passthrough geometry shader"); if (!m_texcoord_geometry_shader || !m_color_geometry_shader) return false; } m_texture_copy_pixel_shader = g_renderer->CreateShaderFromSource( - ShaderStage::Pixel, FramebufferShaderGen::GenerateTextureCopyPixelShader()); + ShaderStage::Pixel, FramebufferShaderGen::GenerateTextureCopyPixelShader(), + "Texture copy pixel shader"); m_color_pixel_shader = g_renderer->CreateShaderFromSource( - ShaderStage::Pixel, FramebufferShaderGen::GenerateColorPixelShader()); + ShaderStage::Pixel, FramebufferShaderGen::GenerateColorPixelShader(), "Color pixel shader"); if (!m_texture_copy_pixel_shader || !m_color_pixel_shader) return false; @@ -1265,9 +1276,11 @@ bool ShaderCache::CompileSharedPipelines() for (size_t i = 0; i < NUM_PALETTE_CONVERSION_SHADERS; i++) { + TLUTFormat format = static_cast<TLUTFormat>(i); auto shader = g_renderer->CreateShaderFromSource( - ShaderStage::Pixel, TextureConversionShaderTiled::GeneratePaletteConversionShader( - static_cast<TLUTFormat>(i), m_api_type)); + ShaderStage::Pixel, + TextureConversionShaderTiled::GeneratePaletteConversionShader(format, m_api_type), + fmt::format("Palette conversion pixel shader: {}", format)); if (!shader) return false; @@ -1303,8 +1316,9 @@ const AbstractPipeline* ShaderCache::GetTextureReinterpretPipeline(TextureFormat return nullptr; } - std::unique_ptr<AbstractShader> shader = - g_renderer->CreateShaderFromSource(ShaderStage::Pixel, shader_source); + std::unique_ptr<AbstractShader> shader = g_renderer->CreateShaderFromSource( + ShaderStage::Pixel, shader_source, + fmt::format("Texture reinterpret pixel shader: {} to {}", from_format, to_format)); if (!shader) { m_texture_reinterpret_pipelines.emplace(key, nullptr); @@ -1341,8 +1355,9 @@ const AbstractShader* ShaderCache::GetTextureDecodingShader(TextureFormat format return nullptr; } - std::unique_ptr<AbstractShader> shader = - g_renderer->CreateShaderFromSource(ShaderStage::Compute, shader_source); + std::unique_ptr<AbstractShader> shader = g_renderer->CreateShaderFromSource( + ShaderStage::Compute, shader_source, + fmt::format("Texture decoding compute shader: {}, {}", format, palette_format)); if (!shader) { m_texture_decoding_shaders.emplace(key, nullptr); |
