Normalize DEPS to ease merging with Dawn
- Format specific targets to have the hash in the target rule instead
of a variable.
- Only have the base part of the URL in a variable
- Use vulkan-deps instead of individual DEPS (spirv-tools,
spirv-headers & glslang)
BUG=tint:1481
Change-Id: I871a656e26050698da2c77f4f39fec94a9c4f8a4
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/84723
Reviewed-by: David Neto <dneto@google.com>
Auto-Submit: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
diff --git a/.gitignore b/.gitignore
index 0503afb2..19bafab 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,13 +19,11 @@
/third_party/cpplint
/third_party/benchmark
/third_party/binutils
-/third_party/glslang
/third_party/googletest
/third_party/gpuweb-cts
/third_party/llvm-build
/third_party/protobuf
-/third_party/spirv-headers
-/third_party/spirv-tools
+/third_party/vulkan-deps
/tools/clang
/tools/bin
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eadb633..17a7ec5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -200,7 +200,7 @@
endif()
if (${TINT_BUILD_SPV_READER})
- include_directories("${TINT_THIRD_PARTY_DIR}/spirv-tools/include")
+ include_directories("${TINT_THIRD_PARTY_DIR}/vulkan-deps/spirv-tools/src/include")
endif()
if((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_CXX_SIMULATE_ID STREQUAL "MSVC"))
@@ -264,7 +264,7 @@
if (${TINT_BUILD_SPV_READER} OR ${TINT_BUILD_SPV_WRITER})
target_include_directories(${TARGET} PUBLIC
- "${TINT_THIRD_PARTY_DIR}/spirv-headers/include")
+ "${TINT_THIRD_PARTY_DIR}/vulkan-deps/spirv-headers/src/include")
endif()
target_compile_definitions(${TARGET} PUBLIC -DTINT_BUILD_SPV_READER=$<BOOL:${TINT_BUILD_SPV_READER}>)
diff --git a/DEPS b/DEPS
index fbd2af5..7bf1906 100644
--- a/DEPS
+++ b/DEPS
@@ -7,24 +7,8 @@
]
vars = {
- 'chromium_git': 'https://chromium.googlesource.com',
- 'github': '/external/github.com',
+ 'chromium_git': 'https://chromium.googlesource.com',
- 'benchmark_revision': 'e991355c02b93fe17713efe04cbc2e278e00fdbd',
- 'build_revision': '555c8b467c21e2c4b22d00e87e3faa0431df9ac2',
- 'buildtools_revision': 'f78b4b9f33bd8ef9944d5ce643daff1c31880189',
- 'catapult_revision': 'fa35beefb3429605035f98211ddb8750dee6a13d',
- 'clang_format_revision': '2271e89c145a5e27d6c110b6a1113c057a8301a3',
- 'clang_revision': '8b7330592cb85ba09505a6be7bacabd0ad6160a3',
- 'glslang_revision': '4b7b86d568b40f4b076259dc2fc4cdd006340f34',
- 'googletest_revision': '6b74da4757a549563d7c37c8fae3e704662a043b',
- 'gpuweb_cts_revision': 'b0291fd966b55a5efc496772555b94842bde1085',
- 'libcxx_revision': '79a2e924d96e2fc1e4b937c42efd08898fa472d7',
- 'libcxxabi_revision': '2715a6c0de8dac4c7674934a6b3d30ba0c685271',
- 'protobuf_revision': 'fde7cf7358ec7cd69e8db9be4f1fa6a5c431386a',
- 'spirv_headers_revision': 'eddd4dfc930f1374a70797460240a501c7d333f7',
- 'spirv_tools_revision': 'df2aad68b98279412494a6d449bd71b6756e699b',
- 'testing_revision': 'd485ae97b7900c1fb7edfbe2901ae5adcb120865',
'tint_gn_revision': 'git_revision:281ba2c91861b10fec7407c4b6172ec3d4661243',
# We don't use location metadata in our test isolates.
@@ -32,32 +16,29 @@
}
deps = {
- 'third_party/gpuweb-cts': Var('chromium_git') + Var('github') +
- '/gpuweb/cts.git@' + Var('gpuweb_cts_revision'),
+ 'third_party/gpuweb-cts': {
+ 'url': '{chromium_git}/external/github.com/gpuweb/cts@b0291fd966b55a5efc496772555b94842bde1085',
+ },
- 'third_party/spirv-headers': Var('chromium_git') + Var('github') +
- '/KhronosGroup/SPIRV-Headers.git@' + Var('spirv_headers_revision'),
-
- 'third_party/spirv-tools': Var('chromium_git') + Var('github') +
- '/KhronosGroup//SPIRV-Tools.git@' + Var('spirv_tools_revision'),
-
- 'third_party/glslang': Var('chromium_git') + Var('github') +
- '/KhronosGroup/glslang.git@' + Var('glslang_revision'),
+ 'third_party/vulkan-deps': {
+ 'url': '{chromium_git}/vulkan-deps@20efc30b0c6fe3c9bbd4f8ed6335593ee51391b0',
+ },
# Dependencies required to use GN/Clang in standalone
- 'build': Var('chromium_git') + '/chromium/src/build@' +
- Var('build_revision'),
+ 'build': {
+ 'url': '{chromium_git}/chromium/src/build@555c8b467c21e2c4b22d00e87e3faa0431df9ac2',
+ },
- 'buildtools': Var('chromium_git') + '/chromium/src/buildtools@' +
- Var('buildtools_revision'),
+ 'buildtools': {
+ 'url': '{chromium_git}/chromium/src/buildtools@f78b4b9f33bd8ef9944d5ce643daff1c31880189',
+ },
- 'tools/clang': Var('chromium_git') + '/chromium/src/tools/clang@' +
- Var('clang_revision'),
+ 'tools/clang': {
+ 'url': '{chromium_git}/chromium/src/tools/clang@8b7330592cb85ba09505a6be7bacabd0ad6160a3',
+ },
'buildtools/clang_format/script': {
- 'url': Var('chromium_git') +
- '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' +
- Var('clang_format_revision'),
+ 'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@2271e89c145a5e27d6c110b6a1113c057a8301a3',
},
'buildtools/linux64': {
@@ -85,31 +66,34 @@
'condition': 'host_os == "win"',
},
- 'buildtools/third_party/libc++/trunk':
- Var('chromium_git') +
- '/external/github.com/llvm/llvm-project/libcxx.git@' +
- Var('libcxx_revision'),
+ 'buildtools/third_party/libc++/trunk': {
+ 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@79a2e924d96e2fc1e4b937c42efd08898fa472d7',
+ },
- 'buildtools/third_party/libc++abi/trunk':
- Var('chromium_git') +
- '/external/github.com/llvm/llvm-project/libcxxabi.git@' +
- Var('libcxxabi_revision'),
+ 'buildtools/third_party/libc++abi/trunk': {
+ 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@2715a6c0de8dac4c7674934a6b3d30ba0c685271',
+ },
# Dependencies required for testing
- 'testing': Var('chromium_git') + '/chromium/src/testing@' +
- Var('testing_revision'),
+ 'testing': {
+ 'url': '{chromium_git}/chromium/src/testing@d485ae97b7900c1fb7edfbe2901ae5adcb120865',
+ },
- 'third_party/catapult': Var('chromium_git') + '/catapult.git@' +
- Var('catapult_revision'),
+ 'third_party/catapult': {
+ 'url': '{chromium_git}/catapult.git@fa35beefb3429605035f98211ddb8750dee6a13d',
+ },
- 'third_party/benchmark': Var('chromium_git') + Var('github') +
- '/google/benchmark.git@' + Var('benchmark_revision'),
+ 'third_party/benchmark': {
+ 'url': '{chromium_git}/external/github.com/google/benchmark.git@e991355c02b93fe17713efe04cbc2e278e00fdbd',
+ },
- 'third_party/googletest': Var('chromium_git') + Var('github') +
- '/google/googletest.git@' + Var('googletest_revision'),
+ 'third_party/googletest': {
+ 'url': '{chromium_git}/external/github.com/google/googletest.git@6b74da4757a549563d7c37c8fae3e704662a043b',
+ },
- 'third_party/protobuf': Var('chromium_git') + Var('github') +
- '/protocolbuffers/protobuf.git@' + Var('protobuf_revision'),
+ 'third_party/protobuf': {
+ 'url': '{chromium_git}/external/github.com/protocolbuffers/protobuf.git@fde7cf7358ec7cd69e8db9be4f1fa6a5c431386a',
+ },
}
hooks = [
@@ -210,4 +194,7 @@
recursedeps = [
# buildtools provides clang_format, libc++, and libc++abi
'buildtools',
+ # vulkan-deps provides spirv-headers, spirv-tools & gslang
+ # It also provides other Vulkan tools that Tint doesn't use
+ 'third_party/vulkan-deps',
]
diff --git a/build_overrides/glslang.gni b/build_overrides/glslang.gni
index 6345b33..80a30c9 100644
--- a/build_overrides/glslang.gni
+++ b/build_overrides/glslang.gni
@@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-glslang_spirv_tools_dir = "//third_party/spirv-tools"
+glslang_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
diff --git a/build_overrides/spirv_tools.gni b/build_overrides/spirv_tools.gni
index a886b46..13bffc5 100644
--- a/build_overrides/spirv_tools.gni
+++ b/build_overrides/spirv_tools.gni
@@ -17,4 +17,4 @@
# Paths to SPIRV-Tools dependencies in Tint
spirv_tools_googletest_dir = "//third_party/googletest"
-spirv_tools_spirv_headers_dir = "//third_party/spirv-headers"
+spirv_tools_spirv_headers_dir = "//third_party/vulkan-deps/spirv-headers/src"
diff --git a/src/tint/cmd/BUILD.gn b/src/tint/cmd/BUILD.gn
index c9c2f20..c2f4322 100644
--- a/src/tint/cmd/BUILD.gn
+++ b/src/tint/cmd/BUILD.gn
@@ -27,8 +27,8 @@
if (tint_build_glsl_writer) {
deps += [
- "${tint_root_dir}/third_party/glslang:glslang_default_resource_limits_sources",
- "${tint_root_dir}/third_party/glslang:glslang_lib_sources",
+ "${tint_root_dir}/third_party/vulkan-deps/glslang/src:glslang_default_resource_limits_sources",
+ "${tint_root_dir}/third_party/vulkan-deps/glslang/src:glslang_lib_sources",
]
}
diff --git a/test/tint/benchmark/particles.wgsl.expected.glsl b/test/tint/benchmark/particles.wgsl.expected.glsl
index 1ff55f9..acf0f1b 100644
--- a/test/tint/benchmark/particles.wgsl.expected.glsl
+++ b/test/tint/benchmark/particles.wgsl.expected.glsl
@@ -170,7 +170,7 @@
uint width;
};
-uniform highp sampler2D tint_symbol_1;
+uniform highp sampler2D tint_symbol_6;
void simulate(uvec3 GlobalInvocationID) {
rand_seed = ((sim_params.seed.xy + vec2(GlobalInvocationID.xy)) * sim_params.seed.zw);
uint idx = GlobalInvocationID.x;
@@ -182,22 +182,27 @@
if ((particle.lifetime < 0.0f)) {
ivec2 coord = ivec2(0, 0);
{
- for(int level = (textureQueryLevels(tint_symbol_1) - 1); (level > 0); level = (level - 1)) {
- vec4 probabilites = texelFetch(tint_symbol_1, coord, level);
- vec4 value = vec4(rand());
+ for(int level = (textureQueryLevels(tint_symbol_6) - 1); (level > 0); level = (level - 1)) {
+ vec4 probabilites = texelFetch(tint_symbol_6, coord, level);
+ float tint_symbol_5 = rand();
+ vec4 value = vec4(tint_symbol_5);
bvec4 mask = bvec4(uvec4(greaterThanEqual(value, vec4(0.0f, probabilites.xyz))) & uvec4(lessThan(value, probabilites)));
coord = (coord * 2);
coord.x = (coord.x + (any(mask.yw) ? 1 : 0));
coord.y = (coord.y + (any(mask.zw) ? 1 : 0));
}
}
- vec2 uv = (vec2(coord) / vec2(textureSize(tint_symbol_1, 0)));
+ vec2 uv = (vec2(coord) / vec2(textureSize(tint_symbol_6, 0)));
particle.position = vec3((((uv - 0.5f) * 3.0f) * vec2(1.0f, -1.0f)), 0.0f);
- particle.color = texelFetch(tint_symbol_1, coord, 0);
- particle.velocity.x = ((rand() - 0.5f) * 0.100000001f);
- particle.velocity.y = ((rand() - 0.5f) * 0.100000001f);
- particle.velocity.z = (rand() * 0.300000012f);
- particle.lifetime = (0.5f + (rand() * 2.0f));
+ particle.color = texelFetch(tint_symbol_6, coord, 0);
+ float tint_symbol_1 = rand();
+ particle.velocity.x = ((tint_symbol_1 - 0.5f) * 0.100000001f);
+ float tint_symbol_2 = rand();
+ particle.velocity.y = ((tint_symbol_2 - 0.5f) * 0.100000001f);
+ float tint_symbol_3 = rand();
+ particle.velocity.z = (tint_symbol_3 * 0.300000012f);
+ float tint_symbol_4 = rand();
+ particle.lifetime = (0.5f + (tint_symbol_4 * 2.0f));
}
data.particles[idx] = particle;
}
diff --git a/test/tint/builtins/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl b/test/tint/builtins/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
index 22d032e..6aa8f5a 100644
--- a/test/tint/builtins/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/atomicCompareExchangeWeak/12871c.wgsl.expected.glsl
@@ -1,3 +1,5 @@
+SKIP: FAILED
+
#version 310 es
precision mediump float;
@@ -28,6 +30,13 @@
fragment_main();
return;
}
+Error parsing GLSL shader:
+ERROR: 0:6: 'atomicCompSwap' : Atomic memory function can only be used for shader storage block member or shared variable.
+ERROR: 0:6: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
#version 310 es
ivec2 tint_atomicCompareExchangeWeak(inout int param_0, int param_1, int param_2) {
@@ -58,3 +67,10 @@
compute_main();
return;
}
+Error parsing GLSL shader:
+ERROR: 0:5: 'atomicCompSwap' : Atomic memory function can only be used for shader storage block member or shared variable.
+ERROR: 0:5: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl b/test/tint/builtins/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
index abfdbf5..65d12ed 100644
--- a/test/tint/builtins/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/atomicCompareExchangeWeak/6673da.wgsl.expected.glsl
@@ -1,3 +1,5 @@
+SKIP: FAILED
+
#version 310 es
precision mediump float;
@@ -28,6 +30,13 @@
fragment_main();
return;
}
+Error parsing GLSL shader:
+ERROR: 0:6: 'atomicCompSwap' : Atomic memory function can only be used for shader storage block member or shared variable.
+ERROR: 0:6: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
#version 310 es
uvec2 tint_atomicCompareExchangeWeak(inout uint param_0, uint param_1, uint param_2) {
@@ -58,3 +67,10 @@
compute_main();
return;
}
+Error parsing GLSL shader:
+ERROR: 0:5: 'atomicCompSwap' : Atomic memory function can only be used for shader storage block member or shared variable.
+ERROR: 0:5: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl b/test/tint/builtins/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
index 7cc71a3..2f649cd 100644
--- a/test/tint/builtins/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/atomicCompareExchangeWeak/89ea3b.wgsl.expected.glsl
@@ -1,3 +1,5 @@
+SKIP: FAILED
+
#version 310 es
ivec2 tint_atomicCompareExchangeWeak(inout int param_0, int param_1, int param_2) {
@@ -26,3 +28,10 @@
compute_main(gl_LocalInvocationIndex);
return;
}
+Error parsing GLSL shader:
+ERROR: 0:5: 'atomicCompSwap' : Atomic memory function can only be used for shader storage block member or shared variable.
+ERROR: 0:5: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl b/test/tint/builtins/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
index 56826d4..cbb201a 100644
--- a/test/tint/builtins/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/atomicCompareExchangeWeak/b2ab2c.wgsl.expected.glsl
@@ -1,3 +1,5 @@
+SKIP: FAILED
+
#version 310 es
uvec2 tint_atomicCompareExchangeWeak(inout uint param_0, uint param_1, uint param_2) {
@@ -26,3 +28,10 @@
compute_main(gl_LocalInvocationIndex);
return;
}
+Error parsing GLSL shader:
+ERROR: 0:5: 'atomicCompSwap' : Atomic memory function can only be used for shader storage block member or shared variable.
+ERROR: 0:5: '' : compilation terminated
+ERROR: 2 compilation errors. No code generated.
+
+
+
diff --git a/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl b/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
index d14ef3c..3808a80 100644
--- a/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureDimensions/ba1481.wgsl.expected.glsl
@@ -1,6 +1,6 @@
SKIP: FAILED
-../../src/tint/writer/glsl/generator_impl.cc:2587 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2544 internal compiler error: Multiplanar external texture transform was not run.
********************************************************************
diff --git a/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl b/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
index d14ef3c..3808a80 100644
--- a/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureLoad/8acf41.wgsl.expected.glsl
@@ -1,6 +1,6 @@
SKIP: FAILED
-../../src/tint/writer/glsl/generator_impl.cc:2587 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2544 internal compiler error: Multiplanar external texture transform was not run.
********************************************************************
diff --git a/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl b/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
index d14ef3c..3808a80 100644
--- a/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
+++ b/test/tint/builtins/gen/textureSampleLevel/979816.wgsl.expected.glsl
@@ -1,6 +1,6 @@
SKIP: FAILED
-../../src/tint/writer/glsl/generator_impl.cc:2587 internal compiler error: Multiplanar external texture transform was not run.
+../../src/tint/writer/glsl/generator_impl.cc:2544 internal compiler error: Multiplanar external texture transform was not run.
********************************************************************
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.wgsl.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.wgsl.expected.glsl
index 7cc77ec..005362d 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.wgsl.expected.glsl
@@ -1,45 +1,37 @@
SKIP: FAILED
-vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
-type Arr = @stride(16) array<f32, 3>;
- ^^^^^^
-
-vk-gl-cts/graphicsfuzz/cov-unused-access-past-matrix-elements/0-opt.wgsl:7:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
-type Arr_1 = @stride(16) array<i32, 4>;
- ^^^^^^
-
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
float el;
};
struct buf1 {
- tint_padded_array_element x_GLF_uniform_float_values[3];
+ strided_arr x_GLF_uniform_float_values[3];
};
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
int el;
};
struct buf0 {
- tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+ strided_arr_1 x_GLF_uniform_int_values[4];
};
layout(binding = 1) uniform buf1_1 {
- tint_padded_array_element x_GLF_uniform_float_values[3];
+ strided_arr x_GLF_uniform_float_values[3];
} x_6;
layout(binding = 0) uniform buf0_1 {
- tint_padded_array_element_1 x_GLF_uniform_int_values[4];
+ strided_arr_1 x_GLF_uniform_int_values[4];
} x_8;
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
void main_1() {
mat4x3 m43 = mat4x3(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f);
- tint_padded_array_element sums[3] = tint_padded_array_element[3](tint_padded_array_element(0.0f), tint_padded_array_element(0.0f), tint_padded_array_element(0.0f));
+ strided_arr sums[3] = strided_arr[3](strided_arr(0.0f), strided_arr(0.0f), strided_arr(0.0f));
int i = 0;
int a = 0;
int x_67_phi = 0;
@@ -53,8 +45,11 @@
float x_58 = x_6.x_GLF_uniform_float_values[0].el;
float x_60 = x_6.x_GLF_uniform_float_values[0].el;
float x_62 = x_6.x_GLF_uniform_float_values[0].el;
- tint_padded_array_element tint_symbol_1[3] = tint_padded_array_element[3](tint_padded_array_element(x_58), tint_padded_array_element(x_60), tint_padded_array_element(x_62));
- sums = tint_symbol_1;
+ strided_arr tint_symbol_1 = strided_arr(x_58);
+ strided_arr tint_symbol_2 = strided_arr(x_60);
+ strided_arr tint_symbol_3 = strided_arr(x_62);
+ strided_arr tint_symbol_4[3] = strided_arr[3](tint_symbol_1, tint_symbol_2, tint_symbol_3);
+ sums = tint_symbol_4;
int x_65 = x_8.x_GLF_uniform_int_values[0].el;
i = x_65;
x_67_phi = x_65;
@@ -110,8 +105,8 @@
main_out tint_symbol() {
main_1();
- main_out tint_symbol_2 = main_out(x_GLF_color);
- return tint_symbol_2;
+ main_out tint_symbol_5 = main_out(x_GLF_color);
+ return tint_symbol_5;
}
void main() {
@@ -120,9 +115,9 @@
return;
}
Error parsing GLSL shader:
-ERROR: 0:74: '[' : matrix index out of range '4'
-ERROR: 0:74: '=' : cannot convert from ' temp mediump 3-component vector of float' to ' temp mediump float'
-ERROR: 0:74: '' : compilation terminated
+ERROR: 0:77: '[' : matrix index out of range '4'
+ERROR: 0:77: '=' : cannot convert from ' temp mediump 3-component vector of float' to ' temp mediump float'
+ERROR: 0:77: '' : compilation terminated
ERROR: 3 compilation errors. No code generated.
diff --git a/test/tint/vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.wgsl.expected.glsl b/test/tint/vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.wgsl.expected.glsl
index 808d973..eda3b9a 100644
--- a/test/tint/vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.wgsl.expected.glsl
+++ b/test/tint/vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.wgsl.expected.glsl
@@ -1,39 +1,31 @@
SKIP: FAILED
-vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.wgsl:1:13 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
-type Arr = @stride(16) array<f32, 2>;
- ^^^^^^
-
-vk-gl-cts/graphicsfuzz/cov-write-past-matrix-elements-unused/0.wgsl:7:15 warning: use of deprecated language feature: the @stride attribute is deprecated; use a larger type if necessary
-type Arr_1 = @stride(16) array<i32, 3>;
- ^^^^^^
-
#version 310 es
precision mediump float;
layout(location = 0) out vec4 x_GLF_color_1_1;
-struct tint_padded_array_element {
+struct strided_arr {
float el;
};
struct buf1 {
- tint_padded_array_element x_GLF_uniform_float_values[2];
+ strided_arr x_GLF_uniform_float_values[2];
};
-struct tint_padded_array_element_1 {
+struct strided_arr_1 {
int el;
};
struct buf0 {
- tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+ strided_arr_1 x_GLF_uniform_int_values[3];
};
layout(binding = 1) uniform buf1_1 {
- tint_padded_array_element x_GLF_uniform_float_values[2];
+ strided_arr x_GLF_uniform_float_values[2];
} x_6;
layout(binding = 0) uniform buf0_1 {
- tint_padded_array_element_1 x_GLF_uniform_int_values[3];
+ strided_arr_1 x_GLF_uniform_int_values[3];
} x_8;
vec4 x_GLF_color = vec4(0.0f, 0.0f, 0.0f, 0.0f);
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 90862ee..bf1542c 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -31,7 +31,7 @@
if(${TINT_BUILD_SPV_READER} OR ${TINT_BUILD_SPV_WRITER})
if (NOT IS_DIRECTORY "${SPIRV-Headers_SOURCE_DIR}")
- set(SPIRV-Headers_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/spirv-headers CACHE STRING "Source directory for SPIR-V headers")
+ set(SPIRV-Headers_SOURCE_DIR "${TINT_THIRD_PARTY_DIR}/vulkan-deps/spirv-headers/src" CACHE STRING "Source directory for SPIR-V headers")
endif()
if (NOT TARGET SPIRV-Tools)
@@ -40,14 +40,14 @@
if (${TINT_BUILD_SPIRV_TOOLS_FUZZER})
set(SPIRV_BUILD_FUZZER ON CACHE BOOL "Controls whether spirv-fuzz is built" FORCE)
endif()
- set(SPIRV-Headers_SOURCE_DIR "${TINT_THIRD_PARTY_DIR}/spirv-headers")
- add_subdirectory("${TINT_THIRD_PARTY_DIR}/spirv-tools" "${CMAKE_BINARY_DIR}/third_party/spirv-tools" EXCLUDE_FROM_ALL)
+ set(SPIRV-Headers_SOURCE_DIR "${TINT_THIRD_PARTY_DIR}/vulkan-deps/spirv-headers/src")
+ add_subdirectory("${TINT_THIRD_PARTY_DIR}/vulkan-deps/spirv-tools/src" "${CMAKE_BINARY_DIR}/third_party/spirv-tools" EXCLUDE_FROM_ALL)
endif()
endif()
if(${TINT_BUILD_GLSL_WRITER})
- set(SPIRV-Headers_SOURCE_DIR "${TINT_THIRD_PARTY_DIR}/glslang")
+ set(SPIRV-Headers_SOURCE_DIR "${TINT_THIRD_PARTY_DIR}/vulkan-deps/glslang/src")
if(${TINT_BUILD_SAMPLES})
- add_subdirectory("${TINT_THIRD_PARTY_DIR}/glslang" "${CMAKE_BINARY_DIR}/third_party/glslang" EXCLUDE_FROM_ALL)
+ add_subdirectory("${TINT_THIRD_PARTY_DIR}/vulkan-deps/glslang/src" "${CMAKE_BINARY_DIR}/third_party/glslang" EXCLUDE_FROM_ALL)
endif()
endif()
diff --git a/tint_overrides_with_defaults.gni b/tint_overrides_with_defaults.gni
index e952005..9680e35 100644
--- a/tint_overrides_with_defaults.gni
+++ b/tint_overrides_with_defaults.gni
@@ -24,7 +24,7 @@
# Path to spirv-tools checkout
if (!defined(tint_spirv_tools_dir)) {
- tint_spirv_tools_dir = "//third_party/spirv-tools"
+ tint_spirv_tools_dir = "//third_party/vulkan-deps/spirv-tools/src"
}
# Path to googletest checkout
@@ -34,7 +34,7 @@
# Path to spirv-headers checkout
if (!defined(tint_spirv_headers_dir)) {
- tint_spirv_headers_dir = "//third_party/spirv-headers"
+ tint_spirv_headers_dir = "//third_party/vulkan-deps/spirv-headers/src"
}
# Build the SPIR-V input reader