Merge pull request #2388 from Tobski/rq-initialization-error

Error when initializing rayQuery with assignment
This commit is contained in:
John Kessenich 2020-09-08 05:39:06 -06:00 committed by GitHub
commit 6a6e311d81
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 22 additions and 0 deletions

View File

@ -0,0 +1,6 @@
rayQuery-initialization.Error.comp
ERROR: 0:7: '=' : ray queries can only be initialized by using the rayQueryInitializeEXT intrinsic: bar
ERROR: 1 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link

View File

@ -0,0 +1,8 @@
#version 460
#extension GL_EXT_ray_query : enable
void main () {
rayQueryEXT foo;
rayQueryEXT bar = foo;
}

View File

@ -6561,6 +6561,12 @@ TIntermNode* TParseContext::declareVariable(const TSourceLoc& loc, TString& iden
type.copyArrayInnerSizes(publicType.arraySizes);
arrayOfArrayVersionCheck(loc, type.getArraySizes());
if (initializer) {
if (type.getBasicType() == EbtRayQuery) {
error(loc, "ray queries can only be initialized by using the rayQueryInitializeEXT intrinsic:", "=", identifier.c_str());
}
}
if (type.isCoopMat()) {
intermediate.setUseVulkanMemoryModel();
intermediate.setUseStorageBuffer();

View File

@ -1,6 +1,7 @@
//
// Copyright (C) 2016 Google, Inc.
// Copyright (C) 2019 ARM Limited.
// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved.
//
// All rights reserved.
//
@ -238,6 +239,7 @@ INSTANTIATE_TEST_SUITE_P(
"rayQuery-committed.Error.rgen",
"rayQuery-allOps.comp",
"rayQuery-allOps.frag",
"rayQuery-initialization.Error.comp",
"spv.set.vert",
"spv.double.comp",
"spv.100ops.frag",