Exposed #856 as --hlsl-sampled-textures in the StandAlone
authorRobin Quint <rob2309@hotmail.de>
Tue, 20 Apr 2021 05:58:36 +0000 (07:58 +0200)
committerRobin Quint <rob2309@hotmail.de>
Tue, 20 Apr 2021 05:58:36 +0000 (07:58 +0200)
StandAlone/StandAlone.cpp

index 923ded3..58c1704 100644 (file)
@@ -111,6 +111,7 @@ bool NaNClamp = false;
 bool stripDebugInfo = false;
 bool beQuiet = false;
 bool VulkanRulesRelaxed = false;
+bool hlslSampledTextures = false;
 
 //
 // Return codes from main/exit().
@@ -655,6 +656,8 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
                         HlslEnable16BitTypes = true;
                     } else if (lowerword == "hlsl-dx9-compatible") {
                         HlslDX9compatible = true;
+                    } else if (lowerword == "hlsl-sampled-textures") { 
+                        hlslSampledTextures = true;
                     } else if (lowerword == "invert-y" ||  // synonyms
                                lowerword == "iy") {
                         Options |= EOptionInvertY;
@@ -1189,6 +1192,9 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
         shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
         shader->setResourceSetBinding(baseResourceSetBinding[compUnit.stage]);
 
+        if (hlslSampledTextures)
+            shader->setTextureSamplerTransformMode(EShTexSampTransUpgradeTextureRemoveSampler);
+
         if (Options & EOptionAutoMapBindings)
             shader->setAutoMapBindings(true);