From 8e69eb62d3bcac9911d2d52434d33de42d19f458 Mon Sep 17 00:00:00 2001 From: Simon Moll Date: Wed, 16 Jul 2025 09:32:56 +0200 Subject: [PATCH] [0027] Change HitObject::GetAttributes to use out udt param instead of templated Load pattern Closes #495 --- proposals/0027-shader-execution-reordering.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/proposals/0027-shader-execution-reordering.md b/proposals/0027-shader-execution-reordering.md index 04a7d4c2..d83936bb 100644 --- a/proposals/0027-shader-execution-reordering.md +++ b/proposals/0027-shader-execution-reordering.md @@ -564,14 +564,14 @@ Returns 0 if the `HitObject` does not encode a hit. ```C++ template -attr_t dx::HitObject::GetAttributes(); +void dx::HitObject::GetAttributes(out attr_t Attributes); ``` -Returns the attributes of a hit. `attr_t` must match the committed +Stores the committed attributes to `Attributes`. `attr_t` must match the committed attributes’ type regardless of whether they were committed by an intersection shader, fixed function logic, or using `HitObject::FromRayQuery`. -If the `HitObject` does not encode a hit, the returned value will be +If the `HitObject` does not encode a hit, `Attributes` will be zero-initialized. The size of `attr_t` must not exceed `MaxAttributeSizeInBytes` specified in the `D3D12_RAYTRACING_SHADER_CONFIG`.