mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-13 21:50:06 +00:00
ffccefddfd
* Fix traceRay/executeCallable to have id instead of constant. Update to final (non-provisional) SPIR-V capabilities (includes review feedback) - Change visibilty of findLinkerObjects. See merge request GLSL/glslang!78 * Add support for OpConvertUToAccelerationStructureKHR. GLSL : https://gitlab.khronos.org/GLSL/GLSL/-/merge_requests/60 SPV : https://gitlab.khronos.org/spirv/spirv-extensions/-/merge_requests/182 See merge request GLSL/glslang!77 * Add volatile qualifier to certain builtins for ray tracing. See merge request GLSL/glslang!81 * make gl_RayTmaxEXT volatile in intersection shader Vulkan Issue #2268 * Add testing for layouts on SBT vulkan/vulkan#2230 - no layout specified should be same as std430 - explicitly test std140, std430, scalar layouts See merge request GLSL/glslang!86 * Support for new opcodes OpIgnoreIntersectionKHR and OpTerminateRayKHR vulkan/vulkan#2374 Add support for ignoreIntersectionEXT and terminateRayEXT as block terminator statements. See merge request GLSL/glslang!87 * Fix code-generation issues with global ray query variables See merge request GLSL/glslang!88 * update dependencies for spirv-headers and tools And update mesh shader results * Fix indeterminate argument ordering Authored-by: David Neto <dneto@google.com> Co-authored-by: Ashwin Lele (NVIDIA Corporation) <alele@nvidia.com> Co-authored-by: Neslisah <Neslisah.Torosdagli@amd.com>
28 lines
1.0 KiB
Plaintext
28 lines
1.0 KiB
Plaintext
#version 460
|
|
#extension GL_EXT_ray_tracing : enable
|
|
#extension GL_EXT_nonuniform_qualifier : enable
|
|
#extension GL_ARB_gpu_shader_int64 : enable
|
|
layout(binding = 0, set = 0) uniform accelerationStructureEXT accEXT0[];
|
|
layout(binding = 1, set = 0) uniform accelerationStructureEXT accEXT1[2];
|
|
layout(location = 1) rayPayloadEXT vec4 payload;
|
|
layout(shaderRecordEXT) buffer block
|
|
{
|
|
vec3 dir;
|
|
vec3 origin;
|
|
int i;
|
|
uvec2 aHandle32;
|
|
uint64_t aHandle64;
|
|
};
|
|
void main()
|
|
{
|
|
uint lx = gl_LaunchIDEXT.x;
|
|
uint ly = gl_LaunchIDEXT.y;
|
|
uint sx = gl_LaunchSizeEXT.x;
|
|
uint sy = gl_LaunchSizeEXT.y;
|
|
traceRayEXT(accEXT0[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
|
|
traceRayEXT(accEXT1[i], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
|
|
traceRayEXT(accEXT0[nonuniformEXT(i)], lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
|
|
traceRayEXT(accelerationStructureEXT(aHandle32), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
|
|
traceRayEXT(accelerationStructureEXT(aHandle64), lx, ly, sx, sy, 0u, origin, 0.5f, dir, 0.75f, 1);
|
|
}
|