summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/Vulkan/ShaderCache.cpp
diff options
context:
space:
mode:
authorTilka <tilkax@gmail.com>2019-02-02 12:45:20 +0000
committerGitHub <noreply@github.com>2019-02-02 12:45:20 +0000
commit2d75797c6364b23c194780c6fdfe515430ff3b9a (patch)
tree61ec9a0523e7f2a3e9a02e0281240fb82b0e8a80 /Source/Core/VideoBackends/Vulkan/ShaderCache.cpp
parent6dc16dda26f23e55d0b7ad3ce383bb7883dd844e (diff)
parent3b033bf3f08d23bfc42b1d7a6f9dd94a8b863c1d (diff)
Merge pull request #7747 from stenzek/vulkan-shutdown
Vulkan: Shutdown fixes and cleanup/refactoring
Diffstat (limited to 'Source/Core/VideoBackends/Vulkan/ShaderCache.cpp')
-rw-r--r--Source/Core/VideoBackends/Vulkan/ShaderCache.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/Source/Core/VideoBackends/Vulkan/ShaderCache.cpp b/Source/Core/VideoBackends/Vulkan/ShaderCache.cpp
index eb03177be9..33181e920c 100644
--- a/Source/Core/VideoBackends/Vulkan/ShaderCache.cpp
+++ b/Source/Core/VideoBackends/Vulkan/ShaderCache.cpp
@@ -795,7 +795,19 @@ bool ShaderCache::CompileSharedShaders()
}
)";
- std::string header = GetUtilityShaderHeader();
+ static const char CLEAR_FRAGMENT_SHADER_SOURCE[] = R"(
+ layout(location = 0) in float3 uv0;
+ layout(location = 1) in float4 col0;
+ layout(location = 0) out float4 ocol0;
+
+ void main()
+ {
+ ocol0 = col0;
+ }
+
+ )";
+
+ const std::string header = GetUtilityShaderHeader();
m_screen_quad_vertex_shader =
Util::CompileAndCreateVertexShader(header + SCREEN_QUAD_VERTEX_SHADER_SOURCE);
@@ -820,6 +832,11 @@ bool ShaderCache::CompileSharedShaders()
}
}
+ m_clear_fragment_shader =
+ Util::CompileAndCreateFragmentShader(header + CLEAR_FRAGMENT_SHADER_SOURCE);
+ if (m_clear_fragment_shader == VK_NULL_HANDLE)
+ return false;
+
return true;
}
@@ -837,5 +854,6 @@ void ShaderCache::DestroySharedShaders()
DestroyShader(m_passthrough_vertex_shader);
DestroyShader(m_screen_quad_geometry_shader);
DestroyShader(m_passthrough_geometry_shader);
+ DestroyShader(m_clear_fragment_shader);
}
-}
+} // namespace Vulkan