mirror of
https://github.com/bkaradzic/bgfx.git
synced 2026-02-17 20:52:36 +01:00
Updated glslang.
This commit is contained in:
16
3rdparty/glslang/.travis.yml
vendored
Normal file → Executable file
16
3rdparty/glslang/.travis.yml
vendored
Normal file → Executable file
@@ -48,12 +48,16 @@ install:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$CC" == "clang" ]]; then
|
||||
export CC=clang-3.6 CXX=clang++-3.6;
|
||||
fi
|
||||
# Download Android NDK and Android CMake toolchain file.
|
||||
# Download a recent Android NDK and use its android.toolchain.cmake file.
|
||||
- if [[ "$BUILD_NDK" == "ON" ]]; then
|
||||
git clone --depth=1 https://github.com/urho3d/android-ndk.git $HOME/android-ndk;
|
||||
export ANDROID_NDK=$HOME/android-ndk;
|
||||
git clone --depth=1 https://github.com/taka-no-me/android-cmake.git $HOME/android-cmake;
|
||||
export TOOLCHAIN_PATH=$HOME/android-cmake/android.toolchain.cmake;
|
||||
git init $ANDROID_NDK;
|
||||
pushd $ANDROID_NDK;
|
||||
git remote add dneto0 https://github.com/dneto0/android-ndk.git;
|
||||
git fetch --depth=1 dneto0 r17b-strip;
|
||||
git checkout FETCH_HEAD;
|
||||
popd;
|
||||
export TOOLCHAIN_PATH=$ANDROID_NDK/build/cmake/android.toolchain.cmake;
|
||||
fi
|
||||
|
||||
before_script:
|
||||
@@ -63,10 +67,12 @@ before_script:
|
||||
script:
|
||||
- mkdir build && cd build
|
||||
# For Android, do release building using NDK without testing.
|
||||
# Use android-14, the oldest native API level supporeted by NDK r17b.
|
||||
# We can use newer API levels if we want.
|
||||
# For Linux and macOS, do debug/release building with testing.
|
||||
- if [[ "$BUILD_NDK" == "ON" ]]; then
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_PATH}
|
||||
-DANDROID_NATIVE_API_LEVEL=android-12
|
||||
-DANDROID_NATIVE_API_LEVEL=android-14
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
-DANDROID_ABI="armeabi-v7a with NEON"
|
||||
-DBUILD_TESTING=OFF ..;
|
||||
|
||||
13
3rdparty/glslang/StandAlone/StandAlone.cpp
vendored
13
3rdparty/glslang/StandAlone/StandAlone.cpp
vendored
@@ -737,17 +737,18 @@ void CompileShaders(glslang::TWorklist& worklist)
|
||||
|
||||
glslang::TWorkItem* workItem;
|
||||
if (Options & EOptionStdin) {
|
||||
worklist.remove(workItem);
|
||||
ShHandle compiler = ShConstructCompiler(FindLanguage("stdin"), Options);
|
||||
if (compiler == 0)
|
||||
return;
|
||||
if (worklist.remove(workItem)) {
|
||||
ShHandle compiler = ShConstructCompiler(FindLanguage("stdin"), Options);
|
||||
if (compiler == nullptr)
|
||||
return;
|
||||
|
||||
CompileFile("stdin", compiler);
|
||||
CompileFile("stdin", compiler);
|
||||
|
||||
if (! (Options & EOptionSuppressInfolog))
|
||||
workItem->results = ShGetInfoLog(compiler);
|
||||
|
||||
ShDestruct(compiler);
|
||||
ShDestruct(compiler);
|
||||
}
|
||||
} else {
|
||||
while (worklist.remove(workItem)) {
|
||||
ShHandle compiler = ShConstructCompiler(FindLanguage(workItem->name), Options);
|
||||
|
||||
@@ -52,7 +52,7 @@ ERROR: 0:209: 'assign' : cannot convert from ' const float' to ' temp 4-compone
|
||||
ERROR: 0:212: 'sampler2DRect' : Reserved word.
|
||||
ERROR: 0:244: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' global void' and a right operand of type ' const int' (or there is no acceptable conversion)
|
||||
ERROR: 0:245: ':' : wrong operand types: no operation ':' exists that takes a left-hand operand of type ' const int' and a right operand of type ' global void' (or there is no acceptable conversion)
|
||||
ERROR: 0:248: 'explicit types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:248: 'half floating-point suffix' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
hlsl.automap.frag
|
||||
Uniform reflection:
|
||||
t1: offset -1, type 8b5d, size 1, index -1, binding 11
|
||||
t2: offset -1, type 8b5e, size 1, index -1, binding 12
|
||||
t3: offset -1, type 8b5f, size 1, index -1, binding 13
|
||||
t4.@data: offset 0, type 8b52, size 1, index 0, binding -1
|
||||
t5.@data: offset 0, type 1405, size 0, index 1, binding -1
|
||||
t6: offset -1, type 8dc2, size 1, index -1, binding 16
|
||||
s1: offset -1, type 0, size 1, index -1, binding 31
|
||||
s2: offset -1, type 0, size 1, index -1, binding 32
|
||||
u1: offset -1, type 904c, size 1, index -1, binding 41
|
||||
u2: offset -1, type 904d, size 1, index -1, binding 42
|
||||
u3: offset -1, type 904e, size 1, index -1, binding 43
|
||||
u4: offset -1, type 9051, size 1, index -1, binding 44
|
||||
u5.@data: offset 0, type 1405, size 0, index 2, binding -1
|
||||
u6.@data: offset 0, type 1406, size 1, index 3, binding -1
|
||||
cb1: offset 0, type 1404, size 1, index 4, binding -1
|
||||
tb1: offset 0, type 1404, size 1, index 5, binding -1
|
||||
t1: offset -1, type 8b5d, size 1, index -1, binding 11, stages 16
|
||||
t2: offset -1, type 8b5e, size 1, index -1, binding 12, stages 16
|
||||
t3: offset -1, type 8b5f, size 1, index -1, binding 13, stages 16
|
||||
t4.@data: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
|
||||
t5.@data: offset 0, type 1405, size 0, index 1, binding -1, stages 16
|
||||
t6: offset -1, type 8dc2, size 1, index -1, binding 16, stages 16
|
||||
s1: offset -1, type 0, size 1, index -1, binding 31, stages 16
|
||||
s2: offset -1, type 0, size 1, index -1, binding 32, stages 16
|
||||
u1: offset -1, type 904c, size 1, index -1, binding 41, stages 16
|
||||
u2: offset -1, type 904d, size 1, index -1, binding 42, stages 16
|
||||
u3: offset -1, type 904e, size 1, index -1, binding 43, stages 16
|
||||
u4: offset -1, type 9051, size 1, index -1, binding 44, stages 16
|
||||
u5.@data: offset 0, type 1405, size 0, index 2, binding -1, stages 16
|
||||
u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16
|
||||
cb1: offset 0, type 1404, size 1, index 4, binding -1, stages 16
|
||||
tb1: offset 0, type 1404, size 1, index 5, binding -1, stages 16
|
||||
|
||||
Uniform block reflection:
|
||||
t4: offset -1, type ffffffff, size 0, index -1, binding 14
|
||||
t5: offset -1, type ffffffff, size 0, index -1, binding 15
|
||||
u5: offset -1, type ffffffff, size 0, index -1, binding 45
|
||||
u6: offset -1, type ffffffff, size 0, index -1, binding 46
|
||||
cb: offset -1, type ffffffff, size 4, index -1, binding 51
|
||||
tb: offset -1, type ffffffff, size 4, index -1, binding 17
|
||||
t4: offset -1, type ffffffff, size 0, index -1, binding 14, stages 0
|
||||
t5: offset -1, type ffffffff, size 0, index -1, binding 15, stages 0
|
||||
u5: offset -1, type ffffffff, size 0, index -1, binding 45, stages 0
|
||||
u6: offset -1, type ffffffff, size 0, index -1, binding 46, stages 0
|
||||
cb: offset -1, type ffffffff, size 4, index -1, binding 51, stages 0
|
||||
tb: offset -1, type ffffffff, size 4, index -1, binding 17, stages 0
|
||||
|
||||
Vertex attribute reflection:
|
||||
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
hlsl.reflection.binding.frag
|
||||
Uniform reflection:
|
||||
t1: offset -1, type 8b5d, size 1, index -1, binding 15
|
||||
s1: offset -1, type 0, size 1, index -1, binding 5
|
||||
t1a: offset -1, type 8b5d, size 1, index -1, binding 16
|
||||
s1a: offset -1, type 0, size 1, index -1, binding 6
|
||||
c1_a: offset 0, type 8b52, size 1, index 0, binding -1
|
||||
c1_b: offset 16, type 1404, size 1, index 0, binding -1
|
||||
c1_c: offset 20, type 1406, size 1, index 0, binding -1
|
||||
c2_a: offset 0, type 8b52, size 1, index 1, binding -1
|
||||
c2_b: offset 16, type 1404, size 1, index 1, binding -1
|
||||
c2_c: offset 20, type 1406, size 1, index 1, binding -1
|
||||
t1: offset -1, type 8b5d, size 1, index -1, binding 15, stages 16
|
||||
s1: offset -1, type 0, size 1, index -1, binding 5, stages 16
|
||||
t1a: offset -1, type 8b5d, size 1, index -1, binding 16, stages 16
|
||||
s1a: offset -1, type 0, size 1, index -1, binding 6, stages 16
|
||||
c1_a: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
|
||||
c1_b: offset 16, type 1404, size 1, index 0, binding -1, stages 16
|
||||
c1_c: offset 20, type 1406, size 1, index 0, binding -1, stages 16
|
||||
c2_a: offset 0, type 8b52, size 1, index 1, binding -1, stages 16
|
||||
c2_b: offset 16, type 1404, size 1, index 1, binding -1, stages 16
|
||||
c2_c: offset 20, type 1406, size 1, index 1, binding -1, stages 16
|
||||
|
||||
Uniform block reflection:
|
||||
cbuff1: offset -1, type ffffffff, size 24, index -1, binding 2
|
||||
cbuff2: offset -1, type ffffffff, size 24, index -1, binding 3
|
||||
cbuff1: offset -1, type ffffffff, size 24, index -1, binding 2, stages 0
|
||||
cbuff2: offset -1, type ffffffff, size 24, index -1, binding 3, stages 0
|
||||
|
||||
Vertex attribute reflection:
|
||||
|
||||
|
||||
@@ -1,76 +1,76 @@
|
||||
hlsl.reflection.vert
|
||||
Uniform reflection:
|
||||
anonMember3: offset 80, type 8b52, size 1, index 0, binding -1
|
||||
s.a: offset 0, type 1404, size 1, index 1, binding -1
|
||||
m23: offset 16, type 8b67, size 1, index 0, binding -1
|
||||
scalarAfterm23: offset 48, type 1404, size 1, index 0, binding -1
|
||||
c_m23: offset 16, type 8b67, size 1, index 2, binding -1
|
||||
c_scalarAfterm23: offset 48, type 1404, size 1, index 2, binding -1
|
||||
scalarBeforeArray: offset 96, type 1404, size 1, index 0, binding -1
|
||||
floatArray: offset 112, type 1406, size 5, index 0, binding -1
|
||||
scalarAfterArray: offset 192, type 1404, size 1, index 0, binding -1
|
||||
m22: offset 208, type 8b5a, size 9, index 0, binding -1
|
||||
dm22: offset 32, type 8b5a, size 4, index 1, binding -1
|
||||
foo.n1.a: offset 0, type 1406, size 1, index 3, binding -1
|
||||
foo.n2.b: offset 16, type 1406, size 1, index 3, binding -1
|
||||
foo.n2.c: offset 20, type 1406, size 1, index 3, binding -1
|
||||
foo.n2.d: offset 24, type 1406, size 1, index 3, binding -1
|
||||
deepA.d2.d1[2].va: offset 376, type 8b50, size 2, index 1, binding -1
|
||||
deepB.d2.d1.va: offset 984, type 8b50, size 2, index 1, binding -1
|
||||
deepB.d2.d1[0].va: offset 984, type 8b50, size 2, index 1, binding -1
|
||||
deepB.d2.d1[1].va: offset 984, type 8b50, size 2, index 1, binding -1
|
||||
deepB.d2.d1[2].va: offset 984, type 8b50, size 2, index 1, binding -1
|
||||
deepB.d2.d1[3].va: offset 984, type 8b50, size 2, index 1, binding -1
|
||||
deepC.iv4: offset 1568, type 8b52, size 1, index 1, binding -1
|
||||
deepC.d2.i: offset 1568, type 1404, size 1, index 1, binding -1
|
||||
deepC.d2.d1[0].va: offset 1568, type 8b50, size 3, index 1, binding -1
|
||||
deepC.d2.d1[0].b: offset 1568, type 8b56, size 1, index 1, binding -1
|
||||
deepC.d2.d1[1].va: offset 1568, type 8b50, size 3, index 1, binding -1
|
||||
deepC.d2.d1[1].b: offset 1568, type 8b56, size 1, index 1, binding -1
|
||||
deepC.d2.d1[2].va: offset 1568, type 8b50, size 3, index 1, binding -1
|
||||
deepC.d2.d1[2].b: offset 1568, type 8b56, size 1, index 1, binding -1
|
||||
deepC.d2.d1[3].va: offset 1568, type 8b50, size 3, index 1, binding -1
|
||||
deepC.d2.d1[3].b: offset 1568, type 8b56, size 1, index 1, binding -1
|
||||
deepC.v3: offset 1568, type 8b54, size 1, index 1, binding -1
|
||||
deepD[0].iv4: offset 2480, type 8b52, size 1, index 1, binding -1
|
||||
deepD[0].d2.i: offset 2480, type 1404, size 1, index 1, binding -1
|
||||
deepD[0].d2.d1[0].va: offset 2480, type 8b50, size 3, index 1, binding -1
|
||||
deepD[0].d2.d1[0].b: offset 2480, type 8b56, size 1, index 1, binding -1
|
||||
deepD[0].d2.d1[1].va: offset 2480, type 8b50, size 3, index 1, binding -1
|
||||
deepD[0].d2.d1[1].b: offset 2480, type 8b56, size 1, index 1, binding -1
|
||||
deepD[0].d2.d1[2].va: offset 2480, type 8b50, size 3, index 1, binding -1
|
||||
deepD[0].d2.d1[2].b: offset 2480, type 8b56, size 1, index 1, binding -1
|
||||
deepD[0].d2.d1[3].va: offset 2480, type 8b50, size 3, index 1, binding -1
|
||||
deepD[0].d2.d1[3].b: offset 2480, type 8b56, size 1, index 1, binding -1
|
||||
deepD[0].v3: offset 2480, type 8b54, size 1, index 1, binding -1
|
||||
deepD[1].iv4: offset 2480, type 8b52, size 1, index 1, binding -1
|
||||
deepD[1].d2.i: offset 2480, type 1404, size 1, index 1, binding -1
|
||||
deepD[1].d2.d1[0].va: offset 2480, type 8b50, size 3, index 1, binding -1
|
||||
deepD[1].d2.d1[0].b: offset 2480, type 8b56, size 1, index 1, binding -1
|
||||
deepD[1].d2.d1[1].va: offset 2480, type 8b50, size 3, index 1, binding -1
|
||||
deepD[1].d2.d1[1].b: offset 2480, type 8b56, size 1, index 1, binding -1
|
||||
deepD[1].d2.d1[2].va: offset 2480, type 8b50, size 3, index 1, binding -1
|
||||
deepD[1].d2.d1[2].b: offset 2480, type 8b56, size 1, index 1, binding -1
|
||||
deepD[1].d2.d1[3].va: offset 2480, type 8b50, size 3, index 1, binding -1
|
||||
deepD[1].d2.d1[3].b: offset 2480, type 8b56, size 1, index 1, binding -1
|
||||
deepD[1].v3: offset 2480, type 8b54, size 1, index 1, binding -1
|
||||
foo1: offset 0, type 1406, size 1, index 4, binding -1
|
||||
foo2: offset 0, type 1406, size 1, index 5, binding -1
|
||||
anonMember1: offset 0, type 8b51, size 1, index 0, binding -1
|
||||
uf1: offset 16, type 1406, size 1, index 1, binding -1
|
||||
anonMember3: offset 80, type 8b52, size 1, index 0, binding -1, stages 1
|
||||
s.a: offset 0, type 1404, size 1, index 1, binding -1, stages 1
|
||||
m23: offset 16, type 8b67, size 1, index 0, binding -1, stages 1
|
||||
scalarAfterm23: offset 48, type 1404, size 1, index 0, binding -1, stages 1
|
||||
c_m23: offset 16, type 8b67, size 1, index 2, binding -1, stages 1
|
||||
c_scalarAfterm23: offset 48, type 1404, size 1, index 2, binding -1, stages 1
|
||||
scalarBeforeArray: offset 96, type 1404, size 1, index 0, binding -1, stages 1
|
||||
floatArray: offset 112, type 1406, size 5, index 0, binding -1, stages 1
|
||||
scalarAfterArray: offset 192, type 1404, size 1, index 0, binding -1, stages 1
|
||||
m22: offset 208, type 8b5a, size 9, index 0, binding -1, stages 1
|
||||
dm22: offset 32, type 8b5a, size 4, index 1, binding -1, stages 1
|
||||
foo.n1.a: offset 0, type 1406, size 1, index 3, binding -1, stages 1
|
||||
foo.n2.b: offset 16, type 1406, size 1, index 3, binding -1, stages 1
|
||||
foo.n2.c: offset 20, type 1406, size 1, index 3, binding -1, stages 1
|
||||
foo.n2.d: offset 24, type 1406, size 1, index 3, binding -1, stages 1
|
||||
deepA.d2.d1[2].va: offset 376, type 8b50, size 2, index 1, binding -1, stages 1
|
||||
deepB.d2.d1.va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
|
||||
deepB.d2.d1[0].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
|
||||
deepB.d2.d1[1].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
|
||||
deepB.d2.d1[2].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
|
||||
deepB.d2.d1[3].va: offset 984, type 8b50, size 2, index 1, binding -1, stages 1
|
||||
deepC.iv4: offset 1568, type 8b52, size 1, index 1, binding -1, stages 1
|
||||
deepC.d2.i: offset 1568, type 1404, size 1, index 1, binding -1, stages 1
|
||||
deepC.d2.d1[0].va: offset 1568, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepC.d2.d1[0].b: offset 1568, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepC.d2.d1[1].va: offset 1568, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepC.d2.d1[1].b: offset 1568, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepC.d2.d1[2].va: offset 1568, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepC.d2.d1[2].b: offset 1568, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepC.d2.d1[3].va: offset 1568, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepC.d2.d1[3].b: offset 1568, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepC.v3: offset 1568, type 8b54, size 1, index 1, binding -1, stages 1
|
||||
deepD[0].iv4: offset 2480, type 8b52, size 1, index 1, binding -1, stages 1
|
||||
deepD[0].d2.i: offset 2480, type 1404, size 1, index 1, binding -1, stages 1
|
||||
deepD[0].d2.d1[0].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepD[0].d2.d1[0].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepD[0].d2.d1[1].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepD[0].d2.d1[1].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepD[0].d2.d1[2].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepD[0].d2.d1[2].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepD[0].d2.d1[3].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepD[0].d2.d1[3].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepD[0].v3: offset 2480, type 8b54, size 1, index 1, binding -1, stages 1
|
||||
deepD[1].iv4: offset 2480, type 8b52, size 1, index 1, binding -1, stages 1
|
||||
deepD[1].d2.i: offset 2480, type 1404, size 1, index 1, binding -1, stages 1
|
||||
deepD[1].d2.d1[0].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepD[1].d2.d1[0].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepD[1].d2.d1[1].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepD[1].d2.d1[1].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepD[1].d2.d1[2].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepD[1].d2.d1[2].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepD[1].d2.d1[3].va: offset 2480, type 8b50, size 3, index 1, binding -1, stages 1
|
||||
deepD[1].d2.d1[3].b: offset 2480, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
deepD[1].v3: offset 2480, type 8b54, size 1, index 1, binding -1, stages 1
|
||||
foo1: offset 0, type 1406, size 1, index 4, binding -1, stages 1
|
||||
foo2: offset 0, type 1406, size 1, index 5, binding -1, stages 1
|
||||
anonMember1: offset 0, type 8b51, size 1, index 0, binding -1, stages 1
|
||||
uf1: offset 16, type 1406, size 1, index 1, binding -1, stages 1
|
||||
|
||||
Uniform block reflection:
|
||||
nameless: offset -1, type ffffffff, size 496, index -1, binding -1
|
||||
$Global: offset -1, type ffffffff, size 3088, index -1, binding -1
|
||||
c_nameless: offset -1, type ffffffff, size 96, index -1, binding -1
|
||||
nested: offset -1, type ffffffff, size 32, index -1, binding -1
|
||||
abl: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
abl2: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
nameless: offset -1, type ffffffff, size 496, index -1, binding -1, stages 0
|
||||
$Global: offset -1, type ffffffff, size 3088, index -1, binding -1, stages 0
|
||||
c_nameless: offset -1, type ffffffff, size 96, index -1, binding -1, stages 0
|
||||
nested: offset -1, type ffffffff, size 32, index -1, binding -1, stages 0
|
||||
abl: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
abl2: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
|
||||
Vertex attribute reflection:
|
||||
attributeFloat: offset 0, type 1406, size 0, index 0, binding -1
|
||||
attributeFloat2: offset 0, type 8b50, size 0, index 0, binding -1
|
||||
attributeFloat3: offset 0, type 8b51, size 0, index 0, binding -1
|
||||
attributeFloat4: offset 0, type 8b52, size 0, index 0, binding -1
|
||||
attributeMat4: offset 0, type 8b5c, size 0, index 0, binding -1
|
||||
attributeFloat: offset 0, type 1406, size 0, index 0, binding -1, stages 0
|
||||
attributeFloat2: offset 0, type 8b50, size 0, index 0, binding -1, stages 0
|
||||
attributeFloat3: offset 0, type 8b51, size 0, index 0, binding -1, stages 0
|
||||
attributeFloat4: offset 0, type 8b52, size 0, index 0, binding -1, stages 0
|
||||
attributeMat4: offset 0, type 8b5c, size 0, index 0, binding -1, stages 0
|
||||
|
||||
|
||||
@@ -196,30 +196,30 @@ gl_FragCoord origin is upper left
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
Uniform reflection:
|
||||
t1: offset -1, type 8b5d, size 1, index -1, binding 21
|
||||
t2: offset -1, type 8b5e, size 1, index -1, binding 22
|
||||
t3: offset -1, type 8b5f, size 1, index -1, binding 26
|
||||
t4.@data: offset 0, type 8b52, size 1, index 0, binding -1
|
||||
t5.@data: offset 0, type 1405, size 0, index 1, binding -1
|
||||
t6: offset -1, type 8dc2, size 1, index -1, binding 23
|
||||
s1: offset -1, type 0, size 1, index -1, binding 11
|
||||
s2: offset -1, type 0, size 1, index -1, binding 17
|
||||
u1: offset -1, type 904c, size 1, index -1, binding 31
|
||||
u2: offset -1, type 904d, size 1, index -1, binding 42
|
||||
u3: offset -1, type 904e, size 1, index -1, binding 43
|
||||
u4: offset -1, type 9051, size 1, index -1, binding 34
|
||||
u5.@data: offset 0, type 1405, size 0, index 2, binding -1
|
||||
u6.@data: offset 0, type 1406, size 1, index 3, binding -1
|
||||
cb1: offset 0, type 1404, size 1, index 4, binding -1
|
||||
tb1: offset 0, type 1404, size 1, index 5, binding -1
|
||||
t1: offset -1, type 8b5d, size 1, index -1, binding 21, stages 16
|
||||
t2: offset -1, type 8b5e, size 1, index -1, binding 22, stages 16
|
||||
t3: offset -1, type 8b5f, size 1, index -1, binding 26, stages 16
|
||||
t4.@data: offset 0, type 8b52, size 1, index 0, binding -1, stages 16
|
||||
t5.@data: offset 0, type 1405, size 0, index 1, binding -1, stages 16
|
||||
t6: offset -1, type 8dc2, size 1, index -1, binding 23, stages 16
|
||||
s1: offset -1, type 0, size 1, index -1, binding 11, stages 16
|
||||
s2: offset -1, type 0, size 1, index -1, binding 17, stages 16
|
||||
u1: offset -1, type 904c, size 1, index -1, binding 31, stages 16
|
||||
u2: offset -1, type 904d, size 1, index -1, binding 42, stages 16
|
||||
u3: offset -1, type 904e, size 1, index -1, binding 43, stages 16
|
||||
u4: offset -1, type 9051, size 1, index -1, binding 34, stages 16
|
||||
u5.@data: offset 0, type 1405, size 0, index 2, binding -1, stages 16
|
||||
u6.@data: offset 0, type 1406, size 1, index 3, binding -1, stages 16
|
||||
cb1: offset 0, type 1404, size 1, index 4, binding -1, stages 16
|
||||
tb1: offset 0, type 1404, size 1, index 5, binding -1, stages 16
|
||||
|
||||
Uniform block reflection:
|
||||
t4: offset -1, type ffffffff, size 0, index -1, binding 21
|
||||
t5: offset -1, type ffffffff, size 0, index -1, binding 22
|
||||
u5: offset -1, type ffffffff, size 0, index -1, binding 44
|
||||
u6: offset -1, type ffffffff, size 0, index -1, binding 34
|
||||
cb: offset -1, type ffffffff, size 4, index -1, binding 51
|
||||
tb: offset -1, type ffffffff, size 4, index -1, binding 27
|
||||
t4: offset -1, type ffffffff, size 0, index -1, binding 21, stages 0
|
||||
t5: offset -1, type ffffffff, size 0, index -1, binding 22, stages 0
|
||||
u5: offset -1, type ffffffff, size 0, index -1, binding 44, stages 0
|
||||
u6: offset -1, type ffffffff, size 0, index -1, binding 34, stages 0
|
||||
cb: offset -1, type ffffffff, size 4, index -1, binding 51, stages 0
|
||||
tb: offset -1, type ffffffff, size 4, index -1, binding 27, stages 0
|
||||
|
||||
Vertex attribute reflection:
|
||||
|
||||
|
||||
218
3rdparty/glslang/Test/baseResults/hlsl.staticFuncInit.frag.out
vendored
Executable file
218
3rdparty/glslang/Test/baseResults/hlsl.staticFuncInit.frag.out
vendored
Executable file
@@ -0,0 +1,218 @@
|
||||
hlsl.staticFuncInit.frag
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:12Sequence
|
||||
0:1 Sequence
|
||||
0:1 move second child to first child ( temp float)
|
||||
0:1 'x' ( global float)
|
||||
0:1 Constant:
|
||||
0:1 1.000000
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child ( temp float)
|
||||
0:5 'x' ( global float)
|
||||
0:5 Constant:
|
||||
0:5 2.000000
|
||||
0:4 Function Definition: f1( ( temp float)
|
||||
0:4 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 add second child into first child ( temp float)
|
||||
0:6 'x' ( global float)
|
||||
0:6 Constant:
|
||||
0:6 10.000000
|
||||
0:7 Branch: Return with expression
|
||||
0:7 'x' ( global float)
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp float)
|
||||
0:12 'x' ( global float)
|
||||
0:12 Constant:
|
||||
0:12 7.000000
|
||||
0:11 Function Definition: f2(f1; ( temp float)
|
||||
0:11 Function Parameters:
|
||||
0:11 'p' ( in float)
|
||||
0:? Sequence
|
||||
0:13 add second child into first child ( temp float)
|
||||
0:13 'x' ( global float)
|
||||
0:13 'p' ( in float)
|
||||
0:14 Branch: Return with expression
|
||||
0:14 'x' ( global float)
|
||||
0:18 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
0:19 Branch: Return with expression
|
||||
0:19 Construct vec4 ( temp 4-component vector of float)
|
||||
0:19 add ( temp float)
|
||||
0:19 add ( temp float)
|
||||
0:19 add ( temp float)
|
||||
0:19 add ( temp float)
|
||||
0:19 'x' ( global float)
|
||||
0:19 Function Call: f1( ( temp float)
|
||||
0:19 Function Call: f1( ( temp float)
|
||||
0:19 Function Call: f2(f1; ( temp float)
|
||||
0:19 Constant:
|
||||
0:19 5.000000
|
||||
0:19 Function Call: f2(f1; ( temp float)
|
||||
0:19 'x' ( global float)
|
||||
0:18 Function Definition: main( ( temp void)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:18 Function Call: @main( ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'x' ( global float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
|
||||
Linked fragment stage:
|
||||
|
||||
|
||||
Shader version: 500
|
||||
gl_FragCoord origin is upper left
|
||||
0:12Sequence
|
||||
0:1 Sequence
|
||||
0:1 move second child to first child ( temp float)
|
||||
0:1 'x' ( global float)
|
||||
0:1 Constant:
|
||||
0:1 1.000000
|
||||
0:5 Sequence
|
||||
0:5 move second child to first child ( temp float)
|
||||
0:5 'x' ( global float)
|
||||
0:5 Constant:
|
||||
0:5 2.000000
|
||||
0:4 Function Definition: f1( ( temp float)
|
||||
0:4 Function Parameters:
|
||||
0:? Sequence
|
||||
0:6 add second child into first child ( temp float)
|
||||
0:6 'x' ( global float)
|
||||
0:6 Constant:
|
||||
0:6 10.000000
|
||||
0:7 Branch: Return with expression
|
||||
0:7 'x' ( global float)
|
||||
0:12 Sequence
|
||||
0:12 move second child to first child ( temp float)
|
||||
0:12 'x' ( global float)
|
||||
0:12 Constant:
|
||||
0:12 7.000000
|
||||
0:11 Function Definition: f2(f1; ( temp float)
|
||||
0:11 Function Parameters:
|
||||
0:11 'p' ( in float)
|
||||
0:? Sequence
|
||||
0:13 add second child into first child ( temp float)
|
||||
0:13 'x' ( global float)
|
||||
0:13 'p' ( in float)
|
||||
0:14 Branch: Return with expression
|
||||
0:14 'x' ( global float)
|
||||
0:18 Function Definition: @main( ( temp 4-component vector of float)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
0:19 Branch: Return with expression
|
||||
0:19 Construct vec4 ( temp 4-component vector of float)
|
||||
0:19 add ( temp float)
|
||||
0:19 add ( temp float)
|
||||
0:19 add ( temp float)
|
||||
0:19 add ( temp float)
|
||||
0:19 'x' ( global float)
|
||||
0:19 Function Call: f1( ( temp float)
|
||||
0:19 Function Call: f1( ( temp float)
|
||||
0:19 Function Call: f2(f1; ( temp float)
|
||||
0:19 Constant:
|
||||
0:19 5.000000
|
||||
0:19 Function Call: f2(f1; ( temp float)
|
||||
0:19 'x' ( global float)
|
||||
0:18 Function Definition: main( ( temp void)
|
||||
0:18 Function Parameters:
|
||||
0:? Sequence
|
||||
0:18 move second child to first child ( temp 4-component vector of float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
0:18 Function Call: @main( ( temp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'x' ( global float)
|
||||
0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80007
|
||||
// Id's are bound by 57
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Fragment 4 "main" 55
|
||||
ExecutionMode 4 OriginUpperLeft
|
||||
Source HLSL 500
|
||||
Name 4 "main"
|
||||
Name 8 "f1("
|
||||
Name 13 "f2(f1;"
|
||||
Name 12 "p"
|
||||
Name 17 "@main("
|
||||
Name 20 "x"
|
||||
Name 22 "x"
|
||||
Name 24 "x"
|
||||
Name 44 "param"
|
||||
Name 47 "param"
|
||||
Name 55 "@entryPointOutput"
|
||||
Decorate 55(@entryPointOutput) Location 0
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeFloat 32
|
||||
7: TypeFunction 6(float)
|
||||
10: TypePointer Function 6(float)
|
||||
11: TypeFunction 6(float) 10(ptr)
|
||||
15: TypeVector 6(float) 4
|
||||
16: TypeFunction 15(fvec4)
|
||||
19: TypePointer Private 6(float)
|
||||
20(x): 19(ptr) Variable Private
|
||||
21: 6(float) Constant 1065353216
|
||||
22(x): 19(ptr) Variable Private
|
||||
23: 6(float) Constant 1073741824
|
||||
24(x): 19(ptr) Variable Private
|
||||
25: 6(float) Constant 1088421888
|
||||
26: 6(float) Constant 1092616192
|
||||
43: 6(float) Constant 1084227584
|
||||
54: TypePointer Output 15(fvec4)
|
||||
55(@entryPointOutput): 54(ptr) Variable Output
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
Store 20(x) 21
|
||||
Store 22(x) 23
|
||||
Store 24(x) 25
|
||||
56: 15(fvec4) FunctionCall 17(@main()
|
||||
Store 55(@entryPointOutput) 56
|
||||
Return
|
||||
FunctionEnd
|
||||
8(f1(): 6(float) Function None 7
|
||||
9: Label
|
||||
27: 6(float) Load 22(x)
|
||||
28: 6(float) FAdd 27 26
|
||||
Store 22(x) 28
|
||||
29: 6(float) Load 22(x)
|
||||
ReturnValue 29
|
||||
FunctionEnd
|
||||
13(f2(f1;): 6(float) Function None 11
|
||||
12(p): 10(ptr) FunctionParameter
|
||||
14: Label
|
||||
32: 6(float) Load 12(p)
|
||||
33: 6(float) Load 24(x)
|
||||
34: 6(float) FAdd 33 32
|
||||
Store 24(x) 34
|
||||
35: 6(float) Load 24(x)
|
||||
ReturnValue 35
|
||||
FunctionEnd
|
||||
17(@main(): 15(fvec4) Function None 16
|
||||
18: Label
|
||||
44(param): 10(ptr) Variable Function
|
||||
47(param): 10(ptr) Variable Function
|
||||
38: 6(float) Load 20(x)
|
||||
39: 6(float) FunctionCall 8(f1()
|
||||
40: 6(float) FAdd 38 39
|
||||
41: 6(float) FunctionCall 8(f1()
|
||||
42: 6(float) FAdd 40 41
|
||||
Store 44(param) 43
|
||||
45: 6(float) FunctionCall 13(f2(f1;) 44(param)
|
||||
46: 6(float) FAdd 42 45
|
||||
48: 6(float) Load 20(x)
|
||||
Store 47(param) 48
|
||||
49: 6(float) FunctionCall 13(f2(f1;) 47(param)
|
||||
50: 6(float) FAdd 46 49
|
||||
51: 15(fvec4) CompositeConstruct 50 50 50 50
|
||||
ReturnValue 51
|
||||
FunctionEnd
|
||||
@@ -1,107 +1,107 @@
|
||||
reflection.vert
|
||||
Uniform reflection:
|
||||
image_ui2D: offset -1, type 9063, size 1, index -1, binding -1
|
||||
sampler_2D: offset -1, type 8b5e, size 1, index -1, binding -1
|
||||
sampler_2DMSArray: offset -1, type 910b, size 1, index -1, binding -1
|
||||
anonMember3: offset 80, type 8b52, size 1, index 0, binding -1
|
||||
s.a: offset -1, type 1404, size 1, index -1, binding -1
|
||||
named.scalar: offset 12, type 1404, size 1, index 1, binding -1
|
||||
m23: offset 16, type 8b67, size 1, index 0, binding -1
|
||||
scalarAfterm23: offset 48, type 1404, size 1, index 0, binding -1
|
||||
c_m23: offset 16, type 8b67, size 1, index 2, binding -1
|
||||
c_scalarAfterm23: offset 64, type 1404, size 1, index 2, binding -1
|
||||
scalarBeforeArray: offset 96, type 1404, size 1, index 0, binding -1
|
||||
floatArray: offset 112, type 1406, size 5, index 0, binding -1
|
||||
scalarAfterArray: offset 192, type 1404, size 1, index 0, binding -1
|
||||
named.memvec2: offset 48, type 8b50, size 1, index 1, binding -1
|
||||
named.memf1: offset 56, type 1406, size 1, index 1, binding -1
|
||||
named.memf2: offset 60, type 8b56, size 1, index 1, binding -1
|
||||
named.memf3: offset 64, type 1404, size 1, index 1, binding -1
|
||||
named.memvec2a: offset 72, type 8b50, size 1, index 1, binding -1
|
||||
named.m22: offset 80, type 8b5a, size 7, index 1, binding -1
|
||||
dm22: offset -1, type 8b5a, size 4, index -1, binding -1
|
||||
m22: offset 208, type 8b5a, size 3, index 0, binding -1
|
||||
nested.foo.n1.a: offset 0, type 1406, size 1, index 3, binding -1
|
||||
nested.foo.n2.b: offset 16, type 1406, size 1, index 3, binding -1
|
||||
nested.foo.n2.c: offset 20, type 1406, size 1, index 3, binding -1
|
||||
nested.foo.n2.d: offset 24, type 1406, size 1, index 3, binding -1
|
||||
deepA[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepA[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepB[1].d2.d1[0].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepB[1].d2.d1[1].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepB[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepB[1].d2.d1[3].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepB[0].d2.d1[0].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepB[0].d2.d1[1].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepB[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepB[0].d2.d1[3].va: offset -1, type 8b50, size 2, index -1, binding -1
|
||||
deepC[1].iv4: offset -1, type 8b52, size 1, index -1, binding -1
|
||||
deepC[1].d2.i: offset -1, type 1404, size 1, index -1, binding -1
|
||||
deepC[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepC[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepC[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepC[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepC[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepC[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepC[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepC[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepC[1].v3: offset -1, type 8b54, size 1, index -1, binding -1
|
||||
deepD[0].iv4: offset -1, type 8b52, size 1, index -1, binding -1
|
||||
deepD[0].d2.i: offset -1, type 1404, size 1, index -1, binding -1
|
||||
deepD[0].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepD[0].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepD[0].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepD[0].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepD[0].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepD[0].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepD[0].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepD[0].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepD[0].v3: offset -1, type 8b54, size 1, index -1, binding -1
|
||||
deepD[1].iv4: offset -1, type 8b52, size 1, index -1, binding -1
|
||||
deepD[1].d2.i: offset -1, type 1404, size 1, index -1, binding -1
|
||||
deepD[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepD[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepD[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepD[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepD[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepD[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepD[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1
|
||||
deepD[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1
|
||||
deepD[1].v3: offset -1, type 8b54, size 1, index -1, binding -1
|
||||
abl.foo: offset 0, type 1406, size 1, index 7, binding -1
|
||||
abl2.foo: offset 0, type 1406, size 1, index 11, binding -1
|
||||
buf1.runtimeArray: offset 4, type 1406, size 4, index 12, binding -1
|
||||
buf2.runtimeArray.c: offset 8, type 1406, size 1, index 13, binding -1
|
||||
buf3.runtimeArray: offset 4, type 1406, size 0, index 14, binding -1
|
||||
buf4.runtimeArray.c: offset 8, type 1406, size 1, index 15, binding -1
|
||||
anonMember1: offset 0, type 8b51, size 1, index 0, binding -1
|
||||
uf1: offset -1, type 1406, size 1, index -1, binding -1
|
||||
uf2: offset -1, type 1406, size 1, index -1, binding -1
|
||||
named.member3: offset 32, type 8b52, size 1, index 1, binding -1
|
||||
image_ui2D: offset -1, type 9063, size 1, index -1, binding -1, stages 1
|
||||
sampler_2D: offset -1, type 8b5e, size 1, index -1, binding -1, stages 1
|
||||
sampler_2DMSArray: offset -1, type 910b, size 1, index -1, binding -1, stages 1
|
||||
anonMember3: offset 80, type 8b52, size 1, index 0, binding -1, stages 1
|
||||
s.a: offset -1, type 1404, size 1, index -1, binding -1, stages 1
|
||||
named.scalar: offset 12, type 1404, size 1, index 1, binding -1, stages 1
|
||||
m23: offset 16, type 8b67, size 1, index 0, binding -1, stages 1
|
||||
scalarAfterm23: offset 48, type 1404, size 1, index 0, binding -1, stages 1
|
||||
c_m23: offset 16, type 8b67, size 1, index 2, binding -1, stages 1
|
||||
c_scalarAfterm23: offset 64, type 1404, size 1, index 2, binding -1, stages 1
|
||||
scalarBeforeArray: offset 96, type 1404, size 1, index 0, binding -1, stages 1
|
||||
floatArray: offset 112, type 1406, size 5, index 0, binding -1, stages 1
|
||||
scalarAfterArray: offset 192, type 1404, size 1, index 0, binding -1, stages 1
|
||||
named.memvec2: offset 48, type 8b50, size 1, index 1, binding -1, stages 1
|
||||
named.memf1: offset 56, type 1406, size 1, index 1, binding -1, stages 1
|
||||
named.memf2: offset 60, type 8b56, size 1, index 1, binding -1, stages 1
|
||||
named.memf3: offset 64, type 1404, size 1, index 1, binding -1, stages 1
|
||||
named.memvec2a: offset 72, type 8b50, size 1, index 1, binding -1, stages 1
|
||||
named.m22: offset 80, type 8b5a, size 7, index 1, binding -1, stages 1
|
||||
dm22: offset -1, type 8b5a, size 4, index -1, binding -1, stages 1
|
||||
m22: offset 208, type 8b5a, size 3, index 0, binding -1, stages 1
|
||||
nested.foo.n1.a: offset 0, type 1406, size 1, index 3, binding -1, stages 1
|
||||
nested.foo.n2.b: offset 16, type 1406, size 1, index 3, binding -1, stages 1
|
||||
nested.foo.n2.c: offset 20, type 1406, size 1, index 3, binding -1, stages 1
|
||||
nested.foo.n2.d: offset 24, type 1406, size 1, index 3, binding -1, stages 1
|
||||
deepA[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepA[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepB[1].d2.d1[0].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepB[1].d2.d1[1].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepB[1].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepB[1].d2.d1[3].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepB[0].d2.d1[0].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepB[0].d2.d1[1].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepB[0].d2.d1[2].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepB[0].d2.d1[3].va: offset -1, type 8b50, size 2, index -1, binding -1, stages 1
|
||||
deepC[1].iv4: offset -1, type 8b52, size 1, index -1, binding -1, stages 1
|
||||
deepC[1].d2.i: offset -1, type 1404, size 1, index -1, binding -1, stages 1
|
||||
deepC[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepC[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepC[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepC[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepC[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepC[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepC[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepC[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepC[1].v3: offset -1, type 8b54, size 1, index -1, binding -1, stages 1
|
||||
deepD[0].iv4: offset -1, type 8b52, size 1, index -1, binding -1, stages 1
|
||||
deepD[0].d2.i: offset -1, type 1404, size 1, index -1, binding -1, stages 1
|
||||
deepD[0].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepD[0].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepD[0].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepD[0].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepD[0].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepD[0].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepD[0].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepD[0].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepD[0].v3: offset -1, type 8b54, size 1, index -1, binding -1, stages 1
|
||||
deepD[1].iv4: offset -1, type 8b52, size 1, index -1, binding -1, stages 1
|
||||
deepD[1].d2.i: offset -1, type 1404, size 1, index -1, binding -1, stages 1
|
||||
deepD[1].d2.d1[0].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepD[1].d2.d1[0].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepD[1].d2.d1[1].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepD[1].d2.d1[1].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepD[1].d2.d1[2].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepD[1].d2.d1[2].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepD[1].d2.d1[3].va: offset -1, type 8b50, size 3, index -1, binding -1, stages 1
|
||||
deepD[1].d2.d1[3].b: offset -1, type 8b56, size 1, index -1, binding -1, stages 1
|
||||
deepD[1].v3: offset -1, type 8b54, size 1, index -1, binding -1, stages 1
|
||||
abl.foo: offset 0, type 1406, size 1, index 7, binding -1, stages 1
|
||||
abl2.foo: offset 0, type 1406, size 1, index 11, binding -1, stages 1
|
||||
buf1.runtimeArray: offset 4, type 1406, size 4, index 12, binding -1, stages 1
|
||||
buf2.runtimeArray.c: offset 8, type 1406, size 1, index 13, binding -1, stages 1
|
||||
buf3.runtimeArray: offset 4, type 1406, size 0, index 14, binding -1, stages 1
|
||||
buf4.runtimeArray.c: offset 8, type 1406, size 1, index 15, binding -1, stages 1
|
||||
anonMember1: offset 0, type 8b51, size 1, index 0, binding -1, stages 1
|
||||
uf1: offset -1, type 1406, size 1, index -1, binding -1, stages 1
|
||||
uf2: offset -1, type 1406, size 1, index -1, binding -1, stages 1
|
||||
named.member3: offset 32, type 8b52, size 1, index 1, binding -1, stages 1
|
||||
|
||||
Uniform block reflection:
|
||||
nameless: offset -1, type ffffffff, size 496, index -1, binding -1
|
||||
named: offset -1, type ffffffff, size 304, index -1, binding -1
|
||||
c_nameless: offset -1, type ffffffff, size 112, index -1, binding -1
|
||||
nested: offset -1, type ffffffff, size 32, index -1, binding -1
|
||||
abl[0]: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
abl[1]: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
abl[2]: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
abl[3]: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
abl2[0]: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
abl2[1]: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
abl2[2]: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
abl2[3]: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
buf1: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
buf2: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
buf3: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
buf4: offset -1, type ffffffff, size 4, index -1, binding -1
|
||||
nameless: offset -1, type ffffffff, size 496, index -1, binding -1, stages 0
|
||||
named: offset -1, type ffffffff, size 304, index -1, binding -1, stages 0
|
||||
c_nameless: offset -1, type ffffffff, size 112, index -1, binding -1, stages 0
|
||||
nested: offset -1, type ffffffff, size 32, index -1, binding -1, stages 0
|
||||
abl[0]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
abl[1]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
abl[2]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
abl[3]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
abl2[0]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
abl2[1]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
abl2[2]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
abl2[3]: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
buf1: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
buf2: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
buf3: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
buf4: offset -1, type ffffffff, size 4, index -1, binding -1, stages 0
|
||||
|
||||
Vertex attribute reflection:
|
||||
attributeFloat: offset 0, type 1406, size 0, index 0, binding -1
|
||||
attributeFloat2: offset 0, type 8b50, size 0, index 0, binding -1
|
||||
attributeFloat3: offset 0, type 8b51, size 0, index 0, binding -1
|
||||
attributeFloat4: offset 0, type 8b52, size 0, index 0, binding -1
|
||||
attributeMat4: offset 0, type 8b5c, size 0, index 0, binding -1
|
||||
gl_InstanceID: offset 0, type 1404, size 0, index 0, binding -1
|
||||
attributeFloat: offset 0, type 1406, size 0, index 0, binding -1, stages 0
|
||||
attributeFloat2: offset 0, type 8b50, size 0, index 0, binding -1, stages 0
|
||||
attributeFloat3: offset 0, type 8b51, size 0, index 0, binding -1, stages 0
|
||||
attributeFloat4: offset 0, type 8b52, size 0, index 0, binding -1, stages 0
|
||||
attributeMat4: offset 0, type 8b5c, size 0, index 0, binding -1, stages 0
|
||||
gl_InstanceID: offset 0, type 1404, size 0, index 0, binding -1, stages 0
|
||||
|
||||
|
||||
@@ -1,85 +1,85 @@
|
||||
spv.16bitstorage_Error-int.frag
|
||||
ERROR: 0:54: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:54: 'structure: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:58: 'can't use with structs containing int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:58: 'return: can't use with structs containing int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:61: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:61: 'int16_t: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:74: ''[' does not operate on types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:74: '[: does not operate on types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:75: 'can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:75: '.: can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:77: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:77: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform int16_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform int16_t (or there is no acceptable conversion)
|
||||
ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int16_t' and a right operand of type ' const int' (or there is no acceptable conversion)
|
||||
ERROR: 0:81: 'can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:81: '.: can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:82: 'can't use with structs containing int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:82: '=: can't use with structs containing int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:83: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:83: 'qualifier: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:84: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:84: 'qualifier: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:85: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:85: 'qualifier: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform int16_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:87: 'can't use with arrays containing int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:87: '=: can't use with arrays containing int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:88: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:88: 'constructor: 16-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:89: '16-bit array constructors not supported' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 16-bit arrays not supported' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:89: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 16-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:92: 'Can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:92: 'constructor: can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
|
||||
@@ -1,85 +1,85 @@
|
||||
spv.16bitstorage_Error-uint.frag
|
||||
ERROR: 0:54: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:54: 'structure: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:58: 'can't use with structs containing uint16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:58: 'return: can't use with structs containing uint16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:61: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:61: 'uint16_t: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:74: ''[' does not operate on types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:74: '[: does not operate on types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:75: 'can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:75: '.: can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:76: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:77: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:77: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform uint16_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform uint16_t (or there is no acceptable conversion)
|
||||
ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint16_t' and a right operand of type ' const int' (or there is no acceptable conversion)
|
||||
ERROR: 0:81: 'can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:81: '.: can't swizzle types containing (u)int16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:82: 'can't use with structs containing uint16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:82: '=: can't use with structs containing uint16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:83: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:83: 'qualifier: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:84: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:84: 'qualifier: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:85: '(u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:85: 'qualifier: (u)int16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform uint16_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:87: 'can't use with arrays containing uint16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:87: '=: can't use with arrays containing uint16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:88: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:88: 'constructor: 16-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:89: '16-bit array constructors not supported' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 16-bit arrays not supported' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:89: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 16-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
ERROR: 0:92: 'Can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:92: 'constructor: can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_int16
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int16
|
||||
|
||||
@@ -1,93 +1,93 @@
|
||||
spv.16bitstorage_Error.frag
|
||||
ERROR: 0:54: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:54: 'structure: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:58: 'can't use with structs containing float16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:58: 'return: can't use with structs containing float16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:61: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:61: 'float16_t: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:74: ''[' does not operate on types containing float16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:74: '[: does not operate on types containing float16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:75: 'can't swizzle types containing float16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:75: '.: can't swizzle types containing float16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:76: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:76: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:76: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:77: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:77: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform float16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform float16_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform float16_t (or there is no acceptable conversion)
|
||||
ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform float16_t' and a right operand of type ' const float' (or there is no acceptable conversion)
|
||||
ERROR: 0:81: 'can't swizzle types containing float16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:81: '.: can't swizzle types containing float16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:82: 'can't use with structs containing float16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:82: '=: can't use with structs containing float16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:83: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:83: 'qualifier: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:84: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:84: 'qualifier: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:85: 'float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:85: 'qualifier: float16 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform float16_t' and a right operand of type 'layout( column_major std140 offset=0) uniform float16_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:87: 'can't use with arrays containing float16' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:87: '=: can't use with arrays containing float16' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:88: 'explicit types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:88: 'half floating-point suffix' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:88: 'explicit types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:88: 'half float literal' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:89: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 16-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:90: '16-bit array constructors not supported' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:90: 'constructor: 16-bit arrays not supported' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:90: '16-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:90: 'constructor: 16-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
ERROR: 0:93: 'Can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:93: 'constructor: can't construct structure containing 16-bit type' : required extension not requested: Possible extensions include:
|
||||
GL_AMD_gpu_shader_half_float
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_float16
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
spv.8bitstorage_Error-int.frag
|
||||
ERROR: 0:54: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:54: 'structure: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:58: 'can't use with structs containing int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:58: 'return: can't use with structs containing int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:61: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:61: 'int8_t: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:74: ''[' does not operate on types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:74: '[: does not operate on types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:75: 'can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:75: '.: can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:77: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:77: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int8_t' and a right operand of type 'layout( column_major std140 offset=0) uniform int8_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform int8_t (or there is no acceptable conversion)
|
||||
ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int8_t' and a right operand of type ' const int' (or there is no acceptable conversion)
|
||||
ERROR: 0:81: 'can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:81: '.: can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:82: 'can't use with structs containing int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:82: '=: can't use with structs containing int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:83: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:83: 'qualifier: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:84: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:84: 'qualifier: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:85: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:85: 'qualifier: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform int8_t' and a right operand of type 'layout( column_major std140 offset=0) uniform int8_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:87: 'can't use with arrays containing int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:87: '=: can't use with arrays containing int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:88: '8-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:88: 'constructor: 8-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:89: '8-bit array constructors not supported' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 8-bit arrays not supported' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:89: '8-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 8-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:92: 'Can't construct structure containing 8-bit type' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:92: 'constructor: can't construct structure containing 8-bit type' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:93: 'func2' : no matching overloaded function found
|
||||
|
||||
@@ -1,66 +1,66 @@
|
||||
spv.8bitstorage_Error-uint.frag
|
||||
ERROR: 0:54: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:54: 'structure: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:58: 'can't use with structs containing uint8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:58: 'return: can't use with structs containing uint8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:61: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:61: 'uint8_t: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:74: ''[' does not operate on types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:74: '[: does not operate on types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:75: 'can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:75: '.: can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:76: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:76: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:77: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:77: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:77: 'built-in function: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:78: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint8_t' and a right operand of type 'layout( column_major std140 offset=0) uniform uint8_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:79: '-' : wrong operand type no operation '-' exists that takes an operand of type layout( column_major std140 offset=0) uniform uint8_t (or there is no acceptable conversion)
|
||||
ERROR: 0:80: '+' : wrong operand types: no operation '+' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint8_t' and a right operand of type ' const int' (or there is no acceptable conversion)
|
||||
ERROR: 0:81: 'can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:81: '.: can't swizzle types containing (u)int8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:82: 'can't use with structs containing uint8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:82: '=: can't use with structs containing uint8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:83: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:83: 'qualifier: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:84: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:84: 'qualifier: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:85: '(u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:85: 'qualifier: (u)int8 types can only be in uniform block or buffer storage' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:86: '==' : wrong operand types: no operation '==' exists that takes a left-hand operand of type 'layout( column_major std140 offset=0) uniform uint8_t' and a right operand of type 'layout( column_major std140 offset=0) uniform uint8_t' (or there is no acceptable conversion)
|
||||
ERROR: 0:87: 'can't use with arrays containing uint8' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:87: '=: can't use with arrays containing uint8' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:88: '8-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:88: 'constructor: 8-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:89: '8-bit array constructors not supported' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 8-bit arrays not supported' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:89: '8-bit vector constructors only take vector types' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:89: 'constructor: 8-bit vectors only take vector types' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:92: 'Can't construct structure containing 8-bit type' : required extension not requested: Possible extensions include:
|
||||
ERROR: 0:92: 'constructor: can't construct structure containing 8-bit type' : required extension not requested: Possible extensions include:
|
||||
GL_KHX_shader_explicit_arithmetic_types
|
||||
GL_KHX_shader_explicit_arithmetic_types_int8
|
||||
ERROR: 0:93: 'func2' : no matching overloaded function found
|
||||
|
||||
20
3rdparty/glslang/Test/hlsl.staticFuncInit.frag
vendored
Executable file
20
3rdparty/glslang/Test/hlsl.staticFuncInit.frag
vendored
Executable file
@@ -0,0 +1,20 @@
|
||||
static float x = 1.0;
|
||||
|
||||
float f1()
|
||||
{
|
||||
static float x = 2.0;
|
||||
x += 10.0;
|
||||
return x;
|
||||
}
|
||||
|
||||
float f2(float p)
|
||||
{
|
||||
static float x = 7.0;
|
||||
x += p;
|
||||
return x;
|
||||
}
|
||||
|
||||
float4 main() : SV_TARGET
|
||||
{
|
||||
return x + f1() + f1() + f2(5.0) + f2(x);
|
||||
}
|
||||
2
3rdparty/glslang/glslang/Include/revision.h
vendored
2
3rdparty/glslang/glslang/Include/revision.h
vendored
@@ -1,3 +1,3 @@
|
||||
// This header is generated by the make-revision script.
|
||||
|
||||
#define GLSLANG_PATCH_LEVEL 2797
|
||||
#define GLSLANG_PATCH_LEVEL 2801
|
||||
|
||||
@@ -372,15 +372,12 @@ TIntermTyped* TParseContext::handleBracketDereference(const TSourceLoc& loc, TIn
|
||||
}
|
||||
|
||||
if (!base->isArray() && base->isVector()) {
|
||||
if (base->getType().containsBasicType(EbtFloat16)) {
|
||||
requireFloat16Arithmetic(loc, "'[' does not operate on types containing float16");
|
||||
}
|
||||
if (base->getType().contains16BitInt()) {
|
||||
requireInt16Arithmetic(loc, "'[' does not operate on types containing (u)int16");
|
||||
}
|
||||
if (base->getType().contains8BitInt()) {
|
||||
requireInt8Arithmetic(loc, "'[' does not operate on types containing (u)int8");
|
||||
}
|
||||
if (base->getType().containsBasicType(EbtFloat16))
|
||||
requireFloat16Arithmetic(loc, "[", "does not operate on types containing float16");
|
||||
if (base->getType().contains16BitInt())
|
||||
requireInt16Arithmetic(loc, "[", "does not operate on types containing (u)int16");
|
||||
if (base->getType().contains8BitInt())
|
||||
requireInt8Arithmetic(loc, "[", "does not operate on types containing (u)int8");
|
||||
}
|
||||
|
||||
// check for constant folding
|
||||
@@ -721,15 +718,12 @@ TIntermTyped* TParseContext::handleDotDereference(const TSourceLoc& loc, TInterm
|
||||
TSwizzleSelectors<TVectorSelector> selectors;
|
||||
parseSwizzleSelector(loc, field, base->getVectorSize(), selectors);
|
||||
|
||||
if (base->isVector() && selectors.size() != 1 && base->getType().containsBasicType(EbtFloat16)) {
|
||||
requireFloat16Arithmetic(loc, "can't swizzle types containing float16");
|
||||
}
|
||||
if (base->isVector() && selectors.size() != 1 && base->getType().contains16BitInt()) {
|
||||
requireInt16Arithmetic(loc, "can't swizzle types containing (u)int16");
|
||||
}
|
||||
if (base->isVector() && selectors.size() != 1 && base->getType().contains8BitInt()) {
|
||||
requireInt8Arithmetic(loc, "can't swizzle types containing (u)int8");
|
||||
}
|
||||
if (base->isVector() && selectors.size() != 1 && base->getType().containsBasicType(EbtFloat16))
|
||||
requireFloat16Arithmetic(loc, ".", "can't swizzle types containing float16");
|
||||
if (base->isVector() && selectors.size() != 1 && base->getType().contains16BitInt())
|
||||
requireInt16Arithmetic(loc, ".", "can't swizzle types containing (u)int16");
|
||||
if (base->isVector() && selectors.size() != 1 && base->getType().contains8BitInt())
|
||||
requireInt8Arithmetic(loc, ".", "can't swizzle types containing (u)int8");
|
||||
|
||||
if (base->isScalar()) {
|
||||
if (selectors.size() == 1)
|
||||
@@ -1009,15 +1003,12 @@ TIntermTyped* TParseContext::handleFunctionCall(const TSourceLoc& loc, TFunction
|
||||
if (builtIn && fnCandidate->getNumExtensions())
|
||||
requireExtensions(loc, fnCandidate->getNumExtensions(), fnCandidate->getExtensions(), fnCandidate->getName().c_str());
|
||||
|
||||
if (builtIn && fnCandidate->getType().containsBasicType(EbtFloat16)) {
|
||||
requireFloat16Arithmetic(loc, "float16 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (builtIn && fnCandidate->getType().contains16BitInt()) {
|
||||
requireInt16Arithmetic(loc, "(u)int16 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (builtIn && fnCandidate->getType().contains8BitInt()) {
|
||||
requireInt8Arithmetic(loc, "(u)int8 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (builtIn && fnCandidate->getType().containsBasicType(EbtFloat16))
|
||||
requireFloat16Arithmetic(loc, "built-in function", "float16 types can only be in uniform block or buffer storage");
|
||||
if (builtIn && fnCandidate->getType().contains16BitInt())
|
||||
requireInt16Arithmetic(loc, "built-in function", "(u)int16 types can only be in uniform block or buffer storage");
|
||||
if (builtIn && fnCandidate->getType().contains8BitInt())
|
||||
requireInt8Arithmetic(loc, "built-in function", "(u)int8 types can only be in uniform block or buffer storage");
|
||||
|
||||
if (arguments != nullptr) {
|
||||
// Make sure qualifications work for these arguments.
|
||||
@@ -1045,15 +1036,12 @@ TIntermTyped* TParseContext::handleFunctionCall(const TSourceLoc& loc, TFunction
|
||||
error(arguments->getLoc(), message, "writeonly", "");
|
||||
}
|
||||
|
||||
if (builtIn && arg->getAsTyped()->getType().containsBasicType(EbtFloat16)) {
|
||||
requireFloat16Arithmetic(arguments->getLoc(), "float16 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (builtIn && arg->getAsTyped()->getType().contains16BitInt()) {
|
||||
requireInt16Arithmetic(arguments->getLoc(), "(u)int16 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (builtIn && arg->getAsTyped()->getType().contains8BitInt()) {
|
||||
requireInt8Arithmetic(arguments->getLoc(), "(u)int8 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (builtIn && arg->getAsTyped()->getType().containsBasicType(EbtFloat16))
|
||||
requireFloat16Arithmetic(arguments->getLoc(), "built-in function", "float16 types can only be in uniform block or buffer storage");
|
||||
if (builtIn && arg->getAsTyped()->getType().contains16BitInt())
|
||||
requireInt16Arithmetic(arguments->getLoc(), "built-in function", "(u)int16 types can only be in uniform block or buffer storage");
|
||||
if (builtIn && arg->getAsTyped()->getType().contains8BitInt())
|
||||
requireInt8Arithmetic(arguments->getLoc(), "built-in function", "(u)int8 types can only be in uniform block or buffer storage");
|
||||
|
||||
// TODO 4.5 functionality: A shader will fail to compile
|
||||
// if the value passed to the memargument of an atomic memory function does not correspond to a buffer or
|
||||
@@ -2417,15 +2405,15 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
||||
floatArgument = true;
|
||||
if (type.isStruct()) {
|
||||
if (function[arg].type->containsBasicType(EbtFloat16)) {
|
||||
requireFloat16Arithmetic(loc, "Can't construct structure containing 16-bit type");
|
||||
requireFloat16Arithmetic(loc, "constructor", "can't construct structure containing 16-bit type");
|
||||
}
|
||||
if (function[arg].type->containsBasicType(EbtUint16) ||
|
||||
function[arg].type->containsBasicType(EbtInt16)) {
|
||||
requireInt16Arithmetic(loc, "Can't construct structure containing 16-bit type");
|
||||
requireInt16Arithmetic(loc, "constructor", "can't construct structure containing 16-bit type");
|
||||
}
|
||||
if (function[arg].type->containsBasicType(EbtUint8) ||
|
||||
function[arg].type->containsBasicType(EbtInt8)) {
|
||||
requireInt8Arithmetic(loc, "Can't construct structure containing 8-bit type");
|
||||
requireInt8Arithmetic(loc, "constructor", "can't construct structure containing 8-bit type");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2435,13 +2423,10 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
||||
case EOpConstructF16Vec2:
|
||||
case EOpConstructF16Vec3:
|
||||
case EOpConstructF16Vec4:
|
||||
if (type.isArray()) {
|
||||
requireFloat16Arithmetic(loc, "16-bit array constructors not supported");
|
||||
}
|
||||
|
||||
if (type.isVector() && function.getParamCount() != 1) {
|
||||
requireFloat16Arithmetic(loc, "16-bit vector constructors only take vector types");
|
||||
}
|
||||
if (type.isArray())
|
||||
requireFloat16Arithmetic(loc, "constructor", "16-bit arrays not supported");
|
||||
if (type.isVector() && function.getParamCount() != 1)
|
||||
requireFloat16Arithmetic(loc, "constructor", "16-bit vectors only take vector types");
|
||||
break;
|
||||
case EOpConstructUint16:
|
||||
case EOpConstructU16Vec2:
|
||||
@@ -2451,13 +2436,10 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
||||
case EOpConstructI16Vec2:
|
||||
case EOpConstructI16Vec3:
|
||||
case EOpConstructI16Vec4:
|
||||
if (type.isArray()) {
|
||||
requireInt16Arithmetic(loc, "16-bit array constructors not supported");
|
||||
}
|
||||
|
||||
if (type.isVector() && function.getParamCount() != 1) {
|
||||
requireInt16Arithmetic(loc, "16-bit vector constructors only take vector types");
|
||||
}
|
||||
if (type.isArray())
|
||||
requireInt16Arithmetic(loc, "constructor", "16-bit arrays not supported");
|
||||
if (type.isVector() && function.getParamCount() != 1)
|
||||
requireInt16Arithmetic(loc, "constructor", "16-bit vectors only take vector types");
|
||||
break;
|
||||
case EOpConstructUint8:
|
||||
case EOpConstructU8Vec2:
|
||||
@@ -2467,13 +2449,10 @@ bool TParseContext::constructorError(const TSourceLoc& loc, TIntermNode* node, T
|
||||
case EOpConstructI8Vec2:
|
||||
case EOpConstructI8Vec3:
|
||||
case EOpConstructI8Vec4:
|
||||
if (type.isArray()) {
|
||||
requireInt8Arithmetic(loc, "8-bit array constructors not supported");
|
||||
}
|
||||
|
||||
if (type.isVector() && function.getParamCount() != 1) {
|
||||
requireInt8Arithmetic(loc, "8-bit vector constructors only take vector types");
|
||||
}
|
||||
if (type.isArray())
|
||||
requireInt8Arithmetic(loc, "constructor", "8-bit arrays not supported");
|
||||
if (type.isVector() && function.getParamCount() != 1)
|
||||
requireInt8Arithmetic(loc, "constructor", "8-bit vectors only take vector types");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -3162,15 +3141,12 @@ void TParseContext::parameterTypeCheck(const TSourceLoc& loc, TStorageQualifier
|
||||
if ((qualifier == EvqOut || qualifier == EvqInOut) && type.isOpaque())
|
||||
error(loc, "samplers and atomic_uints cannot be output parameters", type.getBasicTypeString().c_str(), "");
|
||||
|
||||
if (!parsingBuiltins && type.containsBasicType(EbtFloat16)) {
|
||||
requireFloat16Arithmetic(loc, "float16 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (!parsingBuiltins && type.contains16BitInt()) {
|
||||
requireInt16Arithmetic(loc, "(u)int16 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (!parsingBuiltins && type.contains8BitInt()) {
|
||||
requireInt8Arithmetic(loc, "(u)int8 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (!parsingBuiltins && type.containsBasicType(EbtFloat16))
|
||||
requireFloat16Arithmetic(loc, type.getBasicTypeString().c_str(), "float16 types can only be in uniform block or buffer storage");
|
||||
if (!parsingBuiltins && type.contains16BitInt())
|
||||
requireInt16Arithmetic(loc, type.getBasicTypeString().c_str(), "(u)int16 types can only be in uniform block or buffer storage");
|
||||
if (!parsingBuiltins && type.contains8BitInt())
|
||||
requireInt8Arithmetic(loc, type.getBasicTypeString().c_str(), "(u)int8 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
|
||||
bool TParseContext::containsFieldWithBasicType(const TType& type, TBasicType basicType)
|
||||
@@ -3948,34 +3924,34 @@ void TParseContext::opaqueCheck(const TSourceLoc& loc, const TType& type, const
|
||||
void TParseContext::storage16BitAssignmentCheck(const TSourceLoc& loc, const TType& type, const char* op)
|
||||
{
|
||||
if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtFloat16))
|
||||
requireFloat16Arithmetic(loc, "can't use with structs containing float16");
|
||||
requireFloat16Arithmetic(loc, op, "can't use with structs containing float16");
|
||||
|
||||
if (type.isArray() && type.getBasicType() == EbtFloat16)
|
||||
requireFloat16Arithmetic(loc, "can't use with arrays containing float16");
|
||||
requireFloat16Arithmetic(loc, op, "can't use with arrays containing float16");
|
||||
|
||||
if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtInt16))
|
||||
requireInt16Arithmetic(loc, "can't use with structs containing int16");
|
||||
requireInt16Arithmetic(loc, op, "can't use with structs containing int16");
|
||||
|
||||
if (type.isArray() && type.getBasicType() == EbtInt16)
|
||||
requireInt16Arithmetic(loc, "can't use with arrays containing int16");
|
||||
requireInt16Arithmetic(loc, op, "can't use with arrays containing int16");
|
||||
|
||||
if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtUint16))
|
||||
requireInt16Arithmetic(loc, "can't use with structs containing uint16");
|
||||
requireInt16Arithmetic(loc, op, "can't use with structs containing uint16");
|
||||
|
||||
if (type.isArray() && type.getBasicType() == EbtUint16)
|
||||
requireInt16Arithmetic(loc, "can't use with arrays containing uint16");
|
||||
requireInt16Arithmetic(loc, op, "can't use with arrays containing uint16");
|
||||
|
||||
if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtInt8))
|
||||
requireInt8Arithmetic(loc, "can't use with structs containing int8");
|
||||
requireInt8Arithmetic(loc, op, "can't use with structs containing int8");
|
||||
|
||||
if (type.isArray() && type.getBasicType() == EbtInt8)
|
||||
requireInt8Arithmetic(loc, "can't use with arrays containing int8");
|
||||
requireInt8Arithmetic(loc, op, "can't use with arrays containing int8");
|
||||
|
||||
if (type.getBasicType() == EbtStruct && containsFieldWithBasicType(type, EbtUint8))
|
||||
requireInt8Arithmetic(loc, "can't use with structs containing uint8");
|
||||
requireInt8Arithmetic(loc, op, "can't use with structs containing uint8");
|
||||
|
||||
if (type.isArray() && type.getBasicType() == EbtUint8)
|
||||
requireInt8Arithmetic(loc, "can't use with arrays containing uint8");
|
||||
requireInt8Arithmetic(loc, op, "can't use with arrays containing uint8");
|
||||
}
|
||||
|
||||
void TParseContext::specializationCheck(const TSourceLoc& loc, const TType& type, const char* op)
|
||||
@@ -5582,15 +5558,12 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
|
||||
transparentOpaqueCheck(loc, type, identifier);
|
||||
|
||||
if (type.getQualifier().storage != EvqUniform && type.getQualifier().storage != EvqBuffer) {
|
||||
if (type.containsBasicType(EbtFloat16)) {
|
||||
requireFloat16Arithmetic(loc, "float16 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (type.contains16BitInt()) {
|
||||
requireInt16Arithmetic(loc, "(u)int16 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (type.contains8BitInt()) {
|
||||
requireInt8Arithmetic(loc, "(u)int8 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
if (type.containsBasicType(EbtFloat16))
|
||||
requireFloat16Arithmetic(loc, "qualifier", "float16 types can only be in uniform block or buffer storage");
|
||||
if (type.contains16BitInt())
|
||||
requireInt16Arithmetic(loc, "qualifier", "(u)int16 types can only be in uniform block or buffer storage");
|
||||
if (type.contains8BitInt())
|
||||
requireInt8Arithmetic(loc, "qualifier", "(u)int8 types can only be in uniform block or buffer storage");
|
||||
}
|
||||
|
||||
if (identifier != "gl_FragCoord" && (publicType.shaderQualifiers.originUpperLeft || publicType.shaderQualifiers.pixelCenterInteger))
|
||||
|
||||
@@ -1910,6 +1910,7 @@ const char* TProgram::getUniformBlockName(int index) const { return reflection
|
||||
int TProgram::getUniformBlockSize(int index) const { return reflection->getUniformBlock(index).size; }
|
||||
int TProgram::getUniformIndex(const char* name) const { return reflection->getIndex(name); }
|
||||
int TProgram::getUniformBinding(int index) const { return reflection->getUniform(index).getBinding(); }
|
||||
EShLanguageMask TProgram::getUniformStages(int index) const { return reflection->getUniform(index).stages; }
|
||||
int TProgram::getUniformBlockBinding(int index) const { return reflection->getUniformBlock(index).getBinding(); }
|
||||
int TProgram::getUniformBlockIndex(int index) const { return reflection->getUniform(index).index; }
|
||||
int TProgram::getUniformBlockCounterIndex(int index) const { return reflection->getUniformBlock(index).counterIndex; }
|
||||
|
||||
@@ -831,7 +831,7 @@ void TParseVersions::float16Check(const TSourceLoc& loc, const char* op, bool bu
|
||||
#endif
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_float16};
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -865,34 +865,49 @@ bool TParseVersions::int8Arithmetic()
|
||||
return extensionsTurnedOn(sizeof(extensions)/sizeof(extensions[0]), extensions);
|
||||
}
|
||||
|
||||
void TParseVersions::requireFloat16Arithmetic(const TSourceLoc& loc, const char* featureDesc)
|
||||
void TParseVersions::requireFloat16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc)
|
||||
{
|
||||
TString combined;
|
||||
combined = op;
|
||||
combined += ": ";
|
||||
combined += featureDesc;
|
||||
|
||||
const char* const extensions[] = {
|
||||
#if AMD_EXTENSIONS
|
||||
E_GL_AMD_gpu_shader_half_float,
|
||||
#endif
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_float16};
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, featureDesc);
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, combined.c_str());
|
||||
}
|
||||
|
||||
void TParseVersions::requireInt16Arithmetic(const TSourceLoc& loc, const char* featureDesc)
|
||||
void TParseVersions::requireInt16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc)
|
||||
{
|
||||
TString combined;
|
||||
combined = op;
|
||||
combined += ": ";
|
||||
combined += featureDesc;
|
||||
|
||||
const char* const extensions[] = {
|
||||
#if AMD_EXTENSIONS
|
||||
E_GL_AMD_gpu_shader_int16,
|
||||
#endif
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_int16};
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, featureDesc);
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, combined.c_str());
|
||||
}
|
||||
|
||||
void TParseVersions::requireInt8Arithmetic(const TSourceLoc& loc, const char* featureDesc)
|
||||
void TParseVersions::requireInt8Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc)
|
||||
{
|
||||
TString combined;
|
||||
combined = op;
|
||||
combined += ": ";
|
||||
combined += featureDesc;
|
||||
|
||||
const char* const extensions[] = {
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_int8};
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, featureDesc);
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, combined.c_str());
|
||||
}
|
||||
|
||||
void TParseVersions::float16ScalarVectorCheck(const TSourceLoc& loc, const char* op, bool builtIn)
|
||||
@@ -905,7 +920,7 @@ void TParseVersions::float16ScalarVectorCheck(const TSourceLoc& loc, const char*
|
||||
E_GL_EXT_shader_16bit_storage,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_float16};
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -915,7 +930,7 @@ void TParseVersions::explicitFloat32Check(const TSourceLoc& loc, const char* op,
|
||||
if (!builtIn) {
|
||||
const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_float32};
|
||||
requireExtensions(loc, 2, extensions, "explicit types");
|
||||
requireExtensions(loc, 2, extensions, op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -925,7 +940,7 @@ void TParseVersions::explicitFloat64Check(const TSourceLoc& loc, const char* op,
|
||||
if (!builtIn) {
|
||||
const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_float64};
|
||||
requireExtensions(loc, 2, extensions, "explicit types");
|
||||
requireExtensions(loc, 2, extensions, op);
|
||||
requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
|
||||
profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op);
|
||||
}
|
||||
@@ -937,7 +952,7 @@ void TParseVersions::explicitInt8Check(const TSourceLoc& loc, const char* op, bo
|
||||
if (! builtIn) {
|
||||
const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_int8};
|
||||
requireExtensions(loc, 2, extensions, "explicit types");
|
||||
requireExtensions(loc, 2, extensions, op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -963,7 +978,7 @@ void TParseVersions::explicitInt16Check(const TSourceLoc& loc, const char* op, b
|
||||
#endif
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_int16};
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -977,7 +992,7 @@ void TParseVersions::int16ScalarVectorCheck(const TSourceLoc& loc, const char* o
|
||||
E_GL_EXT_shader_16bit_storage,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_int16};
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -988,7 +1003,7 @@ void TParseVersions::int8ScalarVectorCheck(const TSourceLoc& loc, const char* op
|
||||
E_GL_EXT_shader_8bit_storage,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_int8};
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, "explicit types");
|
||||
requireExtensions(loc, sizeof(extensions)/sizeof(extensions[0]), extensions, op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -998,7 +1013,7 @@ void TParseVersions::explicitInt32Check(const TSourceLoc& loc, const char* op, b
|
||||
if (! builtIn) {
|
||||
const char* const extensions[2] = {E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_int32};
|
||||
requireExtensions(loc, 2, extensions, "explicit types");
|
||||
requireExtensions(loc, 2, extensions, op);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1009,7 +1024,7 @@ void TParseVersions::int64Check(const TSourceLoc& loc, const char* op, bool buil
|
||||
const char* const extensions[3] = {E_GL_ARB_gpu_shader_int64,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types,
|
||||
E_GL_KHX_shader_explicit_arithmetic_types_int64};
|
||||
requireExtensions(loc, 3, extensions, "shader int64");
|
||||
requireExtensions(loc, 3, extensions, op);
|
||||
requireProfile(loc, ECoreProfile | ECompatibilityProfile, op);
|
||||
profileRequires(loc, ECoreProfile | ECompatibilityProfile, 400, nullptr, op);
|
||||
}
|
||||
|
||||
3
3rdparty/glslang/glslang/MachineIndependent/iomapper.cpp
vendored
Normal file → Executable file
3
3rdparty/glslang/glslang/MachineIndependent/iomapper.cpp
vendored
Normal file → Executable file
@@ -513,6 +513,9 @@ struct TDefaultIoResolverBase : public glslang::TIoMapResolver
|
||||
void endResolve(EShLanguage) override {}
|
||||
|
||||
protected:
|
||||
TDefaultIoResolverBase(TDefaultIoResolverBase&);
|
||||
TDefaultIoResolverBase& operator=(TDefaultIoResolverBase&);
|
||||
|
||||
const TIntermediate &intermediate;
|
||||
int nextUniformLocation;
|
||||
int nextInputLocation;
|
||||
|
||||
@@ -81,13 +81,13 @@ public:
|
||||
virtual void float16Check(const TSourceLoc&, const char* op, bool builtIn = false);
|
||||
virtual void float16ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false);
|
||||
virtual bool float16Arithmetic();
|
||||
virtual void requireFloat16Arithmetic(const TSourceLoc& loc, const char* featureDesc);
|
||||
virtual void requireFloat16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc);
|
||||
virtual void int16ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false);
|
||||
virtual bool int16Arithmetic();
|
||||
virtual void requireInt16Arithmetic(const TSourceLoc& loc, const char* featureDesc);
|
||||
virtual void requireInt16Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc);
|
||||
virtual void int8ScalarVectorCheck(const TSourceLoc&, const char* op, bool builtIn = false);
|
||||
virtual bool int8Arithmetic();
|
||||
virtual void requireInt8Arithmetic(const TSourceLoc& loc, const char* featureDesc);
|
||||
virtual void requireInt8Arithmetic(const TSourceLoc& loc, const char* op, const char* featureDesc);
|
||||
#ifdef AMD_EXTENSIONS
|
||||
virtual void float16OpaqueCheck(const TSourceLoc&, const char* op, bool builtIn = false);
|
||||
#endif
|
||||
|
||||
@@ -778,6 +778,14 @@ void TReflection::buildCounterIndices(const TIntermediate& intermediate)
|
||||
}
|
||||
}
|
||||
|
||||
// build Shader Stages mask for all uniforms
|
||||
void TReflection::buildUniformStageMask(const TIntermediate& intermediate)
|
||||
{
|
||||
for (int i = 0; i < int(indexToUniform.size()); ++i) {
|
||||
indexToUniform[i].stages = static_cast<EShLanguageMask>(indexToUniform[i].stages | 1 << intermediate.getStage());
|
||||
}
|
||||
}
|
||||
|
||||
// Merge live symbols from 'intermediate' into the existing reflection database.
|
||||
//
|
||||
// Returns false if the input is too malformed to do this.
|
||||
@@ -803,6 +811,7 @@ bool TReflection::addStage(EShLanguage stage, const TIntermediate& intermediate)
|
||||
}
|
||||
|
||||
buildCounterIndices(intermediate);
|
||||
buildUniformStageMask(intermediate);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ class TObjectReflection {
|
||||
public:
|
||||
TObjectReflection(const TString& pName, const TType& pType, int pOffset, int pGLDefineType, int pSize, int pIndex) :
|
||||
name(pName), offset(pOffset),
|
||||
glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1), type(pType.clone()) { }
|
||||
glDefineType(pGLDefineType), size(pSize), index(pIndex), counterIndex(-1), type(pType.clone()), stages(EShLanguageMask(0)) { }
|
||||
|
||||
const TType* const getType() const { return type; }
|
||||
int getBinding() const
|
||||
@@ -68,8 +68,8 @@ public:
|
||||
}
|
||||
void dump() const
|
||||
{
|
||||
printf("%s: offset %d, type %x, size %d, index %d, binding %d",
|
||||
name.c_str(), offset, glDefineType, size, index, getBinding() );
|
||||
printf("%s: offset %d, type %x, size %d, index %d, binding %d, stages %d",
|
||||
name.c_str(), offset, glDefineType, size, index, getBinding(), stages );
|
||||
|
||||
if (counterIndex != -1)
|
||||
printf(", counter %d", counterIndex);
|
||||
@@ -84,6 +84,7 @@ public:
|
||||
int size; // data size in bytes for a block, array size for a (non-block) object that's an array
|
||||
int index;
|
||||
int counterIndex;
|
||||
EShLanguageMask stages;
|
||||
|
||||
protected:
|
||||
TObjectReflection() : offset(-1), glDefineType(-1), size(-1), index(-1), type(nullptr) { }
|
||||
@@ -157,6 +158,7 @@ protected:
|
||||
friend class glslang::TReflectionTraverser;
|
||||
|
||||
void buildCounterIndices(const TIntermediate&);
|
||||
void buildUniformStageMask(const TIntermediate& intermediate);
|
||||
void buildAttributeReflection(EShLanguage, const TIntermediate&);
|
||||
|
||||
// Need a TString hash: typedef std::unordered_map<TString, int> TNameToIndex;
|
||||
|
||||
1
3rdparty/glslang/glslang/Public/ShaderLang.h
vendored
1
3rdparty/glslang/glslang/Public/ShaderLang.h
vendored
@@ -671,6 +671,7 @@ public:
|
||||
int getUniformBlockSize(int blockIndex) const; // can be used for glGetActiveUniformBlockiv(UNIFORM_BLOCK_DATA_SIZE)
|
||||
int getUniformIndex(const char* name) const; // can be used for glGetUniformIndices()
|
||||
int getUniformBinding(int index) const; // returns the binding number
|
||||
EShLanguageMask getUniformStages(int index) const; // returns Shaders Stages where a Uniform is present
|
||||
int getUniformBlockBinding(int index) const; // returns the block binding number
|
||||
int getUniformBlockIndex(int index) const; // can be used for glGetActiveUniformsiv(GL_UNIFORM_BLOCK_INDEX)
|
||||
int getUniformBlockCounterIndex(int index) const; // returns block index of associated counter.
|
||||
|
||||
1
3rdparty/glslang/gtests/Hlsl.FromFile.cpp
vendored
Normal file → Executable file
1
3rdparty/glslang/gtests/Hlsl.FromFile.cpp
vendored
Normal file → Executable file
@@ -318,6 +318,7 @@ INSTANTIATE_TEST_CASE_P(
|
||||
{"hlsl.self_cast.frag", "main"},
|
||||
{"hlsl.snorm.uav.comp", "main"},
|
||||
{"hlsl.staticMemberFunction.frag", "main"},
|
||||
{"hlsl.staticFuncInit.frag", "main"},
|
||||
{"hlsl.store.rwbyteaddressbuffer.type.comp", "main"},
|
||||
{"hlsl.stringtoken.frag", "main"},
|
||||
{"hlsl.string.frag", "main"},
|
||||
|
||||
31
3rdparty/glslang/hlsl/hlslGrammar.cpp
vendored
31
3rdparty/glslang/hlsl/hlslGrammar.cpp
vendored
@@ -126,8 +126,6 @@ bool HlslGrammar::acceptIdentifier(HlslToken& idToken)
|
||||
//
|
||||
bool HlslGrammar::acceptCompilationUnit()
|
||||
{
|
||||
TIntermNode* unitNode = nullptr;
|
||||
|
||||
if (! acceptDeclarationList(unitNode))
|
||||
return false;
|
||||
|
||||
@@ -324,7 +322,7 @@ bool HlslGrammar::acceptSamplerDeclarationDX9(TType& /*type*/)
|
||||
// node for all the initializers. Each function created is a top-level node to grow
|
||||
// into the passed-in nodeList.
|
||||
//
|
||||
// If 'nodeList' is passed in as non-null, it must an aggregate to extend for
|
||||
// If 'nodeList' is passed in as non-null, it must be an aggregate to extend for
|
||||
// each top-level node the declaration creates. Otherwise, if only one top-level
|
||||
// node in generated here, that is want is returned in nodeList.
|
||||
//
|
||||
@@ -489,7 +487,7 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& nodeList)
|
||||
// Declare the variable and add any initializer code to the AST.
|
||||
// The top-level node is always made into an aggregate, as that's
|
||||
// historically how the AST has been.
|
||||
initializers = intermediate.growAggregate(initializers,
|
||||
initializers = intermediate.growAggregate(initializers,
|
||||
parseContext.declareVariable(idToken.loc, *fullName, variableType, expressionNode),
|
||||
idToken.loc);
|
||||
}
|
||||
@@ -506,11 +504,16 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& nodeList)
|
||||
if (initializers != nullptr)
|
||||
initializers->setOperator(EOpSequence);
|
||||
|
||||
// Add the initializers' aggregate to the nodeList we were handed.
|
||||
if (nodeList)
|
||||
nodeList = intermediate.growAggregate(nodeList, initializers);
|
||||
else
|
||||
nodeList = initializers;
|
||||
// if we have a locally scoped static, it needs a globally scoped initializer
|
||||
if (declaredType.getQualifier().storage == EvqGlobal && !parseContext.symbolTable.atGlobalLevel()) {
|
||||
unitNode = intermediate.growAggregate(unitNode, initializers, idToken.loc);
|
||||
} else {
|
||||
// Add the initializers' aggregate to the nodeList we were handed.
|
||||
if (nodeList)
|
||||
nodeList = intermediate.growAggregate(nodeList, initializers);
|
||||
else
|
||||
nodeList = initializers;
|
||||
}
|
||||
|
||||
// SEMICOLON
|
||||
if (! acceptTokenClass(EHTokSemicolon)) {
|
||||
@@ -518,13 +521,11 @@ bool HlslGrammar::acceptDeclaration(TIntermNode*& nodeList)
|
||||
// was actually an assignment such as "float = 4", where "float" is an identifier.
|
||||
// We put the token back to let further parsing happen for cases where that may
|
||||
// happen. This errors on the side of caution, and mostly triggers the error.
|
||||
if (peek() == EHTokAssign || peek() == EHTokLeftBracket || peek() == EHTokDot || peek() == EHTokComma) {
|
||||
if (peek() == EHTokAssign || peek() == EHTokLeftBracket || peek() == EHTokDot || peek() == EHTokComma)
|
||||
recedeToken();
|
||||
return false;
|
||||
} else {
|
||||
else
|
||||
expected(";");
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -651,7 +652,7 @@ bool HlslGrammar::acceptQualifier(TQualifier& qualifier)
|
||||
do {
|
||||
switch (peek()) {
|
||||
case EHTokStatic:
|
||||
qualifier.storage = parseContext.symbolTable.atGlobalLevel() ? EvqGlobal : EvqTemporary;
|
||||
qualifier.storage = EvqGlobal;
|
||||
break;
|
||||
case EHTokExtern:
|
||||
// TODO: no meaning in glslang?
|
||||
|
||||
3
3rdparty/glslang/hlsl/hlslGrammar.h
vendored
3
3rdparty/glslang/hlsl/hlslGrammar.h
vendored
@@ -52,7 +52,7 @@ namespace glslang {
|
||||
public:
|
||||
HlslGrammar(HlslScanContext& scanner, HlslParseContext& parseContext)
|
||||
: HlslTokenStream(scanner), parseContext(parseContext), intermediate(parseContext.intermediate),
|
||||
typeIdentifiers(false) { }
|
||||
typeIdentifiers(false), unitNode(nullptr) { }
|
||||
virtual ~HlslGrammar() { }
|
||||
|
||||
bool parse();
|
||||
@@ -133,6 +133,7 @@ namespace glslang {
|
||||
HlslParseContext& parseContext; // state of parsing and helper functions for building the intermediate
|
||||
TIntermediate& intermediate; // the final product, the intermediate representation, includes the AST
|
||||
bool typeIdentifiers; // shader uses some types as identifiers
|
||||
TIntermNode* unitNode;
|
||||
};
|
||||
|
||||
} // end namespace glslang
|
||||
|
||||
2
3rdparty/glslang/hlsl/hlslParseHelper.cpp
vendored
2
3rdparty/glslang/hlsl/hlslParseHelper.cpp
vendored
@@ -7866,6 +7866,8 @@ TVariable* HlslParseContext::declareNonArray(const TSourceLoc& loc, const TStrin
|
||||
// Returning nullptr just means there is no code to execute to handle the
|
||||
// initializer, which will, for example, be the case for constant initializers.
|
||||
//
|
||||
// Returns a subtree that accomplished the initialization.
|
||||
//
|
||||
TIntermNode* HlslParseContext::executeInitializer(const TSourceLoc& loc, TIntermTyped* initializer, TVariable* variable)
|
||||
{
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user