mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-12 21:20:06 +00:00
Merge pull request #81 from amdrexu/myfix
Generate correct image operand mask for Offset and ConstOffset(#77) and correct arg # for rect. texelFetchOffset.
This commit is contained in:
commit
d4a7a8e721
@ -1188,7 +1188,10 @@ Id Builder::createTextureCall(Decoration precision, Id resultType, bool fetch, b
|
||||
xplicit = true;
|
||||
}
|
||||
if (parameters.offset) {
|
||||
mask = (ImageOperandsMask)(mask | ImageOperandsOffsetMask);
|
||||
if (isConstant(parameters.offset))
|
||||
mask = (ImageOperandsMask)(mask | ImageOperandsConstOffsetMask);
|
||||
else
|
||||
mask = (ImageOperandsMask)(mask | ImageOperandsOffsetMask);
|
||||
texArgs[numArgs++] = parameters.offset;
|
||||
}
|
||||
// TBD: if Offset is constant, use ImageOperandsConstOffsetMask
|
||||
|
@ -136,6 +136,11 @@ public:
|
||||
bool isSamplerType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampler; }
|
||||
bool isSampledImageType(Id typeId) const { return getTypeClass(typeId) == OpTypeSampledImage; }
|
||||
|
||||
bool isConstant(Id resultId) const
|
||||
{
|
||||
Op opCode = getOpCode(resultId);
|
||||
return opCode == OpConstantTrue || opCode == OpConstantFalse || opCode == OpConstant || opCode == OpConstantComposite || opCode == OpConstantNull;
|
||||
}
|
||||
bool isConstantScalar(Id resultId) const { return getOpCode(resultId) == OpConstant; }
|
||||
unsigned int getConstantScalar(Id resultId) const { return module.getInstruction(resultId)->getImmediateOperand(0); }
|
||||
|
||||
|
@ -52,22 +52,21 @@ Shader version: 430
|
||||
0:43 Constant:
|
||||
0:43 3 (const int)
|
||||
0:43 3 (const int)
|
||||
0:44 add second child into first child (temp float)
|
||||
0:44 direct index (temp float)
|
||||
0:44 'v' (temp 4-component vector of float)
|
||||
0:44 add second child into first child (temp 4-component vector of float)
|
||||
0:44 'v' (temp 4-component vector of float)
|
||||
0:44 textureFetchOffset (global 4-component vector of float)
|
||||
0:44 'sr' (uniform sampler2DRect)
|
||||
0:44 'ic2D' (flat in 2-component vector of int)
|
||||
0:44 Constant:
|
||||
0:44 1 (const int)
|
||||
0:44 textureLodOffset (global float)
|
||||
0:44 's2DShadow' (uniform sampler2DShadow)
|
||||
0:44 'c3D' (smooth in 3-component vector of float)
|
||||
0:44 'c1D' (smooth in float)
|
||||
0:44 Constant:
|
||||
0:44 3 (const int)
|
||||
0:44 3 (const int)
|
||||
0:45 add second child into first child (temp 4-component vector of float)
|
||||
0:45 'v' (temp 4-component vector of float)
|
||||
0:45 textureProjLodOffset (global 4-component vector of float)
|
||||
0:45 's2D' (uniform sampler2D)
|
||||
0:44 4 (const int)
|
||||
0:44 4 (const int)
|
||||
0:45 add second child into first child (temp float)
|
||||
0:45 direct index (temp float)
|
||||
0:45 'v' (temp 4-component vector of float)
|
||||
0:45 Constant:
|
||||
0:45 1 (const int)
|
||||
0:45 textureLodOffset (global float)
|
||||
0:45 's2DShadow' (uniform sampler2DShadow)
|
||||
0:45 'c3D' (smooth in 3-component vector of float)
|
||||
0:45 'c1D' (smooth in float)
|
||||
0:45 Constant:
|
||||
@ -75,115 +74,124 @@ Shader version: 430
|
||||
0:45 3 (const int)
|
||||
0:46 add second child into first child (temp 4-component vector of float)
|
||||
0:46 'v' (temp 4-component vector of float)
|
||||
0:46 textureGrad (global 4-component vector of float)
|
||||
0:46 'sCube' (uniform samplerCube)
|
||||
0:46 textureProjLodOffset (global 4-component vector of float)
|
||||
0:46 's2D' (uniform sampler2D)
|
||||
0:46 'c3D' (smooth in 3-component vector of float)
|
||||
0:46 'c3D' (smooth in 3-component vector of float)
|
||||
0:46 'c3D' (smooth in 3-component vector of float)
|
||||
0:47 add second child into first child (temp float)
|
||||
0:47 direct index (temp float)
|
||||
0:47 'v' (temp 4-component vector of float)
|
||||
0:47 Constant:
|
||||
0:47 0 (const int)
|
||||
0:47 textureGradOffset (global float)
|
||||
0:47 's2DArrayShadow' (uniform sampler2DArrayShadow)
|
||||
0:47 'c4D' (smooth in 4-component vector of float)
|
||||
0:47 'c2D' (smooth in 2-component vector of float)
|
||||
0:47 'c2D' (smooth in 2-component vector of float)
|
||||
0:47 Constant:
|
||||
0:47 3 (const int)
|
||||
0:47 3 (const int)
|
||||
0:48 add second child into first child (temp 4-component vector of float)
|
||||
0:48 'v' (temp 4-component vector of float)
|
||||
0:48 textureProjGrad (global 4-component vector of float)
|
||||
0:48 's3D' (uniform sampler3D)
|
||||
0:46 'c1D' (smooth in float)
|
||||
0:46 Constant:
|
||||
0:46 3 (const int)
|
||||
0:46 3 (const int)
|
||||
0:47 add second child into first child (temp 4-component vector of float)
|
||||
0:47 'v' (temp 4-component vector of float)
|
||||
0:47 textureGrad (global 4-component vector of float)
|
||||
0:47 'sCube' (uniform samplerCube)
|
||||
0:47 'c3D' (smooth in 3-component vector of float)
|
||||
0:47 'c3D' (smooth in 3-component vector of float)
|
||||
0:47 'c3D' (smooth in 3-component vector of float)
|
||||
0:48 add second child into first child (temp float)
|
||||
0:48 direct index (temp float)
|
||||
0:48 'v' (temp 4-component vector of float)
|
||||
0:48 Constant:
|
||||
0:48 0 (const int)
|
||||
0:48 textureGradOffset (global float)
|
||||
0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
|
||||
0:48 'c4D' (smooth in 4-component vector of float)
|
||||
0:48 'c3D' (smooth in 3-component vector of float)
|
||||
0:48 'c3D' (smooth in 3-component vector of float)
|
||||
0:48 'c2D' (smooth in 2-component vector of float)
|
||||
0:48 'c2D' (smooth in 2-component vector of float)
|
||||
0:48 Constant:
|
||||
0:48 3 (const int)
|
||||
0:48 3 (const int)
|
||||
0:49 add second child into first child (temp 4-component vector of float)
|
||||
0:49 'v' (temp 4-component vector of float)
|
||||
0:49 textureProjGradOffset (global 4-component vector of float)
|
||||
0:49 's2D' (uniform sampler2D)
|
||||
0:49 textureProjGrad (global 4-component vector of float)
|
||||
0:49 's3D' (uniform sampler3D)
|
||||
0:49 'c4D' (smooth in 4-component vector of float)
|
||||
0:49 'c3D' (smooth in 3-component vector of float)
|
||||
0:49 'c2D' (smooth in 2-component vector of float)
|
||||
0:49 'c2D' (smooth in 2-component vector of float)
|
||||
0:49 Constant:
|
||||
0:49 3 (const int)
|
||||
0:49 3 (const int)
|
||||
0:51 Sequence
|
||||
0:51 move second child to first child (temp 4-component vector of int)
|
||||
0:51 'iv' (temp 4-component vector of int)
|
||||
0:51 texture (global 4-component vector of int)
|
||||
0:51 'is2D' (uniform isampler2D)
|
||||
0:51 'c2D' (smooth in 2-component vector of float)
|
||||
0:52 add second child into first child (temp 4-component vector of float)
|
||||
0:52 'v' (temp 4-component vector of float)
|
||||
0:52 Convert int to float (temp 4-component vector of float)
|
||||
0:49 'c3D' (smooth in 3-component vector of float)
|
||||
0:50 add second child into first child (temp 4-component vector of float)
|
||||
0:50 'v' (temp 4-component vector of float)
|
||||
0:50 textureProjGradOffset (global 4-component vector of float)
|
||||
0:50 's2D' (uniform sampler2D)
|
||||
0:50 'c3D' (smooth in 3-component vector of float)
|
||||
0:50 'c2D' (smooth in 2-component vector of float)
|
||||
0:50 'c2D' (smooth in 2-component vector of float)
|
||||
0:50 Constant:
|
||||
0:50 3 (const int)
|
||||
0:50 3 (const int)
|
||||
0:52 Sequence
|
||||
0:52 move second child to first child (temp 4-component vector of int)
|
||||
0:52 'iv' (temp 4-component vector of int)
|
||||
0:53 move second child to first child (temp 4-component vector of int)
|
||||
0:53 'iv' (temp 4-component vector of int)
|
||||
0:53 textureProjOffset (global 4-component vector of int)
|
||||
0:53 'is2D' (uniform isampler2D)
|
||||
0:53 'c4D' (smooth in 4-component vector of float)
|
||||
0:53 Constant:
|
||||
0:53 3 (const int)
|
||||
0:53 3 (const int)
|
||||
0:54 add second child into first child (temp 4-component vector of float)
|
||||
0:54 'v' (temp 4-component vector of float)
|
||||
0:54 Convert int to float (temp 4-component vector of float)
|
||||
0:54 'iv' (temp 4-component vector of int)
|
||||
0:55 move second child to first child (temp 4-component vector of int)
|
||||
0:55 'iv' (temp 4-component vector of int)
|
||||
0:55 textureProjLod (global 4-component vector of int)
|
||||
0:55 'is2D' (uniform isampler2D)
|
||||
0:55 'c3D' (smooth in 3-component vector of float)
|
||||
0:55 'c1D' (smooth in float)
|
||||
0:56 add second child into first child (temp 4-component vector of float)
|
||||
0:56 'v' (temp 4-component vector of float)
|
||||
0:56 Convert int to float (temp 4-component vector of float)
|
||||
0:56 'iv' (temp 4-component vector of int)
|
||||
0:57 move second child to first child (temp 4-component vector of int)
|
||||
0:57 'iv' (temp 4-component vector of int)
|
||||
0:57 textureProjGrad (global 4-component vector of int)
|
||||
0:57 'is2D' (uniform isampler2D)
|
||||
0:57 'c3D' (smooth in 3-component vector of float)
|
||||
0:57 'c2D' (smooth in 2-component vector of float)
|
||||
0:57 'c2D' (smooth in 2-component vector of float)
|
||||
0:58 add second child into first child (temp 4-component vector of float)
|
||||
0:58 'v' (temp 4-component vector of float)
|
||||
0:58 Convert int to float (temp 4-component vector of float)
|
||||
0:58 'iv' (temp 4-component vector of int)
|
||||
0:59 move second child to first child (temp 4-component vector of int)
|
||||
0:59 'iv' (temp 4-component vector of int)
|
||||
0:59 texture (global 4-component vector of int)
|
||||
0:59 'is3D' (uniform isampler3D)
|
||||
0:59 'c3D' (smooth in 3-component vector of float)
|
||||
0:59 Constant:
|
||||
0:59 4.200000
|
||||
0:60 add second child into first child (temp 4-component vector of float)
|
||||
0:60 'v' (temp 4-component vector of float)
|
||||
0:60 Convert int to float (temp 4-component vector of float)
|
||||
0:60 'iv' (temp 4-component vector of int)
|
||||
0:61 move second child to first child (temp 4-component vector of int)
|
||||
0:61 'iv' (temp 4-component vector of int)
|
||||
0:61 textureLod (global 4-component vector of int)
|
||||
0:61 'isCube' (uniform isamplerCube)
|
||||
0:61 'c3D' (smooth in 3-component vector of float)
|
||||
0:61 'c1D' (smooth in float)
|
||||
0:62 add second child into first child (temp 4-component vector of float)
|
||||
0:62 'v' (temp 4-component vector of float)
|
||||
0:62 Convert int to float (temp 4-component vector of float)
|
||||
0:62 'iv' (temp 4-component vector of int)
|
||||
0:63 move second child to first child (temp 4-component vector of int)
|
||||
0:63 'iv' (temp 4-component vector of int)
|
||||
0:63 textureFetch (global 4-component vector of int)
|
||||
0:63 'is2DArray' (uniform isampler2DArray)
|
||||
0:63 'ic3D' (flat in 3-component vector of int)
|
||||
0:63 'ic1D' (flat in int)
|
||||
0:64 add second child into first child (temp 4-component vector of float)
|
||||
0:64 'v' (temp 4-component vector of float)
|
||||
0:64 Convert int to float (temp 4-component vector of float)
|
||||
0:64 'iv' (temp 4-component vector of int)
|
||||
0:52 texture (global 4-component vector of int)
|
||||
0:52 'is2D' (uniform isampler2D)
|
||||
0:52 'c2D' (smooth in 2-component vector of float)
|
||||
0:53 add second child into first child (temp 4-component vector of float)
|
||||
0:53 'v' (temp 4-component vector of float)
|
||||
0:53 Convert int to float (temp 4-component vector of float)
|
||||
0:53 'iv' (temp 4-component vector of int)
|
||||
0:54 move second child to first child (temp 4-component vector of int)
|
||||
0:54 'iv' (temp 4-component vector of int)
|
||||
0:54 textureProjOffset (global 4-component vector of int)
|
||||
0:54 'is2D' (uniform isampler2D)
|
||||
0:54 'c4D' (smooth in 4-component vector of float)
|
||||
0:54 Constant:
|
||||
0:54 3 (const int)
|
||||
0:54 3 (const int)
|
||||
0:55 add second child into first child (temp 4-component vector of float)
|
||||
0:55 'v' (temp 4-component vector of float)
|
||||
0:55 Convert int to float (temp 4-component vector of float)
|
||||
0:55 'iv' (temp 4-component vector of int)
|
||||
0:56 move second child to first child (temp 4-component vector of int)
|
||||
0:56 'iv' (temp 4-component vector of int)
|
||||
0:56 textureProjLod (global 4-component vector of int)
|
||||
0:56 'is2D' (uniform isampler2D)
|
||||
0:56 'c3D' (smooth in 3-component vector of float)
|
||||
0:56 'c1D' (smooth in float)
|
||||
0:57 add second child into first child (temp 4-component vector of float)
|
||||
0:57 'v' (temp 4-component vector of float)
|
||||
0:57 Convert int to float (temp 4-component vector of float)
|
||||
0:57 'iv' (temp 4-component vector of int)
|
||||
0:58 move second child to first child (temp 4-component vector of int)
|
||||
0:58 'iv' (temp 4-component vector of int)
|
||||
0:58 textureProjGrad (global 4-component vector of int)
|
||||
0:58 'is2D' (uniform isampler2D)
|
||||
0:58 'c3D' (smooth in 3-component vector of float)
|
||||
0:58 'c2D' (smooth in 2-component vector of float)
|
||||
0:58 'c2D' (smooth in 2-component vector of float)
|
||||
0:59 add second child into first child (temp 4-component vector of float)
|
||||
0:59 'v' (temp 4-component vector of float)
|
||||
0:59 Convert int to float (temp 4-component vector of float)
|
||||
0:59 'iv' (temp 4-component vector of int)
|
||||
0:60 move second child to first child (temp 4-component vector of int)
|
||||
0:60 'iv' (temp 4-component vector of int)
|
||||
0:60 texture (global 4-component vector of int)
|
||||
0:60 'is3D' (uniform isampler3D)
|
||||
0:60 'c3D' (smooth in 3-component vector of float)
|
||||
0:60 Constant:
|
||||
0:60 4.200000
|
||||
0:61 add second child into first child (temp 4-component vector of float)
|
||||
0:61 'v' (temp 4-component vector of float)
|
||||
0:61 Convert int to float (temp 4-component vector of float)
|
||||
0:61 'iv' (temp 4-component vector of int)
|
||||
0:62 move second child to first child (temp 4-component vector of int)
|
||||
0:62 'iv' (temp 4-component vector of int)
|
||||
0:62 textureLod (global 4-component vector of int)
|
||||
0:62 'isCube' (uniform isamplerCube)
|
||||
0:62 'c3D' (smooth in 3-component vector of float)
|
||||
0:62 'c1D' (smooth in float)
|
||||
0:63 add second child into first child (temp 4-component vector of float)
|
||||
0:63 'v' (temp 4-component vector of float)
|
||||
0:63 Convert int to float (temp 4-component vector of float)
|
||||
0:63 'iv' (temp 4-component vector of int)
|
||||
0:64 move second child to first child (temp 4-component vector of int)
|
||||
0:64 'iv' (temp 4-component vector of int)
|
||||
0:64 textureFetch (global 4-component vector of int)
|
||||
0:64 'is2DArray' (uniform isampler2DArray)
|
||||
0:64 'ic3D' (flat in 3-component vector of int)
|
||||
0:64 'ic1D' (flat in int)
|
||||
0:65 add second child into first child (temp 4-component vector of float)
|
||||
0:65 'v' (temp 4-component vector of float)
|
||||
0:65 Convert int to float (temp 4-component vector of float)
|
||||
0:65 'iv' (temp 4-component vector of int)
|
||||
0:66 add second child into first child (temp 4-component vector of int)
|
||||
0:66 'iv' (temp 4-component vector of int)
|
||||
0:66 textureFetch (global 4-component vector of int)
|
||||
@ -306,22 +314,21 @@ Shader version: 430
|
||||
0:43 Constant:
|
||||
0:43 3 (const int)
|
||||
0:43 3 (const int)
|
||||
0:44 add second child into first child (temp float)
|
||||
0:44 direct index (temp float)
|
||||
0:44 'v' (temp 4-component vector of float)
|
||||
0:44 add second child into first child (temp 4-component vector of float)
|
||||
0:44 'v' (temp 4-component vector of float)
|
||||
0:44 textureFetchOffset (global 4-component vector of float)
|
||||
0:44 'sr' (uniform sampler2DRect)
|
||||
0:44 'ic2D' (flat in 2-component vector of int)
|
||||
0:44 Constant:
|
||||
0:44 1 (const int)
|
||||
0:44 textureLodOffset (global float)
|
||||
0:44 's2DShadow' (uniform sampler2DShadow)
|
||||
0:44 'c3D' (smooth in 3-component vector of float)
|
||||
0:44 'c1D' (smooth in float)
|
||||
0:44 Constant:
|
||||
0:44 3 (const int)
|
||||
0:44 3 (const int)
|
||||
0:45 add second child into first child (temp 4-component vector of float)
|
||||
0:45 'v' (temp 4-component vector of float)
|
||||
0:45 textureProjLodOffset (global 4-component vector of float)
|
||||
0:45 's2D' (uniform sampler2D)
|
||||
0:44 4 (const int)
|
||||
0:44 4 (const int)
|
||||
0:45 add second child into first child (temp float)
|
||||
0:45 direct index (temp float)
|
||||
0:45 'v' (temp 4-component vector of float)
|
||||
0:45 Constant:
|
||||
0:45 1 (const int)
|
||||
0:45 textureLodOffset (global float)
|
||||
0:45 's2DShadow' (uniform sampler2DShadow)
|
||||
0:45 'c3D' (smooth in 3-component vector of float)
|
||||
0:45 'c1D' (smooth in float)
|
||||
0:45 Constant:
|
||||
@ -329,115 +336,124 @@ Shader version: 430
|
||||
0:45 3 (const int)
|
||||
0:46 add second child into first child (temp 4-component vector of float)
|
||||
0:46 'v' (temp 4-component vector of float)
|
||||
0:46 textureGrad (global 4-component vector of float)
|
||||
0:46 'sCube' (uniform samplerCube)
|
||||
0:46 textureProjLodOffset (global 4-component vector of float)
|
||||
0:46 's2D' (uniform sampler2D)
|
||||
0:46 'c3D' (smooth in 3-component vector of float)
|
||||
0:46 'c3D' (smooth in 3-component vector of float)
|
||||
0:46 'c3D' (smooth in 3-component vector of float)
|
||||
0:47 add second child into first child (temp float)
|
||||
0:47 direct index (temp float)
|
||||
0:47 'v' (temp 4-component vector of float)
|
||||
0:47 Constant:
|
||||
0:47 0 (const int)
|
||||
0:47 textureGradOffset (global float)
|
||||
0:47 's2DArrayShadow' (uniform sampler2DArrayShadow)
|
||||
0:47 'c4D' (smooth in 4-component vector of float)
|
||||
0:47 'c2D' (smooth in 2-component vector of float)
|
||||
0:47 'c2D' (smooth in 2-component vector of float)
|
||||
0:47 Constant:
|
||||
0:47 3 (const int)
|
||||
0:47 3 (const int)
|
||||
0:48 add second child into first child (temp 4-component vector of float)
|
||||
0:48 'v' (temp 4-component vector of float)
|
||||
0:48 textureProjGrad (global 4-component vector of float)
|
||||
0:48 's3D' (uniform sampler3D)
|
||||
0:46 'c1D' (smooth in float)
|
||||
0:46 Constant:
|
||||
0:46 3 (const int)
|
||||
0:46 3 (const int)
|
||||
0:47 add second child into first child (temp 4-component vector of float)
|
||||
0:47 'v' (temp 4-component vector of float)
|
||||
0:47 textureGrad (global 4-component vector of float)
|
||||
0:47 'sCube' (uniform samplerCube)
|
||||
0:47 'c3D' (smooth in 3-component vector of float)
|
||||
0:47 'c3D' (smooth in 3-component vector of float)
|
||||
0:47 'c3D' (smooth in 3-component vector of float)
|
||||
0:48 add second child into first child (temp float)
|
||||
0:48 direct index (temp float)
|
||||
0:48 'v' (temp 4-component vector of float)
|
||||
0:48 Constant:
|
||||
0:48 0 (const int)
|
||||
0:48 textureGradOffset (global float)
|
||||
0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
|
||||
0:48 'c4D' (smooth in 4-component vector of float)
|
||||
0:48 'c3D' (smooth in 3-component vector of float)
|
||||
0:48 'c3D' (smooth in 3-component vector of float)
|
||||
0:48 'c2D' (smooth in 2-component vector of float)
|
||||
0:48 'c2D' (smooth in 2-component vector of float)
|
||||
0:48 Constant:
|
||||
0:48 3 (const int)
|
||||
0:48 3 (const int)
|
||||
0:49 add second child into first child (temp 4-component vector of float)
|
||||
0:49 'v' (temp 4-component vector of float)
|
||||
0:49 textureProjGradOffset (global 4-component vector of float)
|
||||
0:49 's2D' (uniform sampler2D)
|
||||
0:49 textureProjGrad (global 4-component vector of float)
|
||||
0:49 's3D' (uniform sampler3D)
|
||||
0:49 'c4D' (smooth in 4-component vector of float)
|
||||
0:49 'c3D' (smooth in 3-component vector of float)
|
||||
0:49 'c2D' (smooth in 2-component vector of float)
|
||||
0:49 'c2D' (smooth in 2-component vector of float)
|
||||
0:49 Constant:
|
||||
0:49 3 (const int)
|
||||
0:49 3 (const int)
|
||||
0:51 Sequence
|
||||
0:51 move second child to first child (temp 4-component vector of int)
|
||||
0:51 'iv' (temp 4-component vector of int)
|
||||
0:51 texture (global 4-component vector of int)
|
||||
0:51 'is2D' (uniform isampler2D)
|
||||
0:51 'c2D' (smooth in 2-component vector of float)
|
||||
0:52 add second child into first child (temp 4-component vector of float)
|
||||
0:52 'v' (temp 4-component vector of float)
|
||||
0:52 Convert int to float (temp 4-component vector of float)
|
||||
0:49 'c3D' (smooth in 3-component vector of float)
|
||||
0:50 add second child into first child (temp 4-component vector of float)
|
||||
0:50 'v' (temp 4-component vector of float)
|
||||
0:50 textureProjGradOffset (global 4-component vector of float)
|
||||
0:50 's2D' (uniform sampler2D)
|
||||
0:50 'c3D' (smooth in 3-component vector of float)
|
||||
0:50 'c2D' (smooth in 2-component vector of float)
|
||||
0:50 'c2D' (smooth in 2-component vector of float)
|
||||
0:50 Constant:
|
||||
0:50 3 (const int)
|
||||
0:50 3 (const int)
|
||||
0:52 Sequence
|
||||
0:52 move second child to first child (temp 4-component vector of int)
|
||||
0:52 'iv' (temp 4-component vector of int)
|
||||
0:53 move second child to first child (temp 4-component vector of int)
|
||||
0:53 'iv' (temp 4-component vector of int)
|
||||
0:53 textureProjOffset (global 4-component vector of int)
|
||||
0:53 'is2D' (uniform isampler2D)
|
||||
0:53 'c4D' (smooth in 4-component vector of float)
|
||||
0:53 Constant:
|
||||
0:53 3 (const int)
|
||||
0:53 3 (const int)
|
||||
0:54 add second child into first child (temp 4-component vector of float)
|
||||
0:54 'v' (temp 4-component vector of float)
|
||||
0:54 Convert int to float (temp 4-component vector of float)
|
||||
0:54 'iv' (temp 4-component vector of int)
|
||||
0:55 move second child to first child (temp 4-component vector of int)
|
||||
0:55 'iv' (temp 4-component vector of int)
|
||||
0:55 textureProjLod (global 4-component vector of int)
|
||||
0:55 'is2D' (uniform isampler2D)
|
||||
0:55 'c3D' (smooth in 3-component vector of float)
|
||||
0:55 'c1D' (smooth in float)
|
||||
0:56 add second child into first child (temp 4-component vector of float)
|
||||
0:56 'v' (temp 4-component vector of float)
|
||||
0:56 Convert int to float (temp 4-component vector of float)
|
||||
0:56 'iv' (temp 4-component vector of int)
|
||||
0:57 move second child to first child (temp 4-component vector of int)
|
||||
0:57 'iv' (temp 4-component vector of int)
|
||||
0:57 textureProjGrad (global 4-component vector of int)
|
||||
0:57 'is2D' (uniform isampler2D)
|
||||
0:57 'c3D' (smooth in 3-component vector of float)
|
||||
0:57 'c2D' (smooth in 2-component vector of float)
|
||||
0:57 'c2D' (smooth in 2-component vector of float)
|
||||
0:58 add second child into first child (temp 4-component vector of float)
|
||||
0:58 'v' (temp 4-component vector of float)
|
||||
0:58 Convert int to float (temp 4-component vector of float)
|
||||
0:58 'iv' (temp 4-component vector of int)
|
||||
0:59 move second child to first child (temp 4-component vector of int)
|
||||
0:59 'iv' (temp 4-component vector of int)
|
||||
0:59 texture (global 4-component vector of int)
|
||||
0:59 'is3D' (uniform isampler3D)
|
||||
0:59 'c3D' (smooth in 3-component vector of float)
|
||||
0:59 Constant:
|
||||
0:59 4.200000
|
||||
0:60 add second child into first child (temp 4-component vector of float)
|
||||
0:60 'v' (temp 4-component vector of float)
|
||||
0:60 Convert int to float (temp 4-component vector of float)
|
||||
0:60 'iv' (temp 4-component vector of int)
|
||||
0:61 move second child to first child (temp 4-component vector of int)
|
||||
0:61 'iv' (temp 4-component vector of int)
|
||||
0:61 textureLod (global 4-component vector of int)
|
||||
0:61 'isCube' (uniform isamplerCube)
|
||||
0:61 'c3D' (smooth in 3-component vector of float)
|
||||
0:61 'c1D' (smooth in float)
|
||||
0:62 add second child into first child (temp 4-component vector of float)
|
||||
0:62 'v' (temp 4-component vector of float)
|
||||
0:62 Convert int to float (temp 4-component vector of float)
|
||||
0:62 'iv' (temp 4-component vector of int)
|
||||
0:63 move second child to first child (temp 4-component vector of int)
|
||||
0:63 'iv' (temp 4-component vector of int)
|
||||
0:63 textureFetch (global 4-component vector of int)
|
||||
0:63 'is2DArray' (uniform isampler2DArray)
|
||||
0:63 'ic3D' (flat in 3-component vector of int)
|
||||
0:63 'ic1D' (flat in int)
|
||||
0:64 add second child into first child (temp 4-component vector of float)
|
||||
0:64 'v' (temp 4-component vector of float)
|
||||
0:64 Convert int to float (temp 4-component vector of float)
|
||||
0:64 'iv' (temp 4-component vector of int)
|
||||
0:52 texture (global 4-component vector of int)
|
||||
0:52 'is2D' (uniform isampler2D)
|
||||
0:52 'c2D' (smooth in 2-component vector of float)
|
||||
0:53 add second child into first child (temp 4-component vector of float)
|
||||
0:53 'v' (temp 4-component vector of float)
|
||||
0:53 Convert int to float (temp 4-component vector of float)
|
||||
0:53 'iv' (temp 4-component vector of int)
|
||||
0:54 move second child to first child (temp 4-component vector of int)
|
||||
0:54 'iv' (temp 4-component vector of int)
|
||||
0:54 textureProjOffset (global 4-component vector of int)
|
||||
0:54 'is2D' (uniform isampler2D)
|
||||
0:54 'c4D' (smooth in 4-component vector of float)
|
||||
0:54 Constant:
|
||||
0:54 3 (const int)
|
||||
0:54 3 (const int)
|
||||
0:55 add second child into first child (temp 4-component vector of float)
|
||||
0:55 'v' (temp 4-component vector of float)
|
||||
0:55 Convert int to float (temp 4-component vector of float)
|
||||
0:55 'iv' (temp 4-component vector of int)
|
||||
0:56 move second child to first child (temp 4-component vector of int)
|
||||
0:56 'iv' (temp 4-component vector of int)
|
||||
0:56 textureProjLod (global 4-component vector of int)
|
||||
0:56 'is2D' (uniform isampler2D)
|
||||
0:56 'c3D' (smooth in 3-component vector of float)
|
||||
0:56 'c1D' (smooth in float)
|
||||
0:57 add second child into first child (temp 4-component vector of float)
|
||||
0:57 'v' (temp 4-component vector of float)
|
||||
0:57 Convert int to float (temp 4-component vector of float)
|
||||
0:57 'iv' (temp 4-component vector of int)
|
||||
0:58 move second child to first child (temp 4-component vector of int)
|
||||
0:58 'iv' (temp 4-component vector of int)
|
||||
0:58 textureProjGrad (global 4-component vector of int)
|
||||
0:58 'is2D' (uniform isampler2D)
|
||||
0:58 'c3D' (smooth in 3-component vector of float)
|
||||
0:58 'c2D' (smooth in 2-component vector of float)
|
||||
0:58 'c2D' (smooth in 2-component vector of float)
|
||||
0:59 add second child into first child (temp 4-component vector of float)
|
||||
0:59 'v' (temp 4-component vector of float)
|
||||
0:59 Convert int to float (temp 4-component vector of float)
|
||||
0:59 'iv' (temp 4-component vector of int)
|
||||
0:60 move second child to first child (temp 4-component vector of int)
|
||||
0:60 'iv' (temp 4-component vector of int)
|
||||
0:60 texture (global 4-component vector of int)
|
||||
0:60 'is3D' (uniform isampler3D)
|
||||
0:60 'c3D' (smooth in 3-component vector of float)
|
||||
0:60 Constant:
|
||||
0:60 4.200000
|
||||
0:61 add second child into first child (temp 4-component vector of float)
|
||||
0:61 'v' (temp 4-component vector of float)
|
||||
0:61 Convert int to float (temp 4-component vector of float)
|
||||
0:61 'iv' (temp 4-component vector of int)
|
||||
0:62 move second child to first child (temp 4-component vector of int)
|
||||
0:62 'iv' (temp 4-component vector of int)
|
||||
0:62 textureLod (global 4-component vector of int)
|
||||
0:62 'isCube' (uniform isamplerCube)
|
||||
0:62 'c3D' (smooth in 3-component vector of float)
|
||||
0:62 'c1D' (smooth in float)
|
||||
0:63 add second child into first child (temp 4-component vector of float)
|
||||
0:63 'v' (temp 4-component vector of float)
|
||||
0:63 Convert int to float (temp 4-component vector of float)
|
||||
0:63 'iv' (temp 4-component vector of int)
|
||||
0:64 move second child to first child (temp 4-component vector of int)
|
||||
0:64 'iv' (temp 4-component vector of int)
|
||||
0:64 textureFetch (global 4-component vector of int)
|
||||
0:64 'is2DArray' (uniform isampler2DArray)
|
||||
0:64 'ic3D' (flat in 3-component vector of int)
|
||||
0:64 'ic1D' (flat in int)
|
||||
0:65 add second child into first child (temp 4-component vector of float)
|
||||
0:65 'v' (temp 4-component vector of float)
|
||||
0:65 Convert int to float (temp 4-component vector of float)
|
||||
0:65 'iv' (temp 4-component vector of int)
|
||||
0:66 add second child into first child (temp 4-component vector of int)
|
||||
0:66 'iv' (temp 4-component vector of int)
|
||||
0:66 textureFetch (global 4-component vector of int)
|
||||
|
@ -7,7 +7,7 @@ Linked fragment stage:
|
||||
|
||||
// Module Version 99
|
||||
// Generated by (magic number): 51a00bb
|
||||
// Id's are bound by 255
|
||||
// Id's are bound by 265
|
||||
|
||||
Source GLSL 430
|
||||
Capability Shader
|
||||
@ -28,22 +28,23 @@ Linked fragment stage:
|
||||
Name 67 "ic3D"
|
||||
Name 70 "ic1D"
|
||||
Name 77 "ic2D"
|
||||
Name 102 "sCube"
|
||||
Name 113 "s2DArrayShadow"
|
||||
Name 141 "iv"
|
||||
Name 145 "is2D"
|
||||
Name 180 "is3D"
|
||||
Name 192 "isCube"
|
||||
Name 204 "is2DArray"
|
||||
Name 214 "iv2"
|
||||
Name 218 "sCubeShadow"
|
||||
Name 223 "FragData"
|
||||
Name 235 "is2Dms"
|
||||
Name 240 "us2D"
|
||||
Name 244 "us3D"
|
||||
Name 248 "usCube"
|
||||
Name 252 "us2DArray"
|
||||
Name 254 "ic4D"
|
||||
Name 86 "sr"
|
||||
Name 112 "sCube"
|
||||
Name 123 "s2DArrayShadow"
|
||||
Name 151 "iv"
|
||||
Name 155 "is2D"
|
||||
Name 190 "is3D"
|
||||
Name 202 "isCube"
|
||||
Name 214 "is2DArray"
|
||||
Name 224 "iv2"
|
||||
Name 228 "sCubeShadow"
|
||||
Name 233 "FragData"
|
||||
Name 245 "is2Dms"
|
||||
Name 250 "us2D"
|
||||
Name 254 "us3D"
|
||||
Name 258 "usCube"
|
||||
Name 262 "us2DArray"
|
||||
Name 264 "ic4D"
|
||||
Decorate 17(c2D) Smooth
|
||||
Decorate 26(c4D) Smooth
|
||||
Decorate 38(c3D) Smooth
|
||||
@ -51,13 +52,13 @@ Linked fragment stage:
|
||||
Decorate 67(ic3D) Flat
|
||||
Decorate 70(ic1D) Flat
|
||||
Decorate 77(ic2D) Flat
|
||||
Decorate 235(is2Dms) NoStaticUse
|
||||
Decorate 240(us2D) NoStaticUse
|
||||
Decorate 244(us3D) NoStaticUse
|
||||
Decorate 248(usCube) NoStaticUse
|
||||
Decorate 252(us2DArray) NoStaticUse
|
||||
Decorate 254(ic4D) Flat
|
||||
Decorate 254(ic4D) NoStaticUse
|
||||
Decorate 245(is2Dms) NoStaticUse
|
||||
Decorate 250(us2D) NoStaticUse
|
||||
Decorate 254(us3D) NoStaticUse
|
||||
Decorate 258(usCube) NoStaticUse
|
||||
Decorate 262(us2DArray) NoStaticUse
|
||||
Decorate 264(ic4D) Flat
|
||||
Decorate 264(ic4D) NoStaticUse
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
@ -102,70 +103,75 @@ Linked fragment stage:
|
||||
76: TypePointer Input 51(ivec2)
|
||||
77(ic2D): 76(ptr) Variable Input
|
||||
79: 50(int) Constant 4
|
||||
99: TypeImage 6(float) Cube sampled format:Unknown
|
||||
100: TypeSampledImage 99
|
||||
101: TypePointer UniformConstant 100
|
||||
102(sCube): 101(ptr) Variable UniformConstant
|
||||
110: TypeImage 6(float) 2D depth array sampled format:Unknown
|
||||
111: TypeSampledImage 110
|
||||
112: TypePointer UniformConstant 111
|
||||
113(s2DArrayShadow): 112(ptr) Variable UniformConstant
|
||||
139: TypeVector 50(int) 4
|
||||
140: TypePointer Function 139(ivec4)
|
||||
142: TypeImage 50(int) 2D sampled format:Unknown
|
||||
143: TypeSampledImage 142
|
||||
144: TypePointer UniformConstant 143
|
||||
145(is2D): 144(ptr) Variable UniformConstant
|
||||
177: TypeImage 50(int) 3D sampled format:Unknown
|
||||
178: TypeSampledImage 177
|
||||
179: TypePointer UniformConstant 178
|
||||
180(is3D): 179(ptr) Variable UniformConstant
|
||||
183: 6(float) Constant 1082549862
|
||||
189: TypeImage 50(int) Cube sampled format:Unknown
|
||||
190: TypeSampledImage 189
|
||||
191: TypePointer UniformConstant 190
|
||||
192(isCube): 191(ptr) Variable UniformConstant
|
||||
201: TypeImage 50(int) 2D array sampled format:Unknown
|
||||
202: TypeSampledImage 201
|
||||
203: TypePointer UniformConstant 202
|
||||
204(is2DArray): 203(ptr) Variable UniformConstant
|
||||
213: TypePointer Function 51(ivec2)
|
||||
215: TypeImage 6(float) Cube depth sampled format:Unknown
|
||||
216: TypeSampledImage 215
|
||||
217: TypePointer UniformConstant 216
|
||||
218(sCubeShadow): 217(ptr) Variable UniformConstant
|
||||
220: 50(int) Constant 2
|
||||
222: TypePointer Output 7(fvec4)
|
||||
223(FragData): 222(ptr) Variable Output
|
||||
227: 6(float) Constant 0
|
||||
232: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
|
||||
233: TypeSampledImage 232
|
||||
234: TypePointer UniformConstant 233
|
||||
235(is2Dms): 234(ptr) Variable UniformConstant
|
||||
236: TypeInt 32 0
|
||||
237: TypeImage 236(int) 2D sampled format:Unknown
|
||||
238: TypeSampledImage 237
|
||||
239: TypePointer UniformConstant 238
|
||||
240(us2D): 239(ptr) Variable UniformConstant
|
||||
241: TypeImage 236(int) 3D sampled format:Unknown
|
||||
242: TypeSampledImage 241
|
||||
243: TypePointer UniformConstant 242
|
||||
244(us3D): 243(ptr) Variable UniformConstant
|
||||
245: TypeImage 236(int) Cube sampled format:Unknown
|
||||
246: TypeSampledImage 245
|
||||
247: TypePointer UniformConstant 246
|
||||
248(usCube): 247(ptr) Variable UniformConstant
|
||||
249: TypeImage 236(int) 2D array sampled format:Unknown
|
||||
250: TypeSampledImage 249
|
||||
251: TypePointer UniformConstant 250
|
||||
252(us2DArray): 251(ptr) Variable UniformConstant
|
||||
253: TypePointer Input 139(ivec4)
|
||||
254(ic4D): 253(ptr) Variable Input
|
||||
83: TypeImage 6(float) Rect sampled format:Unknown
|
||||
84: TypeSampledImage 83
|
||||
85: TypePointer UniformConstant 84
|
||||
86(sr): 85(ptr) Variable UniformConstant
|
||||
89: 51(ivec2) ConstantComposite 79 79
|
||||
109: TypeImage 6(float) Cube sampled format:Unknown
|
||||
110: TypeSampledImage 109
|
||||
111: TypePointer UniformConstant 110
|
||||
112(sCube): 111(ptr) Variable UniformConstant
|
||||
120: TypeImage 6(float) 2D depth array sampled format:Unknown
|
||||
121: TypeSampledImage 120
|
||||
122: TypePointer UniformConstant 121
|
||||
123(s2DArrayShadow): 122(ptr) Variable UniformConstant
|
||||
149: TypeVector 50(int) 4
|
||||
150: TypePointer Function 149(ivec4)
|
||||
152: TypeImage 50(int) 2D sampled format:Unknown
|
||||
153: TypeSampledImage 152
|
||||
154: TypePointer UniformConstant 153
|
||||
155(is2D): 154(ptr) Variable UniformConstant
|
||||
187: TypeImage 50(int) 3D sampled format:Unknown
|
||||
188: TypeSampledImage 187
|
||||
189: TypePointer UniformConstant 188
|
||||
190(is3D): 189(ptr) Variable UniformConstant
|
||||
193: 6(float) Constant 1082549862
|
||||
199: TypeImage 50(int) Cube sampled format:Unknown
|
||||
200: TypeSampledImage 199
|
||||
201: TypePointer UniformConstant 200
|
||||
202(isCube): 201(ptr) Variable UniformConstant
|
||||
211: TypeImage 50(int) 2D array sampled format:Unknown
|
||||
212: TypeSampledImage 211
|
||||
213: TypePointer UniformConstant 212
|
||||
214(is2DArray): 213(ptr) Variable UniformConstant
|
||||
223: TypePointer Function 51(ivec2)
|
||||
225: TypeImage 6(float) Cube depth sampled format:Unknown
|
||||
226: TypeSampledImage 225
|
||||
227: TypePointer UniformConstant 226
|
||||
228(sCubeShadow): 227(ptr) Variable UniformConstant
|
||||
230: 50(int) Constant 2
|
||||
232: TypePointer Output 7(fvec4)
|
||||
233(FragData): 232(ptr) Variable Output
|
||||
237: 6(float) Constant 0
|
||||
242: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
|
||||
243: TypeSampledImage 242
|
||||
244: TypePointer UniformConstant 243
|
||||
245(is2Dms): 244(ptr) Variable UniformConstant
|
||||
246: TypeInt 32 0
|
||||
247: TypeImage 246(int) 2D sampled format:Unknown
|
||||
248: TypeSampledImage 247
|
||||
249: TypePointer UniformConstant 248
|
||||
250(us2D): 249(ptr) Variable UniformConstant
|
||||
251: TypeImage 246(int) 3D sampled format:Unknown
|
||||
252: TypeSampledImage 251
|
||||
253: TypePointer UniformConstant 252
|
||||
254(us3D): 253(ptr) Variable UniformConstant
|
||||
255: TypeImage 246(int) Cube sampled format:Unknown
|
||||
256: TypeSampledImage 255
|
||||
257: TypePointer UniformConstant 256
|
||||
258(usCube): 257(ptr) Variable UniformConstant
|
||||
259: TypeImage 246(int) 2D array sampled format:Unknown
|
||||
260: TypeSampledImage 259
|
||||
261: TypePointer UniformConstant 260
|
||||
262(us2DArray): 261(ptr) Variable UniformConstant
|
||||
263: TypePointer Input 149(ivec4)
|
||||
264(ic4D): 263(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
9(v): 8(ptr) Variable Function
|
||||
141(iv): 140(ptr) Variable Function
|
||||
214(iv2): 213(ptr) Variable Function
|
||||
151(iv): 150(ptr) Variable Function
|
||||
224(iv2): 223(ptr) Variable Function
|
||||
14: 11 Load 13(s2D)
|
||||
18: 15(fvec2) Load 17(c2D)
|
||||
19: 7(fvec4) ImageSampleImplicitLod 14 18
|
||||
@ -206,138 +212,144 @@ Linked fragment stage:
|
||||
81: 7(fvec4) Load 9(v)
|
||||
82: 7(fvec4) FAdd 81 80
|
||||
Store 9(v) 82
|
||||
83: 45 Load 47(s2DShadow)
|
||||
84: 36(fvec3) Load 38(c3D)
|
||||
85: 6(float) Load 55(c1D)
|
||||
86: 6(float) CompositeExtract 84 2
|
||||
87: 6(float) ImageSampleDrefExplicitLod 83 84 86 85 53
|
||||
88: 7(fvec4) Load 9(v)
|
||||
89: 6(float) CompositeExtract 88 1
|
||||
90: 6(float) FAdd 89 87
|
||||
87: 84 Load 86(sr)
|
||||
88: 51(ivec2) Load 77(ic2D)
|
||||
90: 7(fvec4) ImageFetch 87 88 89
|
||||
91: 7(fvec4) Load 9(v)
|
||||
92: 7(fvec4) CompositeInsert 90 91 1
|
||||
92: 7(fvec4) FAdd 91 90
|
||||
Store 9(v) 92
|
||||
93: 11 Load 13(s2D)
|
||||
93: 45 Load 47(s2DShadow)
|
||||
94: 36(fvec3) Load 38(c3D)
|
||||
95: 6(float) Load 55(c1D)
|
||||
96: 7(fvec4) ImageSampleProjExplicitLod 93 94 95 53
|
||||
97: 7(fvec4) Load 9(v)
|
||||
98: 7(fvec4) FAdd 97 96
|
||||
Store 9(v) 98
|
||||
103: 100 Load 102(sCube)
|
||||
96: 6(float) CompositeExtract 94 2
|
||||
97: 6(float) ImageSampleDrefExplicitLod 93 94 96 95 53
|
||||
98: 7(fvec4) Load 9(v)
|
||||
99: 6(float) CompositeExtract 98 1
|
||||
100: 6(float) FAdd 99 97
|
||||
101: 7(fvec4) Load 9(v)
|
||||
102: 7(fvec4) CompositeInsert 100 101 1
|
||||
Store 9(v) 102
|
||||
103: 11 Load 13(s2D)
|
||||
104: 36(fvec3) Load 38(c3D)
|
||||
105: 36(fvec3) Load 38(c3D)
|
||||
106: 36(fvec3) Load 38(c3D)
|
||||
107: 7(fvec4) ImageSampleExplicitLod 103 104 105 106
|
||||
108: 7(fvec4) Load 9(v)
|
||||
109: 7(fvec4) FAdd 108 107
|
||||
Store 9(v) 109
|
||||
114: 111 Load 113(s2DArrayShadow)
|
||||
115: 7(fvec4) Load 26(c4D)
|
||||
116: 15(fvec2) Load 17(c2D)
|
||||
117: 15(fvec2) Load 17(c2D)
|
||||
118: 6(float) CompositeExtract 115 3
|
||||
119: 6(float) ImageSampleDrefExplicitLod 114 115 118 116 117 53
|
||||
120: 7(fvec4) Load 9(v)
|
||||
121: 6(float) CompositeExtract 120 0
|
||||
122: 6(float) FAdd 121 119
|
||||
123: 7(fvec4) Load 9(v)
|
||||
124: 7(fvec4) CompositeInsert 122 123 0
|
||||
Store 9(v) 124
|
||||
125: 21 Load 23(s3D)
|
||||
126: 7(fvec4) Load 26(c4D)
|
||||
127: 36(fvec3) Load 38(c3D)
|
||||
128: 36(fvec3) Load 38(c3D)
|
||||
129: 7(fvec4) ImageSampleProjExplicitLod 125 126 127 128
|
||||
105: 6(float) Load 55(c1D)
|
||||
106: 7(fvec4) ImageSampleProjExplicitLod 103 104 105 53
|
||||
107: 7(fvec4) Load 9(v)
|
||||
108: 7(fvec4) FAdd 107 106
|
||||
Store 9(v) 108
|
||||
113: 110 Load 112(sCube)
|
||||
114: 36(fvec3) Load 38(c3D)
|
||||
115: 36(fvec3) Load 38(c3D)
|
||||
116: 36(fvec3) Load 38(c3D)
|
||||
117: 7(fvec4) ImageSampleExplicitLod 113 114 115 116
|
||||
118: 7(fvec4) Load 9(v)
|
||||
119: 7(fvec4) FAdd 118 117
|
||||
Store 9(v) 119
|
||||
124: 121 Load 123(s2DArrayShadow)
|
||||
125: 7(fvec4) Load 26(c4D)
|
||||
126: 15(fvec2) Load 17(c2D)
|
||||
127: 15(fvec2) Load 17(c2D)
|
||||
128: 6(float) CompositeExtract 125 3
|
||||
129: 6(float) ImageSampleDrefExplicitLod 124 125 128 126 127 53
|
||||
130: 7(fvec4) Load 9(v)
|
||||
131: 7(fvec4) FAdd 130 129
|
||||
Store 9(v) 131
|
||||
132: 11 Load 13(s2D)
|
||||
133: 36(fvec3) Load 38(c3D)
|
||||
134: 15(fvec2) Load 17(c2D)
|
||||
135: 15(fvec2) Load 17(c2D)
|
||||
136: 7(fvec4) ImageSampleProjExplicitLod 132 133 134 135 53
|
||||
137: 7(fvec4) Load 9(v)
|
||||
138: 7(fvec4) FAdd 137 136
|
||||
Store 9(v) 138
|
||||
146: 143 Load 145(is2D)
|
||||
147: 15(fvec2) Load 17(c2D)
|
||||
148: 139(ivec4) ImageSampleImplicitLod 146 147
|
||||
Store 141(iv) 148
|
||||
149: 139(ivec4) Load 141(iv)
|
||||
150: 7(fvec4) ConvertSToF 149
|
||||
151: 7(fvec4) Load 9(v)
|
||||
152: 7(fvec4) FAdd 151 150
|
||||
Store 9(v) 152
|
||||
153: 143 Load 145(is2D)
|
||||
154: 7(fvec4) Load 26(c4D)
|
||||
155: 139(ivec4) ImageSampleProjImplicitLod 153 154 53
|
||||
Store 141(iv) 155
|
||||
156: 139(ivec4) Load 141(iv)
|
||||
157: 7(fvec4) ConvertSToF 156
|
||||
158: 7(fvec4) Load 9(v)
|
||||
159: 7(fvec4) FAdd 158 157
|
||||
Store 9(v) 159
|
||||
160: 143 Load 145(is2D)
|
||||
161: 36(fvec3) Load 38(c3D)
|
||||
162: 6(float) Load 55(c1D)
|
||||
163: 139(ivec4) ImageSampleProjExplicitLod 160 161 162
|
||||
Store 141(iv) 163
|
||||
164: 139(ivec4) Load 141(iv)
|
||||
165: 7(fvec4) ConvertSToF 164
|
||||
166: 7(fvec4) Load 9(v)
|
||||
167: 7(fvec4) FAdd 166 165
|
||||
Store 9(v) 167
|
||||
168: 143 Load 145(is2D)
|
||||
169: 36(fvec3) Load 38(c3D)
|
||||
170: 15(fvec2) Load 17(c2D)
|
||||
171: 15(fvec2) Load 17(c2D)
|
||||
172: 139(ivec4) ImageSampleProjExplicitLod 168 169 170 171
|
||||
Store 141(iv) 172
|
||||
173: 139(ivec4) Load 141(iv)
|
||||
174: 7(fvec4) ConvertSToF 173
|
||||
175: 7(fvec4) Load 9(v)
|
||||
176: 7(fvec4) FAdd 175 174
|
||||
Store 9(v) 176
|
||||
181: 178 Load 180(is3D)
|
||||
182: 36(fvec3) Load 38(c3D)
|
||||
184: 139(ivec4) ImageSampleImplicitLod 181 182 183
|
||||
Store 141(iv) 184
|
||||
185: 139(ivec4) Load 141(iv)
|
||||
186: 7(fvec4) ConvertSToF 185
|
||||
187: 7(fvec4) Load 9(v)
|
||||
188: 7(fvec4) FAdd 187 186
|
||||
Store 9(v) 188
|
||||
193: 190 Load 192(isCube)
|
||||
194: 36(fvec3) Load 38(c3D)
|
||||
195: 6(float) Load 55(c1D)
|
||||
196: 139(ivec4) ImageSampleExplicitLod 193 194 195
|
||||
Store 141(iv) 196
|
||||
197: 139(ivec4) Load 141(iv)
|
||||
198: 7(fvec4) ConvertSToF 197
|
||||
199: 7(fvec4) Load 9(v)
|
||||
200: 7(fvec4) FAdd 199 198
|
||||
Store 9(v) 200
|
||||
205: 202 Load 204(is2DArray)
|
||||
206: 65(ivec3) Load 67(ic3D)
|
||||
207: 50(int) Load 70(ic1D)
|
||||
208: 139(ivec4) ImageFetch 205 206 207
|
||||
Store 141(iv) 208
|
||||
209: 139(ivec4) Load 141(iv)
|
||||
210: 7(fvec4) ConvertSToF 209
|
||||
211: 7(fvec4) Load 9(v)
|
||||
212: 7(fvec4) FAdd 211 210
|
||||
Store 9(v) 212
|
||||
219: 216 Load 218(sCubeShadow)
|
||||
221: 51(ivec2) ImageQuerySizeLod 219 220
|
||||
Store 214(iv2) 221
|
||||
224: 7(fvec4) Load 9(v)
|
||||
225: 51(ivec2) Load 214(iv2)
|
||||
226: 15(fvec2) ConvertSToF 225
|
||||
228: 6(float) CompositeExtract 226 0
|
||||
229: 6(float) CompositeExtract 226 1
|
||||
230: 7(fvec4) CompositeConstruct 228 229 227 227
|
||||
231: 7(fvec4) FAdd 224 230
|
||||
Store 223(FragData) 231
|
||||
131: 6(float) CompositeExtract 130 0
|
||||
132: 6(float) FAdd 131 129
|
||||
133: 7(fvec4) Load 9(v)
|
||||
134: 7(fvec4) CompositeInsert 132 133 0
|
||||
Store 9(v) 134
|
||||
135: 21 Load 23(s3D)
|
||||
136: 7(fvec4) Load 26(c4D)
|
||||
137: 36(fvec3) Load 38(c3D)
|
||||
138: 36(fvec3) Load 38(c3D)
|
||||
139: 7(fvec4) ImageSampleProjExplicitLod 135 136 137 138
|
||||
140: 7(fvec4) Load 9(v)
|
||||
141: 7(fvec4) FAdd 140 139
|
||||
Store 9(v) 141
|
||||
142: 11 Load 13(s2D)
|
||||
143: 36(fvec3) Load 38(c3D)
|
||||
144: 15(fvec2) Load 17(c2D)
|
||||
145: 15(fvec2) Load 17(c2D)
|
||||
146: 7(fvec4) ImageSampleProjExplicitLod 142 143 144 145 53
|
||||
147: 7(fvec4) Load 9(v)
|
||||
148: 7(fvec4) FAdd 147 146
|
||||
Store 9(v) 148
|
||||
156: 153 Load 155(is2D)
|
||||
157: 15(fvec2) Load 17(c2D)
|
||||
158: 149(ivec4) ImageSampleImplicitLod 156 157
|
||||
Store 151(iv) 158
|
||||
159: 149(ivec4) Load 151(iv)
|
||||
160: 7(fvec4) ConvertSToF 159
|
||||
161: 7(fvec4) Load 9(v)
|
||||
162: 7(fvec4) FAdd 161 160
|
||||
Store 9(v) 162
|
||||
163: 153 Load 155(is2D)
|
||||
164: 7(fvec4) Load 26(c4D)
|
||||
165: 149(ivec4) ImageSampleProjImplicitLod 163 164 53
|
||||
Store 151(iv) 165
|
||||
166: 149(ivec4) Load 151(iv)
|
||||
167: 7(fvec4) ConvertSToF 166
|
||||
168: 7(fvec4) Load 9(v)
|
||||
169: 7(fvec4) FAdd 168 167
|
||||
Store 9(v) 169
|
||||
170: 153 Load 155(is2D)
|
||||
171: 36(fvec3) Load 38(c3D)
|
||||
172: 6(float) Load 55(c1D)
|
||||
173: 149(ivec4) ImageSampleProjExplicitLod 170 171 172
|
||||
Store 151(iv) 173
|
||||
174: 149(ivec4) Load 151(iv)
|
||||
175: 7(fvec4) ConvertSToF 174
|
||||
176: 7(fvec4) Load 9(v)
|
||||
177: 7(fvec4) FAdd 176 175
|
||||
Store 9(v) 177
|
||||
178: 153 Load 155(is2D)
|
||||
179: 36(fvec3) Load 38(c3D)
|
||||
180: 15(fvec2) Load 17(c2D)
|
||||
181: 15(fvec2) Load 17(c2D)
|
||||
182: 149(ivec4) ImageSampleProjExplicitLod 178 179 180 181
|
||||
Store 151(iv) 182
|
||||
183: 149(ivec4) Load 151(iv)
|
||||
184: 7(fvec4) ConvertSToF 183
|
||||
185: 7(fvec4) Load 9(v)
|
||||
186: 7(fvec4) FAdd 185 184
|
||||
Store 9(v) 186
|
||||
191: 188 Load 190(is3D)
|
||||
192: 36(fvec3) Load 38(c3D)
|
||||
194: 149(ivec4) ImageSampleImplicitLod 191 192 193
|
||||
Store 151(iv) 194
|
||||
195: 149(ivec4) Load 151(iv)
|
||||
196: 7(fvec4) ConvertSToF 195
|
||||
197: 7(fvec4) Load 9(v)
|
||||
198: 7(fvec4) FAdd 197 196
|
||||
Store 9(v) 198
|
||||
203: 200 Load 202(isCube)
|
||||
204: 36(fvec3) Load 38(c3D)
|
||||
205: 6(float) Load 55(c1D)
|
||||
206: 149(ivec4) ImageSampleExplicitLod 203 204 205
|
||||
Store 151(iv) 206
|
||||
207: 149(ivec4) Load 151(iv)
|
||||
208: 7(fvec4) ConvertSToF 207
|
||||
209: 7(fvec4) Load 9(v)
|
||||
210: 7(fvec4) FAdd 209 208
|
||||
Store 9(v) 210
|
||||
215: 212 Load 214(is2DArray)
|
||||
216: 65(ivec3) Load 67(ic3D)
|
||||
217: 50(int) Load 70(ic1D)
|
||||
218: 149(ivec4) ImageFetch 215 216 217
|
||||
Store 151(iv) 218
|
||||
219: 149(ivec4) Load 151(iv)
|
||||
220: 7(fvec4) ConvertSToF 219
|
||||
221: 7(fvec4) Load 9(v)
|
||||
222: 7(fvec4) FAdd 221 220
|
||||
Store 9(v) 222
|
||||
229: 226 Load 228(sCubeShadow)
|
||||
231: 51(ivec2) ImageQuerySizeLod 229 230
|
||||
Store 224(iv2) 231
|
||||
234: 7(fvec4) Load 9(v)
|
||||
235: 51(ivec2) Load 224(iv2)
|
||||
236: 15(fvec2) ConvertSToF 235
|
||||
238: 6(float) CompositeExtract 236 0
|
||||
239: 6(float) CompositeExtract 236 1
|
||||
240: 7(fvec4) CompositeConstruct 238 239 237 237
|
||||
241: 7(fvec4) FAdd 234 240
|
||||
Store 233(FragData) 241
|
||||
Return
|
||||
FunctionEnd
|
||||
|
@ -41,6 +41,7 @@ void main()
|
||||
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
|
||||
v += texelFetch(s3D, ic3D, ic1D);
|
||||
v += texelFetchOffset(s2D, ic2D, 4, ivec2(3));
|
||||
v += texelFetchOffset(sr, ic2D, ivec2(4));
|
||||
v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3));
|
||||
v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3));
|
||||
v += textureGrad(sCube, c3D, c3D, c3D);
|
||||
@ -62,7 +63,6 @@ void main()
|
||||
v += vec4(iv);
|
||||
iv = texelFetch(is2DArray, ic3D, ic1D);
|
||||
v += vec4(iv);
|
||||
|
||||
iv += texelFetch(is2Dms, ic2D, ic1D);
|
||||
v += vec4(iv);
|
||||
v += texelFetch(sb, ic1D);
|
||||
|
@ -1,6 +1,7 @@
|
||||
#version 430
|
||||
|
||||
uniform sampler2D s2D;
|
||||
uniform sampler2DRect sr;
|
||||
uniform sampler3D s3D;
|
||||
uniform samplerCube sCube;
|
||||
uniform samplerCubeShadow sCubeShadow;
|
||||
@ -39,6 +40,7 @@ void main()
|
||||
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
|
||||
v += texelFetch(s3D, ic3D, ic1D);
|
||||
v += texelFetchOffset(s2D, ic2D, 4, ivec2(3));
|
||||
v += texelFetchOffset(sr, ic2D, ivec2(4));
|
||||
v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3));
|
||||
v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3));
|
||||
v += textureGrad(sCube, c3D, c3D, c3D);
|
||||
|
@ -1431,7 +1431,7 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
|
||||
int arg = -1;
|
||||
switch (callNode.getOp()) {
|
||||
case EOpTextureOffset: arg = 2; break;
|
||||
case EOpTextureFetchOffset: arg = 3; break;
|
||||
case EOpTextureFetchOffset: arg = (arg0->getType().getSampler().dim != EsdRect) ? 3 : 2; break;
|
||||
case EOpTextureProjOffset: arg = 2; break;
|
||||
case EOpTextureLodOffset: arg = 3; break;
|
||||
case EOpTextureProjLodOffset: arg = 3; break;
|
||||
|
Loading…
Reference in New Issue
Block a user