diff options
| author | Tilka <tilkax@gmail.com> | 2019-02-02 12:45:20 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-02 12:45:20 +0000 |
| commit | 2d75797c6364b23c194780c6fdfe515430ff3b9a (patch) | |
| tree | 61ec9a0523e7f2a3e9a02e0281240fb82b0e8a80 /Source/Core/VideoBackends/Vulkan/ShaderCache.cpp | |
| parent | 6dc16dda26f23e55d0b7ad3ce383bb7883dd844e (diff) | |
| parent | 3b033bf3f08d23bfc42b1d7a6f9dd94a8b863c1d (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.cpp | 22 |
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 |
