From 3374f43c31b3ed0fc99a746d93e1962a1a3200f9 Mon Sep 17 00:00:00 2001 From: Ryan Harrison Date: Mon, 28 Mar 2022 18:01:02 +0000 Subject: [PATCH] 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 Auto-Submit: Ryan Harrison Reviewed-by: Ben Clayton Kokoro: Kokoro Commit-Queue: Ryan Harrison --- .gitignore | 4 +- CMakeLists.txt | 4 +- DEPS | 95 ++++++++----------- build_overrides/glslang.gni | 2 +- build_overrides/spirv_tools.gni | 2 +- src/tint/cmd/BUILD.gn | 4 +- .../benchmark/particles.wgsl.expected.glsl | 25 +++-- .../12871c.wgsl.expected.glsl | 16 ++++ .../6673da.wgsl.expected.glsl | 16 ++++ .../89ea3b.wgsl.expected.glsl | 9 ++ .../b2ab2c.wgsl.expected.glsl | 9 ++ .../ba1481.wgsl.expected.glsl | 2 +- .../gen/textureLoad/8acf41.wgsl.expected.glsl | 2 +- .../979816.wgsl.expected.glsl | 2 +- .../0-opt.wgsl.expected.glsl | 39 ++++---- .../0.wgsl.expected.glsl | 20 ++-- third_party/CMakeLists.txt | 10 +- tint_overrides_with_defaults.gni | 4 +- 18 files changed, 146 insertions(+), 119 deletions(-) diff --git a/.gitignore b/.gitignore index 0503afb25a..19bafabc77 100644 --- a/.gitignore +++ b/.gitignore @@ -19,13 +19,11 @@ lcov.info /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 eadb6338b1..17a7ec5e29 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -200,7 +200,7 @@ if (${TINT_CHECK_CHROMIUM_STYLE}) 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 @@ function(tint_core_compile_options TARGET) 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=$) diff --git a/DEPS b/DEPS index fbd2af5d7e..7bf1906341 100644 --- a/DEPS +++ b/DEPS @@ -7,24 +7,8 @@ gclient_gn_args = [ ] 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 @@ vars = { } 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 @@ deps = { '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 @@ hooks = [ 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 6345b33ab7..80a30c9d6d 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 a886b46cd8..13bffc517e 100644 --- a/build_overrides/spirv_tools.gni +++ b/build_overrides/spirv_tools.gni @@ -17,4 +17,4 @@ spirv_tools_standalone = false # 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 c9c2f20fc9..c2f4322d67 100644 --- a/src/tint/cmd/BUILD.gn +++ b/src/tint/cmd/BUILD.gn @@ -27,8 +27,8 @@ executable("tint") { 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 1ff55f9044..acf0f1b09a 100644 --- a/test/tint/benchmark/particles.wgsl.expected.glsl +++ b/test/tint/benchmark/particles.wgsl.expected.glsl @@ -170,7 +170,7 @@ struct UBO { 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 @@ void simulate(uvec3 GlobalInvocationID) { 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 22d032e2f8..6aa8f5a9f7 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 @@ void main() { 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 @@ void main() { 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 abfdbf59e0..65d12ed736 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 @@ void main() { 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 @@ void main() { 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 7cc71a3e44..2f649cd762 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 @@ void main() { 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 56826d489b..cbb201a116 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 @@ void main() { 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 d14ef3cd8e..3808a80307 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 d14ef3cd8e..3808a80307 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 d14ef3cd8e..3808a80307 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 7cc77ec722..005362d121 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; - ^^^^^^ - -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; - ^^^^^^ - #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 @@ void main_1() { 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 @@ struct main_out { 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 @@ void main() { 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 808d973f31..eda3b9ae04 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; - ^^^^^^ - -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; - ^^^^^^ - #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 90862eebdb..bf1542cee7 100644 --- a/third_party/CMakeLists.txt +++ b/third_party/CMakeLists.txt @@ -31,7 +31,7 @@ endif() 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_SPV_READER} OR ${TINT_BUILD_SPV_WRITER}) 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 e952005b39..9680e353aa 100644 --- a/tint_overrides_with_defaults.gni +++ b/tint_overrides_with_defaults.gni @@ -24,7 +24,7 @@ declare_args() { # 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 @@ declare_args() { # 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