mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-06 23:11:18 +12:00
Vulkan: Match Vulkan Device Version and Shaders Targets
This commit is contained in:
parent
a6fb0a48eb
commit
2b672d9308
1 changed files with 17 additions and 1 deletions
|
@ -318,9 +318,25 @@ void RendererShaderVk::CompileInternal(bool isRenderThread)
|
||||||
const char* cstr = m_glslCode.c_str();
|
const char* cstr = m_glslCode.c_str();
|
||||||
Shader.setStrings(&cstr, 1);
|
Shader.setStrings(&cstr, 1);
|
||||||
Shader.setEnvInput(glslang::EShSourceGlsl, state, glslang::EShClientVulkan, 100);
|
Shader.setEnvInput(glslang::EShSourceGlsl, state, glslang::EShClientVulkan, 100);
|
||||||
Shader.setEnvClient(glslang::EShClientVulkan, glslang::EShTargetClientVersion::EShTargetVulkan_1_1);
|
|
||||||
|
|
||||||
|
uint32 apiVersion = VK_API_VERSION_1_1;
|
||||||
|
vkEnumerateInstanceVersion(&apiVersion);
|
||||||
|
|
||||||
|
if (VK_API_VERSION_MAJOR(apiVersion) == 1 || VK_API_VERSION_MINOR(apiVersion) == 1)
|
||||||
|
{
|
||||||
|
Shader.setEnvClient(glslang::EShClientVulkan, glslang::EShTargetClientVersion::EShTargetVulkan_1_1);
|
||||||
Shader.setEnvTarget(glslang::EShTargetSpv, glslang::EShTargetLanguageVersion::EShTargetSpv_1_3);
|
Shader.setEnvTarget(glslang::EShTargetSpv, glslang::EShTargetLanguageVersion::EShTargetSpv_1_3);
|
||||||
|
}
|
||||||
|
else if (VK_API_VERSION_MAJOR(apiVersion) == 1 || VK_API_VERSION_MINOR(apiVersion) == 2)
|
||||||
|
{
|
||||||
|
Shader.setEnvClient(glslang::EShClientVulkan, glslang::EShTargetClientVersion::EShTargetVulkan_1_2);
|
||||||
|
Shader.setEnvTarget(glslang::EShTargetSpv, glslang::EShTargetLanguageVersion::EShTargetSpv_1_5);
|
||||||
|
}
|
||||||
|
else if (VK_API_VERSION_MAJOR(apiVersion) == 1 || VK_API_VERSION_MINOR(apiVersion) >= 3)
|
||||||
|
{
|
||||||
|
Shader.setEnvClient(glslang::EShClientVulkan, glslang::EShTargetClientVersion::EShTargetVulkan_1_3);
|
||||||
|
Shader.setEnvTarget(glslang::EShTargetSpv, glslang::EShTargetLanguageVersion::EShTargetSpv_1_6);
|
||||||
|
}
|
||||||
|
|
||||||
TBuiltInResource Resources = GetDefaultBuiltInResource();
|
TBuiltInResource Resources = GetDefaultBuiltInResource();
|
||||||
std::string PreprocessedGLSL;
|
std::string PreprocessedGLSL;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue