Add a cull flags, so each convex geometry is counted once, instead of twice.
Components: Vulkan
VK-GL-CTS Issue: 2890
Affects:
dEQP-VK.ray_tracing_pipeline.misc.*stress*
dEQP-VK.ray_tracing_pipeline.misc.cullmask*
dEQP-VK.ray_tracing_pipeline.misc.mixedPrimTL
Change-Id: Ie2e74149be8bb710c7ae3afb77f5854dca247aca
"void main()\n"
"{\n"
" uint nInvocation = gl_LaunchIDEXT.z * gl_LaunchSizeEXT.x * gl_LaunchSizeEXT.y + gl_LaunchIDEXT.y * gl_LaunchSizeEXT.x + gl_LaunchIDEXT.x;\n"
- " uint rayFlags = 0;\n"
+ " uint rayFlags = gl_RayFlagsCullBackFacingTrianglesEXT;\n"
" float tmin = 0.001;\n"
" float tmax = 9.0;\n"
"\n"
"void main()\n"
"{\n"
" uint nInvocation = gl_LaunchIDEXT.z * gl_LaunchSizeEXT.x * gl_LaunchSizeEXT.y + gl_LaunchIDEXT.y * gl_LaunchSizeEXT.x + gl_LaunchIDEXT.x;\n"
- " uint rayFlags = 0;\n"
+ " uint rayFlags = gl_RayFlagsCullBackFacingTrianglesEXT;\n"
" float tmin = 0.001;\n"
" float tmax = 9.0;\n"
"\n"
" const uint nRaysPerInvocation = " + de::toString(m_nRaysPerInvocation) + ";\n"
"\n"
" uint nInvocation = gl_LaunchIDEXT.z * gl_LaunchSizeEXT.x * gl_LaunchSizeEXT.y + gl_LaunchIDEXT.y * gl_LaunchSizeEXT.x + gl_LaunchIDEXT.x;\n"
- " uint rayFlags = 0;\n"
+ " uint rayFlags = gl_RayFlagsCullBackFacingTrianglesEXT;\n"
" float tmin = 0.001;\n"
" float tmax = 4.0;\n"
"\n"