Fix an issue related with texelFetchOffset

This commit is contained in:
Rex Xu 2015-10-12 17:02:21 +08:00
parent 86e608133c
commit 19c6e5919f
5 changed files with 480 additions and 450 deletions

View File

@ -52,22 +52,21 @@ Shader version: 430
0:43 Constant: 0:43 Constant:
0:43 3 (const int) 0:43 3 (const int)
0:43 3 (const int) 0:43 3 (const int)
0:44 add second child into first child (temp float) 0:44 add second child into first child (temp 4-component vector of float)
0:44 direct index (temp float) 0:44 'v' (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 Constant:
0:44 1 (const int) 0:44 4 (const int)
0:44 textureLodOffset (global float) 0:44 4 (const int)
0:44 's2DShadow' (uniform sampler2DShadow) 0:45 add second child into first child (temp float)
0:44 'c3D' (smooth in 3-component vector of float) 0:45 direct index (temp float)
0:44 'c1D' (smooth in float) 0:45 'v' (temp 4-component vector of float)
0:44 Constant: 0:45 Constant:
0:44 3 (const int) 0:45 1 (const int)
0:44 3 (const int) 0:45 textureLodOffset (global float)
0:45 add second child into first child (temp 4-component vector of float) 0:45 's2DShadow' (uniform sampler2DShadow)
0:45 'v' (temp 4-component vector of float)
0:45 textureProjLodOffset (global 4-component vector of float)
0:45 's2D' (uniform sampler2D)
0:45 'c3D' (smooth in 3-component vector of float) 0:45 'c3D' (smooth in 3-component vector of float)
0:45 'c1D' (smooth in float) 0:45 'c1D' (smooth in float)
0:45 Constant: 0:45 Constant:
@ -75,115 +74,124 @@ Shader version: 430
0:45 3 (const int) 0:45 3 (const int)
0:46 add second child into first child (temp 4-component vector of float) 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 'v' (temp 4-component vector of float)
0:46 textureGrad (global 4-component vector of float) 0:46 textureProjLodOffset (global 4-component vector of float)
0:46 'sCube' (uniform samplerCube) 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:46 'c1D' (smooth in float)
0:46 'c3D' (smooth in 3-component vector of float) 0:46 Constant:
0:47 add second child into first child (temp float) 0:46 3 (const int)
0:47 direct index (temp float) 0:46 3 (const int)
0:47 'v' (temp 4-component vector of float) 0:47 add second child into first child (temp 4-component vector of float)
0:47 Constant: 0:47 'v' (temp 4-component vector of float)
0:47 0 (const int) 0:47 textureGrad (global 4-component vector of float)
0:47 textureGradOffset (global float) 0:47 'sCube' (uniform samplerCube)
0:47 's2DArrayShadow' (uniform sampler2DArrayShadow) 0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c4D' (smooth in 4-component vector of float) 0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c2D' (smooth in 2-component vector of float) 0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c2D' (smooth in 2-component vector of float) 0:48 add second child into first child (temp float)
0:47 Constant: 0:48 direct index (temp float)
0:47 3 (const int) 0:48 'v' (temp 4-component vector of float)
0:47 3 (const int) 0:48 Constant:
0:48 add second child into first child (temp 4-component vector of float) 0:48 0 (const int)
0:48 'v' (temp 4-component vector of float) 0:48 textureGradOffset (global float)
0:48 textureProjGrad (global 4-component vector of float) 0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
0:48 's3D' (uniform sampler3D)
0:48 'c4D' (smooth in 4-component vector of float) 0:48 'c4D' (smooth in 4-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 'c3D' (smooth in 3-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 add second child into first child (temp 4-component vector of float)
0:49 'v' (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 textureProjGrad (global 4-component vector of float)
0:49 's2D' (uniform sampler2D) 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 'c3D' (smooth in 3-component vector of float)
0:49 'c2D' (smooth in 2-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:50 add second child into first child (temp 4-component vector of float)
0:49 Constant: 0:50 'v' (temp 4-component vector of float)
0:49 3 (const int) 0:50 textureProjGradOffset (global 4-component vector of float)
0:49 3 (const int) 0:50 's2D' (uniform sampler2D)
0:51 Sequence 0:50 'c3D' (smooth in 3-component vector of float)
0:51 move second child to first child (temp 4-component vector of int) 0:50 'c2D' (smooth in 2-component vector of float)
0:51 'iv' (temp 4-component vector of int) 0:50 'c2D' (smooth in 2-component vector of float)
0:51 texture (global 4-component vector of int) 0:50 Constant:
0:51 'is2D' (uniform isampler2D) 0:50 3 (const int)
0:51 'c2D' (smooth in 2-component vector of float) 0:50 3 (const int)
0:52 add second child into first child (temp 4-component vector of float) 0:52 Sequence
0:52 'v' (temp 4-component vector of float) 0:52 move second child to first child (temp 4-component vector of int)
0:52 Convert int to float (temp 4-component vector of float)
0:52 'iv' (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:52 texture (global 4-component vector of int)
0:53 'iv' (temp 4-component vector of int) 0:52 'is2D' (uniform isampler2D)
0:53 textureProjOffset (global 4-component vector of int) 0:52 'c2D' (smooth in 2-component vector of float)
0:53 'is2D' (uniform isampler2D) 0:53 add second child into first child (temp 4-component vector of float)
0:53 'c4D' (smooth in 4-component vector of float) 0:53 'v' (temp 4-component vector of float)
0:53 Constant: 0:53 Convert int to float (temp 4-component vector of float)
0:53 3 (const int) 0:53 'iv' (temp 4-component vector of int)
0:53 3 (const int) 0:54 move second child to first child (temp 4-component vector of int)
0:54 add second child into first child (temp 4-component vector of float) 0:54 'iv' (temp 4-component vector of int)
0:54 'v' (temp 4-component vector of float) 0:54 textureProjOffset (global 4-component vector of int)
0:54 Convert int to float (temp 4-component vector of float) 0:54 'is2D' (uniform isampler2D)
0:54 'iv' (temp 4-component vector of int) 0:54 'c4D' (smooth in 4-component vector of float)
0:55 move second child to first child (temp 4-component vector of int) 0:54 Constant:
0:55 'iv' (temp 4-component vector of int) 0:54 3 (const int)
0:55 textureProjLod (global 4-component vector of int) 0:54 3 (const int)
0:55 'is2D' (uniform isampler2D) 0:55 add second child into first child (temp 4-component vector of float)
0:55 'c3D' (smooth in 3-component vector of float) 0:55 'v' (temp 4-component vector of float)
0:55 'c1D' (smooth in float) 0:55 Convert int to float (temp 4-component vector of float)
0:56 add second child into first child (temp 4-component vector of float) 0:55 'iv' (temp 4-component vector of int)
0:56 'v' (temp 4-component vector of float) 0:56 move second child to first child (temp 4-component vector of int)
0:56 Convert int to float (temp 4-component vector of float) 0:56 'iv' (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:57 move second child to first child (temp 4-component vector of int) 0:56 'is2D' (uniform isampler2D)
0:57 'iv' (temp 4-component vector of int) 0:56 'c3D' (smooth in 3-component vector of float)
0:57 textureProjGrad (global 4-component vector of int) 0:56 'c1D' (smooth in float)
0:57 'is2D' (uniform isampler2D) 0:57 add second child into first child (temp 4-component vector of float)
0:57 'c3D' (smooth in 3-component vector of float) 0:57 'v' (temp 4-component vector of float)
0:57 'c2D' (smooth in 2-component vector of float) 0:57 Convert int to float (temp 4-component vector of float)
0:57 'c2D' (smooth in 2-component vector of float) 0:57 'iv' (temp 4-component vector of int)
0:58 add second child into first child (temp 4-component vector of float) 0:58 move second child to first child (temp 4-component vector of int)
0:58 'v' (temp 4-component vector of float) 0:58 'iv' (temp 4-component vector of int)
0:58 Convert int to float (temp 4-component vector of float) 0:58 textureProjGrad (global 4-component vector of int)
0:58 'iv' (temp 4-component vector of int) 0:58 'is2D' (uniform isampler2D)
0:59 move second child to first child (temp 4-component vector of int) 0:58 'c3D' (smooth in 3-component vector of float)
0:59 'iv' (temp 4-component vector of int) 0:58 'c2D' (smooth in 2-component vector of float)
0:59 texture (global 4-component vector of int) 0:58 'c2D' (smooth in 2-component vector of float)
0:59 'is3D' (uniform isampler3D) 0:59 add second child into first child (temp 4-component vector of float)
0:59 'c3D' (smooth in 3-component vector of float) 0:59 'v' (temp 4-component vector of float)
0:59 Constant: 0:59 Convert int to float (temp 4-component vector of float)
0:59 4.200000 0:59 'iv' (temp 4-component vector of int)
0:60 add second child into first child (temp 4-component vector of float) 0:60 move second child to first child (temp 4-component vector of int)
0:60 'v' (temp 4-component vector of float) 0:60 'iv' (temp 4-component vector of int)
0:60 Convert int to float (temp 4-component vector of float) 0:60 texture (global 4-component vector of int)
0:60 'iv' (temp 4-component vector of int) 0:60 'is3D' (uniform isampler3D)
0:61 move second child to first child (temp 4-component vector of int) 0:60 'c3D' (smooth in 3-component vector of float)
0:61 'iv' (temp 4-component vector of int) 0:60 Constant:
0:61 textureLod (global 4-component vector of int) 0:60 4.200000
0:61 'isCube' (uniform isamplerCube) 0:61 add second child into first child (temp 4-component vector of float)
0:61 'c3D' (smooth in 3-component vector of float) 0:61 'v' (temp 4-component vector of float)
0:61 'c1D' (smooth in float) 0:61 Convert int to float (temp 4-component vector of float)
0:62 add second child into first child (temp 4-component vector of float) 0:61 'iv' (temp 4-component vector of int)
0:62 'v' (temp 4-component vector of float) 0:62 move second child to first child (temp 4-component vector of int)
0:62 Convert int to float (temp 4-component vector of float) 0:62 'iv' (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:63 move second child to first child (temp 4-component vector of int) 0:62 'isCube' (uniform isamplerCube)
0:63 'iv' (temp 4-component vector of int) 0:62 'c3D' (smooth in 3-component vector of float)
0:63 textureFetch (global 4-component vector of int) 0:62 'c1D' (smooth in float)
0:63 'is2DArray' (uniform isampler2DArray) 0:63 add second child into first child (temp 4-component vector of float)
0:63 'ic3D' (flat in 3-component vector of int) 0:63 'v' (temp 4-component vector of float)
0:63 'ic1D' (flat in int) 0:63 Convert int to float (temp 4-component vector of float)
0:64 add second child into first child (temp 4-component vector of float) 0:63 'iv' (temp 4-component vector of int)
0:64 'v' (temp 4-component vector of float) 0:64 move second child to first child (temp 4-component vector of int)
0:64 Convert int to float (temp 4-component vector of float) 0:64 'iv' (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 add second child into first child (temp 4-component vector of int)
0:66 'iv' (temp 4-component vector of int) 0:66 'iv' (temp 4-component vector of int)
0:66 textureFetch (global 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 Constant:
0:43 3 (const int) 0:43 3 (const int)
0:43 3 (const int) 0:43 3 (const int)
0:44 add second child into first child (temp float) 0:44 add second child into first child (temp 4-component vector of float)
0:44 direct index (temp float) 0:44 'v' (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 Constant:
0:44 1 (const int) 0:44 4 (const int)
0:44 textureLodOffset (global float) 0:44 4 (const int)
0:44 's2DShadow' (uniform sampler2DShadow) 0:45 add second child into first child (temp float)
0:44 'c3D' (smooth in 3-component vector of float) 0:45 direct index (temp float)
0:44 'c1D' (smooth in float) 0:45 'v' (temp 4-component vector of float)
0:44 Constant: 0:45 Constant:
0:44 3 (const int) 0:45 1 (const int)
0:44 3 (const int) 0:45 textureLodOffset (global float)
0:45 add second child into first child (temp 4-component vector of float) 0:45 's2DShadow' (uniform sampler2DShadow)
0:45 'v' (temp 4-component vector of float)
0:45 textureProjLodOffset (global 4-component vector of float)
0:45 's2D' (uniform sampler2D)
0:45 'c3D' (smooth in 3-component vector of float) 0:45 'c3D' (smooth in 3-component vector of float)
0:45 'c1D' (smooth in float) 0:45 'c1D' (smooth in float)
0:45 Constant: 0:45 Constant:
@ -329,115 +336,124 @@ Shader version: 430
0:45 3 (const int) 0:45 3 (const int)
0:46 add second child into first child (temp 4-component vector of float) 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 'v' (temp 4-component vector of float)
0:46 textureGrad (global 4-component vector of float) 0:46 textureProjLodOffset (global 4-component vector of float)
0:46 'sCube' (uniform samplerCube) 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:46 'c1D' (smooth in float)
0:46 'c3D' (smooth in 3-component vector of float) 0:46 Constant:
0:47 add second child into first child (temp float) 0:46 3 (const int)
0:47 direct index (temp float) 0:46 3 (const int)
0:47 'v' (temp 4-component vector of float) 0:47 add second child into first child (temp 4-component vector of float)
0:47 Constant: 0:47 'v' (temp 4-component vector of float)
0:47 0 (const int) 0:47 textureGrad (global 4-component vector of float)
0:47 textureGradOffset (global float) 0:47 'sCube' (uniform samplerCube)
0:47 's2DArrayShadow' (uniform sampler2DArrayShadow) 0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c4D' (smooth in 4-component vector of float) 0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c2D' (smooth in 2-component vector of float) 0:47 'c3D' (smooth in 3-component vector of float)
0:47 'c2D' (smooth in 2-component vector of float) 0:48 add second child into first child (temp float)
0:47 Constant: 0:48 direct index (temp float)
0:47 3 (const int) 0:48 'v' (temp 4-component vector of float)
0:47 3 (const int) 0:48 Constant:
0:48 add second child into first child (temp 4-component vector of float) 0:48 0 (const int)
0:48 'v' (temp 4-component vector of float) 0:48 textureGradOffset (global float)
0:48 textureProjGrad (global 4-component vector of float) 0:48 's2DArrayShadow' (uniform sampler2DArrayShadow)
0:48 's3D' (uniform sampler3D)
0:48 'c4D' (smooth in 4-component vector of float) 0:48 'c4D' (smooth in 4-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 'c3D' (smooth in 3-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 add second child into first child (temp 4-component vector of float)
0:49 'v' (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 textureProjGrad (global 4-component vector of float)
0:49 's2D' (uniform sampler2D) 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 'c3D' (smooth in 3-component vector of float)
0:49 'c2D' (smooth in 2-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:50 add second child into first child (temp 4-component vector of float)
0:49 Constant: 0:50 'v' (temp 4-component vector of float)
0:49 3 (const int) 0:50 textureProjGradOffset (global 4-component vector of float)
0:49 3 (const int) 0:50 's2D' (uniform sampler2D)
0:51 Sequence 0:50 'c3D' (smooth in 3-component vector of float)
0:51 move second child to first child (temp 4-component vector of int) 0:50 'c2D' (smooth in 2-component vector of float)
0:51 'iv' (temp 4-component vector of int) 0:50 'c2D' (smooth in 2-component vector of float)
0:51 texture (global 4-component vector of int) 0:50 Constant:
0:51 'is2D' (uniform isampler2D) 0:50 3 (const int)
0:51 'c2D' (smooth in 2-component vector of float) 0:50 3 (const int)
0:52 add second child into first child (temp 4-component vector of float) 0:52 Sequence
0:52 'v' (temp 4-component vector of float) 0:52 move second child to first child (temp 4-component vector of int)
0:52 Convert int to float (temp 4-component vector of float)
0:52 'iv' (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:52 texture (global 4-component vector of int)
0:53 'iv' (temp 4-component vector of int) 0:52 'is2D' (uniform isampler2D)
0:53 textureProjOffset (global 4-component vector of int) 0:52 'c2D' (smooth in 2-component vector of float)
0:53 'is2D' (uniform isampler2D) 0:53 add second child into first child (temp 4-component vector of float)
0:53 'c4D' (smooth in 4-component vector of float) 0:53 'v' (temp 4-component vector of float)
0:53 Constant: 0:53 Convert int to float (temp 4-component vector of float)
0:53 3 (const int) 0:53 'iv' (temp 4-component vector of int)
0:53 3 (const int) 0:54 move second child to first child (temp 4-component vector of int)
0:54 add second child into first child (temp 4-component vector of float) 0:54 'iv' (temp 4-component vector of int)
0:54 'v' (temp 4-component vector of float) 0:54 textureProjOffset (global 4-component vector of int)
0:54 Convert int to float (temp 4-component vector of float) 0:54 'is2D' (uniform isampler2D)
0:54 'iv' (temp 4-component vector of int) 0:54 'c4D' (smooth in 4-component vector of float)
0:55 move second child to first child (temp 4-component vector of int) 0:54 Constant:
0:55 'iv' (temp 4-component vector of int) 0:54 3 (const int)
0:55 textureProjLod (global 4-component vector of int) 0:54 3 (const int)
0:55 'is2D' (uniform isampler2D) 0:55 add second child into first child (temp 4-component vector of float)
0:55 'c3D' (smooth in 3-component vector of float) 0:55 'v' (temp 4-component vector of float)
0:55 'c1D' (smooth in float) 0:55 Convert int to float (temp 4-component vector of float)
0:56 add second child into first child (temp 4-component vector of float) 0:55 'iv' (temp 4-component vector of int)
0:56 'v' (temp 4-component vector of float) 0:56 move second child to first child (temp 4-component vector of int)
0:56 Convert int to float (temp 4-component vector of float) 0:56 'iv' (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:57 move second child to first child (temp 4-component vector of int) 0:56 'is2D' (uniform isampler2D)
0:57 'iv' (temp 4-component vector of int) 0:56 'c3D' (smooth in 3-component vector of float)
0:57 textureProjGrad (global 4-component vector of int) 0:56 'c1D' (smooth in float)
0:57 'is2D' (uniform isampler2D) 0:57 add second child into first child (temp 4-component vector of float)
0:57 'c3D' (smooth in 3-component vector of float) 0:57 'v' (temp 4-component vector of float)
0:57 'c2D' (smooth in 2-component vector of float) 0:57 Convert int to float (temp 4-component vector of float)
0:57 'c2D' (smooth in 2-component vector of float) 0:57 'iv' (temp 4-component vector of int)
0:58 add second child into first child (temp 4-component vector of float) 0:58 move second child to first child (temp 4-component vector of int)
0:58 'v' (temp 4-component vector of float) 0:58 'iv' (temp 4-component vector of int)
0:58 Convert int to float (temp 4-component vector of float) 0:58 textureProjGrad (global 4-component vector of int)
0:58 'iv' (temp 4-component vector of int) 0:58 'is2D' (uniform isampler2D)
0:59 move second child to first child (temp 4-component vector of int) 0:58 'c3D' (smooth in 3-component vector of float)
0:59 'iv' (temp 4-component vector of int) 0:58 'c2D' (smooth in 2-component vector of float)
0:59 texture (global 4-component vector of int) 0:58 'c2D' (smooth in 2-component vector of float)
0:59 'is3D' (uniform isampler3D) 0:59 add second child into first child (temp 4-component vector of float)
0:59 'c3D' (smooth in 3-component vector of float) 0:59 'v' (temp 4-component vector of float)
0:59 Constant: 0:59 Convert int to float (temp 4-component vector of float)
0:59 4.200000 0:59 'iv' (temp 4-component vector of int)
0:60 add second child into first child (temp 4-component vector of float) 0:60 move second child to first child (temp 4-component vector of int)
0:60 'v' (temp 4-component vector of float) 0:60 'iv' (temp 4-component vector of int)
0:60 Convert int to float (temp 4-component vector of float) 0:60 texture (global 4-component vector of int)
0:60 'iv' (temp 4-component vector of int) 0:60 'is3D' (uniform isampler3D)
0:61 move second child to first child (temp 4-component vector of int) 0:60 'c3D' (smooth in 3-component vector of float)
0:61 'iv' (temp 4-component vector of int) 0:60 Constant:
0:61 textureLod (global 4-component vector of int) 0:60 4.200000
0:61 'isCube' (uniform isamplerCube) 0:61 add second child into first child (temp 4-component vector of float)
0:61 'c3D' (smooth in 3-component vector of float) 0:61 'v' (temp 4-component vector of float)
0:61 'c1D' (smooth in float) 0:61 Convert int to float (temp 4-component vector of float)
0:62 add second child into first child (temp 4-component vector of float) 0:61 'iv' (temp 4-component vector of int)
0:62 'v' (temp 4-component vector of float) 0:62 move second child to first child (temp 4-component vector of int)
0:62 Convert int to float (temp 4-component vector of float) 0:62 'iv' (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:63 move second child to first child (temp 4-component vector of int) 0:62 'isCube' (uniform isamplerCube)
0:63 'iv' (temp 4-component vector of int) 0:62 'c3D' (smooth in 3-component vector of float)
0:63 textureFetch (global 4-component vector of int) 0:62 'c1D' (smooth in float)
0:63 'is2DArray' (uniform isampler2DArray) 0:63 add second child into first child (temp 4-component vector of float)
0:63 'ic3D' (flat in 3-component vector of int) 0:63 'v' (temp 4-component vector of float)
0:63 'ic1D' (flat in int) 0:63 Convert int to float (temp 4-component vector of float)
0:64 add second child into first child (temp 4-component vector of float) 0:63 'iv' (temp 4-component vector of int)
0:64 'v' (temp 4-component vector of float) 0:64 move second child to first child (temp 4-component vector of int)
0:64 Convert int to float (temp 4-component vector of float) 0:64 'iv' (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 add second child into first child (temp 4-component vector of int)
0:66 'iv' (temp 4-component vector of int) 0:66 'iv' (temp 4-component vector of int)
0:66 textureFetch (global 4-component vector of int) 0:66 textureFetch (global 4-component vector of int)

View File

@ -7,7 +7,7 @@ Linked fragment stage:
// Module Version 99 // Module Version 99
// Generated by (magic number): 51a00bb // Generated by (magic number): 51a00bb
// Id's are bound by 255 // Id's are bound by 265
Source GLSL 430 Source GLSL 430
Capability Shader Capability Shader
@ -28,22 +28,23 @@ Linked fragment stage:
Name 67 "ic3D" Name 67 "ic3D"
Name 70 "ic1D" Name 70 "ic1D"
Name 77 "ic2D" Name 77 "ic2D"
Name 102 "sCube" Name 86 "sr"
Name 113 "s2DArrayShadow" Name 112 "sCube"
Name 141 "iv" Name 123 "s2DArrayShadow"
Name 145 "is2D" Name 151 "iv"
Name 180 "is3D" Name 155 "is2D"
Name 192 "isCube" Name 190 "is3D"
Name 204 "is2DArray" Name 202 "isCube"
Name 214 "iv2" Name 214 "is2DArray"
Name 218 "sCubeShadow" Name 224 "iv2"
Name 223 "FragData" Name 228 "sCubeShadow"
Name 235 "is2Dms" Name 233 "FragData"
Name 240 "us2D" Name 245 "is2Dms"
Name 244 "us3D" Name 250 "us2D"
Name 248 "usCube" Name 254 "us3D"
Name 252 "us2DArray" Name 258 "usCube"
Name 254 "ic4D" Name 262 "us2DArray"
Name 264 "ic4D"
Decorate 17(c2D) Smooth Decorate 17(c2D) Smooth
Decorate 26(c4D) Smooth Decorate 26(c4D) Smooth
Decorate 38(c3D) Smooth Decorate 38(c3D) Smooth
@ -51,13 +52,13 @@ Linked fragment stage:
Decorate 67(ic3D) Flat Decorate 67(ic3D) Flat
Decorate 70(ic1D) Flat Decorate 70(ic1D) Flat
Decorate 77(ic2D) Flat Decorate 77(ic2D) Flat
Decorate 235(is2Dms) NoStaticUse Decorate 245(is2Dms) NoStaticUse
Decorate 240(us2D) NoStaticUse Decorate 250(us2D) NoStaticUse
Decorate 244(us3D) NoStaticUse Decorate 254(us3D) NoStaticUse
Decorate 248(usCube) NoStaticUse Decorate 258(usCube) NoStaticUse
Decorate 252(us2DArray) NoStaticUse Decorate 262(us2DArray) NoStaticUse
Decorate 254(ic4D) Flat Decorate 264(ic4D) Flat
Decorate 254(ic4D) NoStaticUse Decorate 264(ic4D) NoStaticUse
2: TypeVoid 2: TypeVoid
3: TypeFunction 2 3: TypeFunction 2
6: TypeFloat 32 6: TypeFloat 32
@ -102,70 +103,75 @@ Linked fragment stage:
76: TypePointer Input 51(ivec2) 76: TypePointer Input 51(ivec2)
77(ic2D): 76(ptr) Variable Input 77(ic2D): 76(ptr) Variable Input
79: 50(int) Constant 4 79: 50(int) Constant 4
99: TypeImage 6(float) Cube sampled format:Unknown 83: TypeImage 6(float) Rect sampled format:Unknown
100: TypeSampledImage 99 84: TypeSampledImage 83
101: TypePointer UniformConstant 100 85: TypePointer UniformConstant 84
102(sCube): 101(ptr) Variable UniformConstant 86(sr): 85(ptr) Variable UniformConstant
110: TypeImage 6(float) 2D depth array sampled format:Unknown 89: 51(ivec2) ConstantComposite 79 79
111: TypeSampledImage 110 109: TypeImage 6(float) Cube sampled format:Unknown
112: TypePointer UniformConstant 111 110: TypeSampledImage 109
113(s2DArrayShadow): 112(ptr) Variable UniformConstant 111: TypePointer UniformConstant 110
139: TypeVector 50(int) 4 112(sCube): 111(ptr) Variable UniformConstant
140: TypePointer Function 139(ivec4) 120: TypeImage 6(float) 2D depth array sampled format:Unknown
142: TypeImage 50(int) 2D sampled format:Unknown 121: TypeSampledImage 120
143: TypeSampledImage 142 122: TypePointer UniformConstant 121
144: TypePointer UniformConstant 143 123(s2DArrayShadow): 122(ptr) Variable UniformConstant
145(is2D): 144(ptr) Variable UniformConstant 149: TypeVector 50(int) 4
177: TypeImage 50(int) 3D sampled format:Unknown 150: TypePointer Function 149(ivec4)
178: TypeSampledImage 177 152: TypeImage 50(int) 2D sampled format:Unknown
179: TypePointer UniformConstant 178 153: TypeSampledImage 152
180(is3D): 179(ptr) Variable UniformConstant 154: TypePointer UniformConstant 153
183: 6(float) Constant 1082549862 155(is2D): 154(ptr) Variable UniformConstant
189: TypeImage 50(int) Cube sampled format:Unknown 187: TypeImage 50(int) 3D sampled format:Unknown
190: TypeSampledImage 189 188: TypeSampledImage 187
191: TypePointer UniformConstant 190 189: TypePointer UniformConstant 188
192(isCube): 191(ptr) Variable UniformConstant 190(is3D): 189(ptr) Variable UniformConstant
201: TypeImage 50(int) 2D array sampled format:Unknown 193: 6(float) Constant 1082549862
202: TypeSampledImage 201 199: TypeImage 50(int) Cube sampled format:Unknown
203: TypePointer UniformConstant 202 200: TypeSampledImage 199
204(is2DArray): 203(ptr) Variable UniformConstant 201: TypePointer UniformConstant 200
213: TypePointer Function 51(ivec2) 202(isCube): 201(ptr) Variable UniformConstant
215: TypeImage 6(float) Cube depth sampled format:Unknown 211: TypeImage 50(int) 2D array sampled format:Unknown
216: TypeSampledImage 215 212: TypeSampledImage 211
217: TypePointer UniformConstant 216 213: TypePointer UniformConstant 212
218(sCubeShadow): 217(ptr) Variable UniformConstant 214(is2DArray): 213(ptr) Variable UniformConstant
220: 50(int) Constant 2 223: TypePointer Function 51(ivec2)
222: TypePointer Output 7(fvec4) 225: TypeImage 6(float) Cube depth sampled format:Unknown
223(FragData): 222(ptr) Variable Output 226: TypeSampledImage 225
227: 6(float) Constant 0 227: TypePointer UniformConstant 226
232: TypeImage 50(int) 2D multi-sampled sampled format:Unknown 228(sCubeShadow): 227(ptr) Variable UniformConstant
233: TypeSampledImage 232 230: 50(int) Constant 2
234: TypePointer UniformConstant 233 232: TypePointer Output 7(fvec4)
235(is2Dms): 234(ptr) Variable UniformConstant 233(FragData): 232(ptr) Variable Output
236: TypeInt 32 0 237: 6(float) Constant 0
237: TypeImage 236(int) 2D sampled format:Unknown 242: TypeImage 50(int) 2D multi-sampled sampled format:Unknown
238: TypeSampledImage 237 243: TypeSampledImage 242
239: TypePointer UniformConstant 238 244: TypePointer UniformConstant 243
240(us2D): 239(ptr) Variable UniformConstant 245(is2Dms): 244(ptr) Variable UniformConstant
241: TypeImage 236(int) 3D sampled format:Unknown 246: TypeInt 32 0
242: TypeSampledImage 241 247: TypeImage 246(int) 2D sampled format:Unknown
243: TypePointer UniformConstant 242 248: TypeSampledImage 247
244(us3D): 243(ptr) Variable UniformConstant 249: TypePointer UniformConstant 248
245: TypeImage 236(int) Cube sampled format:Unknown 250(us2D): 249(ptr) Variable UniformConstant
246: TypeSampledImage 245 251: TypeImage 246(int) 3D sampled format:Unknown
247: TypePointer UniformConstant 246 252: TypeSampledImage 251
248(usCube): 247(ptr) Variable UniformConstant 253: TypePointer UniformConstant 252
249: TypeImage 236(int) 2D array sampled format:Unknown 254(us3D): 253(ptr) Variable UniformConstant
250: TypeSampledImage 249 255: TypeImage 246(int) Cube sampled format:Unknown
251: TypePointer UniformConstant 250 256: TypeSampledImage 255
252(us2DArray): 251(ptr) Variable UniformConstant 257: TypePointer UniformConstant 256
253: TypePointer Input 139(ivec4) 258(usCube): 257(ptr) Variable UniformConstant
254(ic4D): 253(ptr) Variable Input 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 4(main): 2 Function None 3
5: Label 5: Label
9(v): 8(ptr) Variable Function 9(v): 8(ptr) Variable Function
141(iv): 140(ptr) Variable Function 151(iv): 150(ptr) Variable Function
214(iv2): 213(ptr) Variable Function 224(iv2): 223(ptr) Variable Function
14: 11 Load 13(s2D) 14: 11 Load 13(s2D)
18: 15(fvec2) Load 17(c2D) 18: 15(fvec2) Load 17(c2D)
19: 7(fvec4) ImageSampleImplicitLod 14 18 19: 7(fvec4) ImageSampleImplicitLod 14 18
@ -206,138 +212,144 @@ Linked fragment stage:
81: 7(fvec4) Load 9(v) 81: 7(fvec4) Load 9(v)
82: 7(fvec4) FAdd 81 80 82: 7(fvec4) FAdd 81 80
Store 9(v) 82 Store 9(v) 82
83: 45 Load 47(s2DShadow) 87: 84 Load 86(sr)
84: 36(fvec3) Load 38(c3D) 88: 51(ivec2) Load 77(ic2D)
85: 6(float) Load 55(c1D) 90: 7(fvec4) ImageFetch 87 88 89
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
91: 7(fvec4) Load 9(v) 91: 7(fvec4) Load 9(v)
92: 7(fvec4) CompositeInsert 90 91 1 92: 7(fvec4) FAdd 91 90
Store 9(v) 92 Store 9(v) 92
93: 11 Load 13(s2D) 93: 45 Load 47(s2DShadow)
94: 36(fvec3) Load 38(c3D) 94: 36(fvec3) Load 38(c3D)
95: 6(float) Load 55(c1D) 95: 6(float) Load 55(c1D)
96: 7(fvec4) ImageSampleProjExplicitLod 93 94 95 53 96: 6(float) CompositeExtract 94 2
97: 7(fvec4) Load 9(v) 97: 6(float) ImageSampleDrefExplicitLod 93 94 96 95 53
98: 7(fvec4) FAdd 97 96 98: 7(fvec4) Load 9(v)
Store 9(v) 98 99: 6(float) CompositeExtract 98 1
103: 100 Load 102(sCube) 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) 104: 36(fvec3) Load 38(c3D)
105: 36(fvec3) Load 38(c3D) 105: 6(float) Load 55(c1D)
106: 36(fvec3) Load 38(c3D) 106: 7(fvec4) ImageSampleProjExplicitLod 103 104 105 53
107: 7(fvec4) ImageSampleExplicitLod 103 104 105 106 107: 7(fvec4) Load 9(v)
108: 7(fvec4) Load 9(v) 108: 7(fvec4) FAdd 107 106
109: 7(fvec4) FAdd 108 107 Store 9(v) 108
Store 9(v) 109 113: 110 Load 112(sCube)
114: 111 Load 113(s2DArrayShadow) 114: 36(fvec3) Load 38(c3D)
115: 7(fvec4) Load 26(c4D) 115: 36(fvec3) Load 38(c3D)
116: 15(fvec2) Load 17(c2D) 116: 36(fvec3) Load 38(c3D)
117: 15(fvec2) Load 17(c2D) 117: 7(fvec4) ImageSampleExplicitLod 113 114 115 116
118: 6(float) CompositeExtract 115 3 118: 7(fvec4) Load 9(v)
119: 6(float) ImageSampleDrefExplicitLod 114 115 118 116 117 53 119: 7(fvec4) FAdd 118 117
120: 7(fvec4) Load 9(v) Store 9(v) 119
121: 6(float) CompositeExtract 120 0 124: 121 Load 123(s2DArrayShadow)
122: 6(float) FAdd 121 119 125: 7(fvec4) Load 26(c4D)
123: 7(fvec4) Load 9(v) 126: 15(fvec2) Load 17(c2D)
124: 7(fvec4) CompositeInsert 122 123 0 127: 15(fvec2) Load 17(c2D)
Store 9(v) 124 128: 6(float) CompositeExtract 125 3
125: 21 Load 23(s3D) 129: 6(float) ImageSampleDrefExplicitLod 124 125 128 126 127 53
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
130: 7(fvec4) Load 9(v) 130: 7(fvec4) Load 9(v)
131: 7(fvec4) FAdd 130 129 131: 6(float) CompositeExtract 130 0
Store 9(v) 131 132: 6(float) FAdd 131 129
132: 11 Load 13(s2D) 133: 7(fvec4) Load 9(v)
133: 36(fvec3) Load 38(c3D) 134: 7(fvec4) CompositeInsert 132 133 0
134: 15(fvec2) Load 17(c2D) Store 9(v) 134
135: 15(fvec2) Load 17(c2D) 135: 21 Load 23(s3D)
136: 7(fvec4) ImageSampleProjExplicitLod 132 133 134 135 53 136: 7(fvec4) Load 26(c4D)
137: 7(fvec4) Load 9(v) 137: 36(fvec3) Load 38(c3D)
138: 7(fvec4) FAdd 137 136 138: 36(fvec3) Load 38(c3D)
Store 9(v) 138 139: 7(fvec4) ImageSampleProjExplicitLod 135 136 137 138
146: 143 Load 145(is2D) 140: 7(fvec4) Load 9(v)
147: 15(fvec2) Load 17(c2D) 141: 7(fvec4) FAdd 140 139
148: 139(ivec4) ImageSampleImplicitLod 146 147 Store 9(v) 141
Store 141(iv) 148 142: 11 Load 13(s2D)
149: 139(ivec4) Load 141(iv) 143: 36(fvec3) Load 38(c3D)
150: 7(fvec4) ConvertSToF 149 144: 15(fvec2) Load 17(c2D)
151: 7(fvec4) Load 9(v) 145: 15(fvec2) Load 17(c2D)
152: 7(fvec4) FAdd 151 150 146: 7(fvec4) ImageSampleProjExplicitLod 142 143 144 145 53
Store 9(v) 152 147: 7(fvec4) Load 9(v)
153: 143 Load 145(is2D) 148: 7(fvec4) FAdd 147 146
154: 7(fvec4) Load 26(c4D) Store 9(v) 148
155: 139(ivec4) ImageSampleProjImplicitLod 153 154 53 156: 153 Load 155(is2D)
Store 141(iv) 155 157: 15(fvec2) Load 17(c2D)
156: 139(ivec4) Load 141(iv) 158: 149(ivec4) ImageSampleImplicitLod 156 157
157: 7(fvec4) ConvertSToF 156 Store 151(iv) 158
158: 7(fvec4) Load 9(v) 159: 149(ivec4) Load 151(iv)
159: 7(fvec4) FAdd 158 157 160: 7(fvec4) ConvertSToF 159
Store 9(v) 159 161: 7(fvec4) Load 9(v)
160: 143 Load 145(is2D) 162: 7(fvec4) FAdd 161 160
161: 36(fvec3) Load 38(c3D) Store 9(v) 162
162: 6(float) Load 55(c1D) 163: 153 Load 155(is2D)
163: 139(ivec4) ImageSampleProjExplicitLod 160 161 162 164: 7(fvec4) Load 26(c4D)
Store 141(iv) 163 165: 149(ivec4) ImageSampleProjImplicitLod 163 164 53
164: 139(ivec4) Load 141(iv) Store 151(iv) 165
165: 7(fvec4) ConvertSToF 164 166: 149(ivec4) Load 151(iv)
166: 7(fvec4) Load 9(v) 167: 7(fvec4) ConvertSToF 166
167: 7(fvec4) FAdd 166 165 168: 7(fvec4) Load 9(v)
Store 9(v) 167 169: 7(fvec4) FAdd 168 167
168: 143 Load 145(is2D) Store 9(v) 169
169: 36(fvec3) Load 38(c3D) 170: 153 Load 155(is2D)
170: 15(fvec2) Load 17(c2D) 171: 36(fvec3) Load 38(c3D)
171: 15(fvec2) Load 17(c2D) 172: 6(float) Load 55(c1D)
172: 139(ivec4) ImageSampleProjExplicitLod 168 169 170 171 173: 149(ivec4) ImageSampleProjExplicitLod 170 171 172
Store 141(iv) 172 Store 151(iv) 173
173: 139(ivec4) Load 141(iv) 174: 149(ivec4) Load 151(iv)
174: 7(fvec4) ConvertSToF 173 175: 7(fvec4) ConvertSToF 174
175: 7(fvec4) Load 9(v) 176: 7(fvec4) Load 9(v)
176: 7(fvec4) FAdd 175 174 177: 7(fvec4) FAdd 176 175
Store 9(v) 176 Store 9(v) 177
181: 178 Load 180(is3D) 178: 153 Load 155(is2D)
182: 36(fvec3) Load 38(c3D) 179: 36(fvec3) Load 38(c3D)
184: 139(ivec4) ImageSampleImplicitLod 181 182 183 180: 15(fvec2) Load 17(c2D)
Store 141(iv) 184 181: 15(fvec2) Load 17(c2D)
185: 139(ivec4) Load 141(iv) 182: 149(ivec4) ImageSampleProjExplicitLod 178 179 180 181
186: 7(fvec4) ConvertSToF 185 Store 151(iv) 182
187: 7(fvec4) Load 9(v) 183: 149(ivec4) Load 151(iv)
188: 7(fvec4) FAdd 187 186 184: 7(fvec4) ConvertSToF 183
Store 9(v) 188 185: 7(fvec4) Load 9(v)
193: 190 Load 192(isCube) 186: 7(fvec4) FAdd 185 184
194: 36(fvec3) Load 38(c3D) Store 9(v) 186
195: 6(float) Load 55(c1D) 191: 188 Load 190(is3D)
196: 139(ivec4) ImageSampleExplicitLod 193 194 195 192: 36(fvec3) Load 38(c3D)
Store 141(iv) 196 194: 149(ivec4) ImageSampleImplicitLod 191 192 193
197: 139(ivec4) Load 141(iv) Store 151(iv) 194
198: 7(fvec4) ConvertSToF 197 195: 149(ivec4) Load 151(iv)
199: 7(fvec4) Load 9(v) 196: 7(fvec4) ConvertSToF 195
200: 7(fvec4) FAdd 199 198 197: 7(fvec4) Load 9(v)
Store 9(v) 200 198: 7(fvec4) FAdd 197 196
205: 202 Load 204(is2DArray) Store 9(v) 198
206: 65(ivec3) Load 67(ic3D) 203: 200 Load 202(isCube)
207: 50(int) Load 70(ic1D) 204: 36(fvec3) Load 38(c3D)
208: 139(ivec4) ImageFetch 205 206 207 205: 6(float) Load 55(c1D)
Store 141(iv) 208 206: 149(ivec4) ImageSampleExplicitLod 203 204 205
209: 139(ivec4) Load 141(iv) Store 151(iv) 206
210: 7(fvec4) ConvertSToF 209 207: 149(ivec4) Load 151(iv)
211: 7(fvec4) Load 9(v) 208: 7(fvec4) ConvertSToF 207
212: 7(fvec4) FAdd 211 210 209: 7(fvec4) Load 9(v)
Store 9(v) 212 210: 7(fvec4) FAdd 209 208
219: 216 Load 218(sCubeShadow) Store 9(v) 210
221: 51(ivec2) ImageQuerySizeLod 219 220 215: 212 Load 214(is2DArray)
Store 214(iv2) 221 216: 65(ivec3) Load 67(ic3D)
224: 7(fvec4) Load 9(v) 217: 50(int) Load 70(ic1D)
225: 51(ivec2) Load 214(iv2) 218: 149(ivec4) ImageFetch 215 216 217
226: 15(fvec2) ConvertSToF 225 Store 151(iv) 218
228: 6(float) CompositeExtract 226 0 219: 149(ivec4) Load 151(iv)
229: 6(float) CompositeExtract 226 1 220: 7(fvec4) ConvertSToF 219
230: 7(fvec4) CompositeConstruct 228 229 227 227 221: 7(fvec4) Load 9(v)
231: 7(fvec4) FAdd 224 230 222: 7(fvec4) FAdd 221 220
Store 223(FragData) 231 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 Return
FunctionEnd FunctionEnd

View File

@ -41,6 +41,7 @@ void main()
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D); v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
v += texelFetch(s3D, ic3D, ic1D); v += texelFetch(s3D, ic3D, ic1D);
v += texelFetchOffset(s2D, ic2D, 4, ivec2(3)); v += texelFetchOffset(s2D, ic2D, 4, ivec2(3));
v += texelFetchOffset(sr, ic2D, ivec2(4));
v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3)); v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3));
v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3)); v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3));
v += textureGrad(sCube, c3D, c3D, c3D); v += textureGrad(sCube, c3D, c3D, c3D);
@ -62,7 +63,6 @@ void main()
v += vec4(iv); v += vec4(iv);
iv = texelFetch(is2DArray, ic3D, ic1D); iv = texelFetch(is2DArray, ic3D, ic1D);
v += vec4(iv); v += vec4(iv);
iv += texelFetch(is2Dms, ic2D, ic1D); iv += texelFetch(is2Dms, ic2D, ic1D);
v += vec4(iv); v += vec4(iv);
v += texelFetch(sb, ic1D); v += texelFetch(sb, ic1D);

View File

@ -1,6 +1,7 @@
#version 430 #version 430
uniform sampler2D s2D; uniform sampler2D s2D;
uniform sampler2DRect sr;
uniform sampler3D s3D; uniform sampler3D s3D;
uniform samplerCube sCube; uniform samplerCube sCube;
uniform samplerCubeShadow sCubeShadow; uniform samplerCubeShadow sCubeShadow;
@ -39,6 +40,7 @@ void main()
v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D); v.y += textureOffset(s2DShadow, c3D, ivec2(3), c1D);
v += texelFetch(s3D, ic3D, ic1D); v += texelFetch(s3D, ic3D, ic1D);
v += texelFetchOffset(s2D, ic2D, 4, ivec2(3)); v += texelFetchOffset(s2D, ic2D, 4, ivec2(3));
v += texelFetchOffset(sr, ic2D, ivec2(4));
v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3)); v.y += textureLodOffset(s2DShadow, c3D, c1D, ivec2(3));
v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3)); v += textureProjLodOffset(s2D, c3D, c1D, ivec2(3));
v += textureGrad(sCube, c3D, c3D, c3D); v += textureGrad(sCube, c3D, c3D, c3D);

View File

@ -1431,7 +1431,7 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
int arg = -1; int arg = -1;
switch (callNode.getOp()) { switch (callNode.getOp()) {
case EOpTextureOffset: arg = 2; break; 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 EOpTextureProjOffset: arg = 2; break;
case EOpTextureLodOffset: arg = 3; break; case EOpTextureLodOffset: arg = 3; break;
case EOpTextureProjLodOffset: arg = 3; break; case EOpTextureProjLodOffset: arg = 3; break;