Vulkan: Move clear shader from Renderer to ShaderCache

This commit is contained in:
Stenzek
2019-01-27 13:07:35 +10:00
parent e2cf238ec4
commit 3b033bf3f0
4 changed files with 24 additions and 60 deletions

View File

@ -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