summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/TextureConverter.cpp
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2017-12-02 16:28:12 +0100
committerGitHub <noreply@github.com>2017-12-02 16:28:12 +0100
commit7498d80a6fe8aced9449e537c3a63203247aba09 (patch)
tree90d36b105f8595b3e846acb5e702adb618556c16 /Source/Core/VideoBackends/Vulkan/TextureConverter.cpp
parent2b2941d0c9274ea04a2f6c5f816f2bf804d25407 (diff)
parente2a9ee384f737b78f55a1bdd56e928bd33d802ba (diff)
Merge pull request #5882 from degasus/efb2tex_copies
Use VideoCommon shader generators for efb2tex copies.
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/TextureConverter.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/TextureConverter.cpp21
1 files changed, 11 insertions, 10 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/TextureConverter.cpp b/Source/Core/VideoBackends/Vulkan/TextureConverter.cpp
index 72995c7a4b..f594f7785b 100644
--- a/Source/Core/VideoBackends/Vulkan/TextureConverter.cpp
+++ b/Source/Core/VideoBackends/Vulkan/TextureConverter.cpp
@@ -389,7 +389,7 @@ bool TextureConverter::SupportsTextureDecoding(TextureFormat format, TLUTFormat
return iter->second.valid;
TextureDecodingPipeline pipeline;
- pipeline.base_info = TextureConversionShader::GetDecodingShaderInfo(format);
+ pipeline.base_info = TextureConversionShaderTiled::GetDecodingShaderInfo(format);
pipeline.compute_shader = VK_NULL_HANDLE;
pipeline.valid = false;
@@ -400,7 +400,7 @@ bool TextureConverter::SupportsTextureDecoding(TextureFormat format, TLUTFormat
}
std::string shader_source =
- TextureConversionShader::GenerateDecodingShader(format, palette_format, APIType::Vulkan);
+ TextureConversionShaderTiled::GenerateDecodingShader(format, palette_format, APIType::Vulkan);
pipeline.compute_shader = Util::CompileAndCreateComputeShader(shader_source);
if (pipeline.compute_shader == VK_NULL_HANDLE)
@@ -438,7 +438,7 @@ void TextureConverter::DecodeTexture(VkCommandBuffer command_buffer,
// Copy to GPU-visible buffer, aligned to the data type
auto info = iter->second;
u32 bytes_per_buffer_elem =
- TextureConversionShader::GetBytesPerBufferElement(info.base_info->buffer_format);
+ TextureConversionShaderTiled::GetBytesPerBufferElement(info.base_info->buffer_format);
// Calculate total data size, including palette.
// Only copy palette if it is required.
@@ -496,16 +496,16 @@ void TextureConverter::DecodeTexture(VkCommandBuffer command_buffer,
VkBufferView data_view = VK_NULL_HANDLE;
switch (iter->second.base_info->buffer_format)
{
- case TextureConversionShader::BUFFER_FORMAT_R8_UINT:
+ case TextureConversionShaderTiled::BUFFER_FORMAT_R8_UINT:
data_view = m_texel_buffer_view_r8_uint;
break;
- case TextureConversionShader::BUFFER_FORMAT_R16_UINT:
+ case TextureConversionShaderTiled::BUFFER_FORMAT_R16_UINT:
data_view = m_texel_buffer_view_r16_uint;
break;
- case TextureConversionShader::BUFFER_FORMAT_R32G32_UINT:
+ case TextureConversionShaderTiled::BUFFER_FORMAT_R32G32_UINT:
data_view = m_texel_buffer_view_r32g32_uint;
break;
- case TextureConversionShader::BUFFER_FORMAT_RGBA8_UINT:
+ case TextureConversionShaderTiled::BUFFER_FORMAT_RGBA8_UINT:
data_view = m_texel_buffer_view_rgba8_uint;
break;
default:
@@ -522,8 +522,8 @@ void TextureConverter::DecodeTexture(VkCommandBuffer command_buffer,
dispatcher.SetTexelBuffer(0, data_view);
if (has_palette)
dispatcher.SetTexelBuffer(1, m_texel_buffer_view_r16_uint);
- auto groups = TextureConversionShader::GetDispatchCount(iter->second.base_info, aligned_width,
- aligned_height);
+ auto groups = TextureConversionShaderTiled::GetDispatchCount(iter->second.base_info,
+ aligned_width, aligned_height);
dispatcher.Dispatch(groups.first, groups.second, 1);
// Copy from temporary texture to final destination.
@@ -691,7 +691,8 @@ bool TextureConverter::CompilePaletteConversionShaders()
VkShaderModule TextureConverter::CompileEncodingShader(const EFBCopyParams& params)
{
- const char* shader = TextureConversionShader::GenerateEncodingShader(params, APIType::Vulkan);
+ const char* shader =
+ TextureConversionShaderTiled::GenerateEncodingShader(params, APIType::Vulkan);
VkShaderModule module = Util::CompileAndCreateFragmentShader(shader);
if (module == VK_NULL_HANDLE)
PanicAlert("Failed to compile texture encoding shader.");