mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-09 20:10: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>
33 lines
911 B
Plaintext
33 lines
911 B
Plaintext
#version 460
|
|
#extension GL_EXT_ray_tracing : enable
|
|
#extension GL_KHR_shader_subgroup_basic : enable
|
|
layout(location = 1) rayPayloadInEXT vec4 incomingPayload;
|
|
void main()
|
|
{
|
|
uvec3 v0 = gl_LaunchIDEXT;
|
|
uvec3 v1 = gl_LaunchSizeEXT;
|
|
int v2 = gl_PrimitiveID;
|
|
int v3 = gl_InstanceID;
|
|
int v4 = gl_InstanceCustomIndexEXT;
|
|
vec3 v5 = gl_WorldRayOriginEXT;
|
|
vec3 v6 = gl_WorldRayDirectionEXT;
|
|
vec3 v7 = gl_ObjectRayOriginEXT;
|
|
vec3 v8 = gl_ObjectRayDirectionEXT;
|
|
float v9 = gl_RayTminEXT;
|
|
float v10 = gl_RayTmaxEXT;
|
|
float v11 = gl_HitTEXT;
|
|
uint v12 = gl_HitKindEXT;
|
|
mat4x3 v13 = gl_ObjectToWorldEXT;
|
|
mat4x3 v14 = gl_WorldToObjectEXT;
|
|
int v15 = gl_GeometryIndexEXT;
|
|
mat3x4 v16 = gl_ObjectToWorld3x4EXT;
|
|
mat3x4 v17 = gl_WorldToObject3x4EXT;
|
|
incomingPayload = vec4(0.5f);
|
|
if (v2 == 1) {
|
|
ignoreIntersectionEXT;
|
|
v0.x++;
|
|
}
|
|
incomingPayload.x += float(gl_SubgroupSize);
|
|
terminateRayEXT;
|
|
}
|