Skip to content

Commit 820179b

Browse files
Merge pull request #1590 from KhronosGroup/fix-1584
Update ray-tracing support to include SPV_KHR_ray_tracing
2 parents 702c903 + 2097c30 commit 820179b

107 files changed

Lines changed: 1517 additions & 79 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
rayPayloadInEXT float payload;
5+
6+
void main()
7+
{
8+
if (payload > 0.0)
9+
{
10+
ignoreIntersectionEXT;
11+
}
12+
else
13+
{
14+
terminateRayEXT;
15+
}
16+
}
17+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#version 460
2+
#extension GL_NV_ray_tracing : require
3+
4+
rayPayloadInNV float payload;
5+
6+
void main()
7+
{
8+
if (payload > 0.0)
9+
{
10+
ignoreIntersectionNV();
11+
}
12+
else
13+
{
14+
terminateRayNV();
15+
}
16+
}
17+
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
struct Foo
5+
{
6+
float a;
7+
float b;
8+
};
9+
10+
struct Foo2
11+
{
12+
float a;
13+
float b;
14+
};
15+
16+
layout(location = 0) rayPayloadInEXT Foo payload;
17+
hitAttributeEXT Foo2 hit;
18+
19+
void main()
20+
{
21+
payload.a = hit.a;
22+
payload.b = hit.b;
23+
}
24+
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
struct Foo
5+
{
6+
float a;
7+
float b;
8+
};
9+
10+
struct Foo2
11+
{
12+
float a;
13+
float b;
14+
};
15+
16+
layout(location = 0) rayPayloadInEXT Foo payload;
17+
hitAttributeEXT Foo2 hit;
18+
19+
void main()
20+
{
21+
payload.a = hit.a;
22+
payload.b = hit.b;
23+
}
24+
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
layout(location = 0) rayPayloadInEXT vec2 payload;
5+
hitAttributeEXT vec2 hit;
6+
7+
void main()
8+
{
9+
payload = hit;
10+
}
11+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
struct Foo
5+
{
6+
float a;
7+
float b;
8+
};
9+
10+
layout(location = 0) rayPayloadInEXT Foo payload;
11+
hitAttributeEXT Foo hit;
12+
13+
void main()
14+
{
15+
payload = hit;
16+
}
17+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
layout(location = 0) rayPayloadInEXT uint payload;
5+
6+
void main()
7+
{
8+
payload = gl_HitKindEXT;
9+
}
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
layout(location = 0) rayPayloadInEXT float payload;
5+
6+
void main()
7+
{
8+
payload = gl_RayTmaxEXT;
9+
}
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
layout(location = 0) rayPayloadInEXT uint payload;
5+
6+
void main()
7+
{
8+
payload = gl_IncomingRayFlagsEXT;
9+
}
10+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#version 460
2+
#extension GL_EXT_ray_tracing : require
3+
4+
layout(location = 0) rayPayloadInEXT uint payload;
5+
6+
void main()
7+
{
8+
payload = uint(gl_InstanceCustomIndexEXT);
9+
}
10+

0 commit comments

Comments
 (0)