HeapASRead renders a triangle, tracing half the frame with traceRayEXT and ray querying the other half, both reading the TLAS out of the descriptor heap, and checks the read-back pixels. The test runner runs it through the engine's normal path, so on NVIDIA it covers the rewrite too: an inherited CRAFTER_GRAPHICS_NO_AS_WORKAROUND is cleared, and the test checks the rewrite is on exactly where the driver needs it. HeapASRead --no-workaround is the check for a newer driver. Each path renders in its own child process with the rewrite off and validation off (GPU-assisted validation instruments the shaders), so a device loss on one doesn't hide the other. On 615.78.08 traceRayEXT still loses the device and the ray query renders nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
11 lines
257 B
GLSL
11 lines
257 B
GLSL
//SPDX-License-Identifier: LGPL-3.0-only
|
|
//SPDX-FileCopyrightText: Copyright (C) 2026 Catcrafts®
|
|
|
|
#version 460
|
|
#extension GL_EXT_ray_tracing : enable
|
|
|
|
layout(location = 0) rayPayloadInEXT vec3 hitValue;
|
|
|
|
void main() {
|
|
hitValue = vec3(0.0, 1.0, 0.0);
|
|
}
|