SPV: Add a switch for favoring non-NaN operands in min, max, and clamp.
This commit is contained in:
@@ -104,6 +104,7 @@ enum TOptions {
|
||||
bool targetHlslFunctionality1 = false;
|
||||
bool SpvToolsDisassembler = false;
|
||||
bool SpvToolsValidate = false;
|
||||
bool NaNClamp = false;
|
||||
|
||||
//
|
||||
// Return codes from main/exit().
|
||||
@@ -522,6 +523,8 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
|
||||
} else if (lowerword == "keep-uncalled" || // synonyms
|
||||
lowerword == "ku") {
|
||||
Options |= EOptionKeepUncalled;
|
||||
} else if (lowerword == "nan-clamp") {
|
||||
NaNClamp = true;
|
||||
} else if (lowerword == "no-storage-format" || // synonyms
|
||||
lowerword == "nsf") {
|
||||
Options |= EOptionNoStorageFormat;
|
||||
@@ -981,6 +984,7 @@ void CompileAndLinkShaderUnits(std::vector<ShaderCompUnit> compUnits)
|
||||
|
||||
shader->setFlattenUniformArrays((Options & EOptionFlattenUniformArrays) != 0);
|
||||
shader->setNoStorageFormat((Options & EOptionNoStorageFormat) != 0);
|
||||
shader->setNanMinMaxClamp(NaNClamp);
|
||||
shader->setResourceSetBinding(baseResourceSetBinding[compUnit.stage]);
|
||||
|
||||
if (Options & EOptionHlslIoMapping)
|
||||
@@ -1533,9 +1537,11 @@ void usage()
|
||||
" works independently of source language\n"
|
||||
" --hlsl-iomap perform IO mapping in HLSL register space\n"
|
||||
" --hlsl-enable-16bit-types allow 16-bit types in SPIR-V for HLSL\n"
|
||||
" --hlsl-dx9-compatible interprets sampler declarations as a texture/sampler combo like DirectX9 would."
|
||||
" --hlsl-dx9-compatible interprets sampler declarations as a\n"
|
||||
" texture/sampler combo like DirectX9 would.\n"
|
||||
" --invert-y | --iy invert position.Y output in vertex shader\n"
|
||||
" --keep-uncalled | --ku don't eliminate uncalled functions\n"
|
||||
" --nan-clamp favor non-NaN operand in min, max, and clamp\n"
|
||||
" --no-storage-format | --nsf use Unknown image format\n"
|
||||
" --reflect-strict-array-suffix use strict array suffix rules when\n"
|
||||
" reflecting\n"
|
||||
|
||||
Reference in New Issue
Block a user