Add YAML-driven acceleration structure definitions for .test files#1214
Conversation
25f1db9 to
9bc46ea
Compare
This comment was marked as resolved.
This comment was marked as resolved.
5327bdc to
fe1a6e6
Compare
fe1a6e6 to
a60120c
Compare
a60120c to
8d00c38
Compare
e2af1c3 to
a7d8a28
Compare
de55a15 to
c075d64
Compare
bogner
left a comment
There was a problem hiding this comment.
My comments on the one test apply to all three, but otherwise this LGTM.
| # CHECK: Name: Output | ||
| # CHECK: Data: [ 1 ] |
There was a problem hiding this comment.
Why are we doing both a Results block and FileCheck? The FileCheck part is redundant.
There was a problem hiding this comment.
Interesting. Many other tests still seem to use a stdout-readback + FileCheck/CHECK, and even though FileCheck is more featureful (regex, CHECK-NEXT/NOT, ordering assertions on log output) most of those are also "just compare a buffer" and could equally well use a direct buffer comparison through Results:. Any clue why they don't — historical inertia from before Results: existed, or is there a deliberate reason I'm missing? Happy to do a consistency pass in a separate PR if you'd like them migrated.
There was a problem hiding this comment.
It's just historical inertia from before Results existed. If you feel like doing a consistency pass I wouldn't say no to it :)
c075d64 to
acf1e6e
Compare
acf1e6e to
6c4fecc
Compare
Add AccelerationStructure to ResourceKind and introduce pipeline structs (TriangleGeometry, AABBGeometry, BLASDesc, InstanceDesc, TLASDesc) with YAML parsing and name resolution for buffer/BLAS/TLAS references. Backend switch statements are updated to handle the new enum value. Includes three placeholder InlineRT test files exercising the new YAML format (gated behind REQUIRES: raytracing). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
6c4fecc to
8ef7553
Compare
|
Test failures are unrelated to this PR, merging. |
For #1158
Summary
AccelerationStructuretoResourceKindand introduce pipeline structs (TriangleGeometry,AABBGeometry,BLASDesc,InstanceDesc,TLASDesc) ininclude/Support/Pipeline.hwith YAML parsing and name-based resolution for buffer/BLAS/TLAS references inlib/Support/Pipeline.cpp.RaytracingTiercapability enum (NotSupported/1.0/1.1) wired throughDXFeatures.def/.h/.cppso the DX device can report a raytracing tier.acceleration-structurelit feature intest/lit.cfg.py, derived per-backend from DXRaytracingTier != NotSupported, MetalsupportsRaytracing, and VulkanVK_KHR_acceleration_structure.AccelerationStructurecases to the resource-kind switch statements in the DX, Metal, and Vulkan device backends (no execution yet — just enum coverage).triangle-setup,indexed-triangle-setup,multi-instance) exercising the new YAML format, gated behindREQUIRES: acceleration-structureand markedXFAIL: *because backend execution of acceleration structures is not implemented yet.This PR only introduces the YAML surface area, parsing, and capability detection — the runtime side that actually builds/binds acceleration structures is intentionally out of scope and will follow.
Test plan
check-hlsl-offloadpasses on DX, Metal, and Vulkan with the three new tests reported asXFAIL(or skipped whereacceleration-structureisn't available).