Added more extension support to GLSL backend in SPIRV-Cross and rebuild ShaderConductor.

#rb Brian.White, Florin.Pascu
[FYI] Carl.Lloyd, Mihnea.Balta, Rolando.Caloca
#jira none

#ROBOMERGE-AUTHOR: lukas.hermanns
#ROBOMERGE-SOURCE: CL 17862447 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v883-17842818)
#ROBOMERGE[STARSHIP]: UE5-Release-Engine-Staging Release-5.0

[CL 17862535 by lukas hermanns in ue5-release-engine-test branch]
This commit is contained in:
lukas hermanns
2021-10-19 13:00:13 -04:00
parent 91301aad8f
commit e18c1bdf13
9 changed files with 140 additions and 46 deletions

View File

@@ -259,10 +259,15 @@ namespace CrossCompiler
{
switch (Version)
{
//ESSL
case 310: return "310";
case 320: return "320";
//GLSL
case 330: return "330";
case 430: return "430";
case 440: return "440";
case 450: return "450";
case 460: return "460";
default: return nullptr;
}
}
@@ -397,6 +402,7 @@ namespace CrossCompiler
OutOptions.enableDebugInfo = InOptions.bEnableDebugInfo;
OutOptions.disableOptimizations = InOptions.bDisableOptimizations;
OutOptions.enableFMAPass = InOptions.bEnableFMAPass;
OutOptions.enableSeparateSamplers = InOptions.bEnableSeparateSamplersInGlsl;
OutOptions.shaderModel = ShaderConductor::Compiler::ShaderModel
{
static_cast<uint8>(InOptions.ShaderModel.Major),

View File

@@ -72,6 +72,9 @@ namespace CrossCompiler
/** Enable a pass that converts floating point MUL+ADD pairs into FMAs to avoid re-association. */
bool bEnableFMAPass = false;
/** Enables separate samplers in GLSL via extensions. */
bool bEnableSeparateSamplersInGlsl = false;
/** Shader model version of the input language. By default SM6.2. */
FHlslShaderModel ShaderModel = { 6, 2 };
};