Helena Kotas a929b4a84a Code review feedback пре 4 година
..
d3dreflect fd07613a95 Texture2DMS fixes: missing ResProp data; reflection default NumSamples = 0 (#3578) пре 4 година
dxil 3bd5f9ccfa Errors on non-immediate load/gather offsets (#3283) пре 4 година
hlsl a929b4a84a Code review feedback пре 4 година
infra 4e5440e1ee Reorganize tests in CodegenHLSL for better clarity and coverage (#2456) пре 6 година
passes cf135fa88b Allow removal of trivially dead convergent marker (#3640) пре 4 година
pix 880c1359c5 PIX SM 6.6 resource access tracking (#3594) пре 4 година
rewriter 4211802b9a Support -line-directive in dxr. (#3027) пре 5 година
samples eaa7f95d07 Enable generation of llvm.lifetime.start/.end intrinsics (#3034) пре 5 година
shader_targets 1db765ea9c DXC extension for DXR Payload Access Qualifiers (#3171) пре 4 година
validation 86104f415f Internal validator error messages don't need /Zi anymore. (#3606) пре 4 година
Readme.md 8d9e1cbb86 Dxil.dll <= 1.5 compat: Fix RDAT break and validation tests (#3117) пре 5 година

Readme.md

Files in this directory are executed using FileCheck in a batch mode.

There is a confirmation bias problem when testing debug info using file-check.

Say your test file contains:

// RUN: %dxc -E main -T vs_6_0 -Zi %s | FileCheck %s
// CHECK: foo
void main() {}

Due to /Zi, the !dx.source.contents metadata will be present and contain a string with the original source file. This means that the generated file contains your "// CHECK: foo", and hence the "foo" itself, so the check will succeed by default!

The current workaround is to include the following in your test to explicitly match the quoted source file:

// Exclude quoted source file (see readme)
// CHECK-LABEL: {{!"[^"]*\\0A[^"]*"}}

This will match a metadata string containing \0A (newline), which should only appear in the quoted source file. It will not match itself in the quoted source file because the regex won't match itself, and even less the escaped version of itself.

Note that if you see a failure on that line, it means that something else before that CHECK failed to match.