-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
area: correctnessWe're behaving incorrectlyWe're behaving incorrectlyarea: validationIssues related to validation, diagnostics, and error handlingIssues related to validation, diagnostics, and error handlingbackend: vulkanIssues with VulkanIssues with Vulkanfeature: raytracingIssues with the Ray Tracing Native FeatureIssues with the Ray Tracing Native FeaturenagaShader TranslatorShader Translatortype: bugSomething isn't workingSomething isn't working
Description
Is your feature request related to a problem? Please describe.
Currently the ray queries have lots of undefined behavior from the spirv spec that should be removed
Describe the solution you'd like
Prevent the undefined behaviour
Describe alternatives you've considered
Not remove it.
Additional context
Also see #6731 for some details of what can happen.
Current known undefined behavior*:
- (Vulkan only) Anytime a ray misses and
rayQueryGet*Intersection
is called - [spirv] Stop naga causing undefined behavior inrayQueryGet*Intersection
#6752 - (Vulkan and DX12) Calling
rayQueryGetCommittedIntersection
orrayQueryGetCandidateIntersection
whenrayQueryProceed
has not been called called on this ray query since it was initialized (or if the ray query has not been previously initialized).- Make this optional if module is trusted (This is avoidable).
- (Vulkan and DX12) Calling
rayQueryGetCommittedIntersection
whenrayQueryProceed
's latest return on this ray query is consideredCandidate
(and the other way round too).- Make this optional if module is trusted (This is avoidable).
- (Vulkan and DX12) Calling
rayQueryProceed
whenrayQueryInitialize
has not previously been called on this ray query.- Make this optional if module is trusted (This is avoidable).
*I don't know Metal's requirements and cannot find them easily listed, if anyone does know them (or can find them) could they post them below?
Metadata
Metadata
Assignees
Labels
area: correctnessWe're behaving incorrectlyWe're behaving incorrectlyarea: validationIssues related to validation, diagnostics, and error handlingIssues related to validation, diagnostics, and error handlingbackend: vulkanIssues with VulkanIssues with Vulkanfeature: raytracingIssues with the Ray Tracing Native FeatureIssues with the Ray Tracing Native FeaturenagaShader TranslatorShader Translatortype: bugSomething isn't workingSomething isn't working