Roll SPIRV-Tools and temporarily use Vulkan SPIRV validation
New additions to the validation for the WebGPU execution environment broke all the tests that use shaders because tests don't produce valid SPIR-V for WebGPU and also backends don't know how to lower WebGPU-flavored SPIR-V to target languages. Also rolls SPIRV-Headers to a version compatible with SPIRV-Tools TBR=kainino@chromium.org BUG=dawn:57 Change-Id: Icd9a199efc39cf143e38d64841eb4b122c9f54a9 Reviewed-on: https://dawn-review.googlesource.com/c/2706 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Stephen White <senorblanco@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This commit is contained in:
parent
596d6fe00d
commit
32abaffa73
4
DEPS
4
DEPS
|
@ -56,11 +56,11 @@ deps = {
|
||||||
|
|
||||||
# SPIRV compiler dependencies: SPIRV-Tools, SPIRV-headers, glslang and shaderc
|
# SPIRV compiler dependencies: SPIRV-Tools, SPIRV-headers, glslang and shaderc
|
||||||
'third_party/SPIRV-Tools': {
|
'third_party/SPIRV-Tools': {
|
||||||
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@1225324ae2450623e62621b91b380644f84c16d1',
|
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@dab634da93d39763bc5b526de9d25104a3bd3b65',
|
||||||
'condition': 'dawn_standalone',
|
'condition': 'dawn_standalone',
|
||||||
},
|
},
|
||||||
'third_party/spirv-headers': {
|
'third_party/spirv-headers': {
|
||||||
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@d5b2e1255f706ce1f88812217e9a554f299848af',
|
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@7cb43009d543e90698dd300eb26dfd6d9a9bb100',
|
||||||
'condition': 'dawn_standalone',
|
'condition': 'dawn_standalone',
|
||||||
},
|
},
|
||||||
'third_party/glslang': {
|
'third_party/glslang': {
|
||||||
|
|
|
@ -30,7 +30,7 @@ namespace dawn_native {
|
||||||
return DAWN_VALIDATION_ERROR("nextInChain must be nullptr");
|
return DAWN_VALIDATION_ERROR("nextInChain must be nullptr");
|
||||||
}
|
}
|
||||||
|
|
||||||
spvtools::SpirvTools spirvTools(SPV_ENV_WEBGPU_0);
|
spvtools::SpirvTools spirvTools(SPV_ENV_VULKAN_1_1);
|
||||||
|
|
||||||
std::ostringstream errorStream;
|
std::ostringstream errorStream;
|
||||||
errorStream << "SPIRV Validation failure:" << std::endl;
|
errorStream << "SPIRV Validation failure:" << std::endl;
|
||||||
|
|
|
@ -52,7 +52,9 @@ TEST_F(ShaderModuleValidationTest, CreationSuccess) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Test case with a shader with OpUndef to test WebGPU-specific validation
|
// Test case with a shader with OpUndef to test WebGPU-specific validation
|
||||||
TEST_F(ShaderModuleValidationTest, OpUndef) {
|
// TODO(cwallez@chromium.org): Disabled because of
|
||||||
|
// https://bugs.chromium.org/p/dawn/issues/detail?id=57
|
||||||
|
TEST_F(ShaderModuleValidationTest, DISABLED_OpUndef) {
|
||||||
const char* shader = R"(
|
const char* shader = R"(
|
||||||
OpCapability Shader
|
OpCapability Shader
|
||||||
%1 = OpExtInstImport "GLSL.std.450"
|
%1 = OpExtInstImport "GLSL.std.450"
|
||||||
|
|
Loading…
Reference in New Issue