Skip to content

Commit

Permalink
Update PAQ unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
jenatali committed Oct 2, 2024
1 parent 6425268 commit 073028c
Showing 1 changed file with 21 additions and 3 deletions.
24 changes: 21 additions & 3 deletions tools/clang/unittests/HLSL/DxilModuleTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -571,9 +571,10 @@ TEST_F(DxilModuleTest, PayloadQualifier) {
"{\n"
" double a : read(caller, closesthit, anyhit) : "
"write(caller, miss, closesthit);\n"
" int b : read(caller) : write(miss);\n"
"};\n\n"
"[shader(\"miss\")]\n"
"void Miss( inout Payload payload ) { payload.a = 4.2; }\n";
"void Miss( inout Payload payload ) { payload.a = 4.2; payload.b = 1; }\n";

c.Compile(shader, L"lib_6_6", arguments, {});

Expand All @@ -582,9 +583,9 @@ TEST_F(DxilModuleTest, PayloadQualifier) {

for (auto &p : DTS.GetPayloadAnnotationMap()) {
const DxilPayloadAnnotation &plAnnotation = *p.second;
for (unsigned i = 0; i < plAnnotation.GetNumFields(); ++i) {
{
const DxilPayloadFieldAnnotation &fieldAnnotation =
plAnnotation.GetFieldAnnotation(i);
plAnnotation.GetFieldAnnotation(0);
VERIFY_IS_TRUE(fieldAnnotation.HasAnnotations());
VERIFY_ARE_EQUAL(DXIL::PayloadAccessQualifier::ReadWrite,
fieldAnnotation.GetPayloadFieldQualifier(
Expand All @@ -599,6 +600,23 @@ TEST_F(DxilModuleTest, PayloadQualifier) {
fieldAnnotation.GetPayloadFieldQualifier(
DXIL::PayloadAccessShaderStage::Anyhit));
}
{
const DxilPayloadFieldAnnotation &fieldAnnotation =
plAnnotation.GetFieldAnnotation(1);
VERIFY_IS_TRUE(fieldAnnotation.HasAnnotations());
VERIFY_ARE_EQUAL(DXIL::PayloadAccessQualifier::Read,
fieldAnnotation.GetPayloadFieldQualifier(
DXIL::PayloadAccessShaderStage::Caller));
VERIFY_ARE_EQUAL(DXIL::PayloadAccessQualifier::NoAccess,
fieldAnnotation.GetPayloadFieldQualifier(
DXIL::PayloadAccessShaderStage::Closesthit));
VERIFY_ARE_EQUAL(DXIL::PayloadAccessQualifier::Write,
fieldAnnotation.GetPayloadFieldQualifier(
DXIL::PayloadAccessShaderStage::Miss));
VERIFY_ARE_EQUAL(DXIL::PayloadAccessQualifier::NoAccess,
fieldAnnotation.GetPayloadFieldQualifier(
DXIL::PayloadAccessShaderStage::Anyhit));
}
}
}

Expand Down

0 comments on commit 073028c

Please sign in to comment.