You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is because in layoutTypeCheck : ParseHelper.cpp, all error checks are disabled when extension is enabled (which seems a bit too prohibitive in first place)
The issue is because raytracing intrinsics like traceRayEXT, executeCallableEXT have last argument has location id which is mapped to actual variable during spirv translation and this map is populated in above function
We need to move this code to some non error check function
I plan to have a fix
The text was updated successfully, but these errors were encountered:
My memory failed me and I forgot we don't really map this in ParseHelper, but do a separate walk over linker objects in collectRayTracingObjects to populate the locationToSymbol map
Given we have just disabled error checking for layout qualifier related errors in presence of this extension, I am going to go with this logic and disable the error check.
I do think the outright disabling of error checks is a bit too restrictive, so long term we should look into relaxing that
Fix in flight
alelenv
added a commit
to alelenv/glslang
that referenced
this issue
May 6, 2022
Following legal shader fails to compile
#version 460
#extension GL_EXT_ray_tracing : enable
#extension GL_EXT_spirv_intrinsics: enable
layout(binding = 0) buffer block {
vec2 op;
};
layout ( binding = 1) uniform accelerationStructureEXT as;
layout ( location = 1) rayPayloadEXT vec2 pay;
void main()
{
traceRayEXT(as , 0xff , 0xff , 1U , 1, 1, vec3(0.5), 0.0, vec3(1.5),1.0f, 1);
op += pay;
}
This is because in layoutTypeCheck : ParseHelper.cpp, all error checks are disabled when extension is enabled (which seems a bit too prohibitive in first place)
The issue is because raytracing intrinsics like traceRayEXT, executeCallableEXT have last argument has location id which is mapped to actual variable during spirv translation and this map is populated in above function
We need to move this code to some non error check function
I plan to have a fix
The text was updated successfully, but these errors were encountered: