Commit ba018e67 by John Kessenich

SPV: Fix #1399 emit ImageGatherExtended when using ConstOffsets operand

parent ad7645f4
...@@ -1570,7 +1570,8 @@ Id Builder::createBuiltinCall(Id resultType, Id builtins, int entryPoint, const ...@@ -1570,7 +1570,8 @@ Id Builder::createBuiltinCall(Id resultType, Id builtins, int entryPoint, const
// Accept all parameters needed to create a texture instruction. // Accept all parameters needed to create a texture instruction.
// Create the correct instruction based on the inputs, and make the call. // Create the correct instruction based on the inputs, and make the call.
Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse, bool fetch, bool proj, bool gather, bool noImplicitLod, const TextureParameters& parameters) Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse, bool fetch, bool proj, bool gather,
bool noImplicitLod, const TextureParameters& parameters)
{ {
static const int maxTextureArgs = 10; static const int maxTextureArgs = 10;
Id texArgs[maxTextureArgs] = {}; Id texArgs[maxTextureArgs] = {};
...@@ -1623,6 +1624,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse, ...@@ -1623,6 +1624,7 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool sparse,
texArgs[numArgs++] = parameters.offset; texArgs[numArgs++] = parameters.offset;
} }
if (parameters.offsets) { if (parameters.offsets) {
addCapability(CapabilityImageGatherExtended);
mask = (ImageOperandsMask)(mask | ImageOperandsConstOffsetsMask); mask = (ImageOperandsMask)(mask | ImageOperandsConstOffsetsMask);
texArgs[numArgs++] = parameters.offsets; texArgs[numArgs++] = parameters.offsets;
} }
......
...@@ -460,6 +460,7 @@ using depth_any ...@@ -460,6 +460,7 @@ using depth_any
// Id's are bound by 164 // Id's are bound by 164
Capability Shader Capability Shader
Capability ImageGatherExtended
Capability Sampled1D Capability Sampled1D
1: ExtInstImport "GLSL.std.450" 1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450 MemoryModel Logical GLSL450
......
...@@ -5,6 +5,7 @@ spv.float16Fetch.frag ...@@ -5,6 +5,7 @@ spv.float16Fetch.frag
Capability Shader Capability Shader
Capability Float16 Capability Float16
Capability ImageGatherExtended
Capability StorageImageMultisample Capability StorageImageMultisample
Capability ImageCubeArray Capability ImageCubeArray
Capability ImageRect Capability ImageRect
......
...@@ -4,6 +4,7 @@ spv.sparseTexture.frag ...@@ -4,6 +4,7 @@ spv.sparseTexture.frag
// Id's are bound by 438 // Id's are bound by 438
Capability Shader Capability Shader
Capability ImageGatherExtended
Capability StorageImageMultisample Capability StorageImageMultisample
Capability SampledRect Capability SampledRect
Capability SparseResidency Capability SparseResidency
......
...@@ -4,6 +4,7 @@ spv.textureGatherBiasLod.frag ...@@ -4,6 +4,7 @@ spv.textureGatherBiasLod.frag
// Id's are bound by 298 // Id's are bound by 298
Capability Shader Capability Shader
Capability ImageGatherExtended
Capability SparseResidency Capability SparseResidency
Capability SampledCubeArray Capability SampledCubeArray
Capability ImageGatherBiasLodAMD Capability ImageGatherBiasLodAMD
......
// This header is generated by the make-revision script. // This header is generated by the make-revision script.
#define GLSLANG_PATCH_LEVEL 2765 #define GLSLANG_PATCH_LEVEL 2767
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment