DirectXShaderCompiler
                                
                                 DirectXShaderCompiler copied to clipboard
                                
                                    DirectXShaderCompiler copied to clipboard
                            
                            
                            
                        Inline Raytrace RayQuery::CommittedTriangleFrontFace Not Working
When using inline raytrace, after calling proceed on a ray query, using the call to RayQuery::CommittedTriangleFrontFace makes all the other calls to RayQuery::Committed*** return zeros or invalid. Not using the call to RayQuery::CommittedTriangleFrontFace makes the other calls return meaningful values.
Hit the same issue.
The same here. I hope that can be fixed because it's a very usefull feature.
Any updates on this issue?
Also hitting it. (RTX 2080 super with driver 522.25 in case its vendor specific)
Hitting this myself on the 3070 using the 531.79 driver.
If you think is a DXC compiler issue, can we get an HLSL repro that shows the bad DXIL output?
Please disregard the prior request for a repro. We have a repo and understand why this happens.
The root cause is that our intermediate high-level intrinsic functions have a collision problem when attributes differ.  CommittedTriangleFrontFace has the same function signature as Proceed, so when called, CommittedTriangleFrontFace creates the HL operation first with a ReadOnly function attribute, then Proceed looks up a matching signature and uses the existing function with the incorrect ReadOnly attribute.  Later, optimizations think Proceed may be eliminated as dead code if the return value isn't used because it looks like it's ReadOnly, when it shouldn't be.  There are potentially other impacts of this problem beyond this combination of calls as well.
Fixing this requires a change to the mangling of our intermediate high-level functions to properly capture the attributes.