Add support for GL_NV_ray_tracing_motion_blur.

This commit is contained in:
alelenv
2021-08-10 10:40:28 -07:00
parent e0f3fdf433
commit fc60f77aa2
22 changed files with 394 additions and 4 deletions

View File

@@ -0,0 +1,33 @@
spv.AnyHitShaderMotion.rahit
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 14
Capability RayTracingKHR
Capability RayTracingMotionBlurNV
Extension "SPV_KHR_ray_tracing"
Extension "SPV_NV_ray_tracing_motion_blur"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint AnyHitKHR 4 "main" 10
Source GLSL 460
SourceExtension "GL_NV_ray_tracing_motion_blur"
Name 4 "main"
Name 8 "time"
Name 10 "gl_CurrentRayTimeNV"
Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypePointer Input 6(float)
10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
12: 6(float) Constant 1056964608
4(main): 2 Function None 3
5: Label
8(time): 7(ptr) Variable Function
11: 6(float) Load 10(gl_CurrentRayTimeNV)
13: 6(float) FAdd 11 12
Store 8(time) 13
Return
FunctionEnd

View File

@@ -0,0 +1,59 @@
spv.ClosestHitShaderMotion.rchit
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 33
Capability RayTracingKHR
Capability RayTracingMotionBlurNV
Extension "SPV_KHR_ray_tracing"
Extension "SPV_NV_ray_tracing_motion_blur"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint ClosestHitKHR 4 "main" 10 16 32
Source GLSL 460
SourceExtension "GL_EXT_ray_tracing"
SourceExtension "GL_NV_ray_tracing_motion_blur"
Name 4 "main"
Name 8 "time"
Name 10 "gl_CurrentRayTimeNV"
Name 16 "accEXT"
Name 32 "incomingPayloadEXT"
Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
Decorate 16(accEXT) DescriptorSet 0
Decorate 16(accEXT) Binding 0
Decorate 32(incomingPayloadEXT) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypePointer Input 6(float)
10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
12: 6(float) Constant 1056964608
14: TypeAccelerationStructureKHR
15: TypePointer UniformConstant 14
16(accEXT): 15(ptr) Variable UniformConstant
18: TypeInt 32 0
19: 18(int) Constant 0
20: 18(int) Constant 1
21: 18(int) Constant 2
22: 18(int) Constant 3
23: TypeVector 6(float) 3
24: 23(fvec3) ConstantComposite 12 12 12
25: 6(float) Constant 1065353216
26: 23(fvec3) ConstantComposite 25 25 25
27: 6(float) Constant 1061158912
28: TypeInt 32 1
29: 28(int) Constant 0
30: TypeVector 6(float) 4
31: TypePointer IncomingRayPayloadKHR 30(fvec4)
32(incomingPayloadEXT): 31(ptr) Variable IncomingRayPayloadKHR
4(main): 2 Function None 3
5: Label
8(time): 7(ptr) Variable Function
11: 6(float) Load 10(gl_CurrentRayTimeNV)
13: 6(float) FAdd 11 12
Store 8(time) 13
17: 14 Load 16(accEXT)
TraceRayMotionNV 17 19 20 21 22 19 24 12 26 27 25 32(incomingPayloadEXT)
Return
FunctionEnd

View File

@@ -0,0 +1,33 @@
spv.IntersectShaderMotion.rint
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 14
Capability RayTracingKHR
Capability RayTracingMotionBlurNV
Extension "SPV_KHR_ray_tracing"
Extension "SPV_NV_ray_tracing_motion_blur"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint IntersectionKHR 4 "main" 10
Source GLSL 460
SourceExtension "GL_NV_ray_tracing_motion_blur"
Name 4 "main"
Name 8 "time"
Name 10 "gl_CurrentRayTimeNV"
Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypePointer Input 6(float)
10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
12: 6(float) Constant 1056964608
4(main): 2 Function None 3
5: Label
8(time): 7(ptr) Variable Function
11: 6(float) Load 10(gl_CurrentRayTimeNV)
13: 6(float) FAdd 11 12
Store 8(time) 13
Return
FunctionEnd

View File

@@ -0,0 +1,59 @@
spv.MissShaderMotion.rmiss
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 33
Capability RayTracingKHR
Capability RayTracingMotionBlurNV
Extension "SPV_KHR_ray_tracing"
Extension "SPV_NV_ray_tracing_motion_blur"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint MissKHR 4 "main" 10 16 32
Source GLSL 460
SourceExtension "GL_EXT_ray_tracing"
SourceExtension "GL_NV_ray_tracing_motion_blur"
Name 4 "main"
Name 8 "time"
Name 10 "gl_CurrentRayTimeNV"
Name 16 "accEXT"
Name 32 "localPayloadEXT"
Decorate 10(gl_CurrentRayTimeNV) BuiltIn CurrentRayTimeNV
Decorate 16(accEXT) DescriptorSet 0
Decorate 16(accEXT) Binding 0
Decorate 32(localPayloadEXT) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypePointer Function 6(float)
9: TypePointer Input 6(float)
10(gl_CurrentRayTimeNV): 9(ptr) Variable Input
12: 6(float) Constant 1056964608
14: TypeAccelerationStructureKHR
15: TypePointer UniformConstant 14
16(accEXT): 15(ptr) Variable UniformConstant
18: TypeInt 32 0
19: 18(int) Constant 0
20: 18(int) Constant 1
21: 18(int) Constant 2
22: 18(int) Constant 3
23: TypeVector 6(float) 3
24: 23(fvec3) ConstantComposite 12 12 12
25: 6(float) Constant 1065353216
26: 23(fvec3) ConstantComposite 25 25 25
27: 6(float) Constant 1061158912
28: TypeInt 32 1
29: 28(int) Constant 0
30: TypeVector 6(float) 4
31: TypePointer RayPayloadKHR 30(fvec4)
32(localPayloadEXT): 31(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
8(time): 7(ptr) Variable Function
11: 6(float) Load 10(gl_CurrentRayTimeNV)
13: 6(float) FAdd 11 12
Store 8(time) 13
17: 14 Load 16(accEXT)
TraceRayMotionNV 17 19 20 21 22 19 24 12 26 27 25 32(localPayloadEXT)
Return
FunctionEnd

View File

@@ -0,0 +1,81 @@
spv.RayGenShaderMotion.rgen
// Module Version 10400
// Generated by (magic number): 8000a
// Id's are bound by 47
Capability RayTracingKHR
Capability RayTracingMotionBlurNV
Extension "SPV_KHR_ray_tracing"
Extension "SPV_NV_ray_tracing_motion_blur"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationKHR 4 "main" 11 21 29 46
Source GLSL 460
SourceExtension "GL_EXT_ray_tracing"
SourceExtension "GL_NV_ray_tracing_motion_blur"
Name 4 "main"
Name 8 "lx"
Name 11 "gl_LaunchIDEXT"
Name 16 "ly"
Name 20 "sx"
Name 21 "gl_LaunchSizeEXT"
Name 24 "sy"
Name 29 "accEXT"
Name 46 "payloadEXT"
Decorate 11(gl_LaunchIDEXT) BuiltIn LaunchIdKHR
Decorate 21(gl_LaunchSizeEXT) BuiltIn LaunchSizeKHR
Decorate 29(accEXT) DescriptorSet 0
Decorate 29(accEXT) Binding 0
Decorate 46(payloadEXT) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypeVector 6(int) 3
10: TypePointer Input 9(ivec3)
11(gl_LaunchIDEXT): 10(ptr) Variable Input
12: 6(int) Constant 0
13: TypePointer Input 6(int)
17: 6(int) Constant 1
21(gl_LaunchSizeEXT): 10(ptr) Variable Input
27: TypeAccelerationStructureKHR
28: TypePointer UniformConstant 27
29(accEXT): 28(ptr) Variable UniformConstant
35: TypeFloat 32
36: TypeVector 35(float) 3
37: 35(float) Constant 1056964608
38: 36(fvec3) ConstantComposite 37 37 37
39: 35(float) Constant 1065353216
40: 36(fvec3) ConstantComposite 39 39 39
41: 35(float) Constant 1061158912
42: TypeInt 32 1
43: 42(int) Constant 0
44: TypeVector 35(float) 4
45: TypePointer RayPayloadKHR 44(fvec4)
46(payloadEXT): 45(ptr) Variable RayPayloadKHR
4(main): 2 Function None 3
5: Label
8(lx): 7(ptr) Variable Function
16(ly): 7(ptr) Variable Function
20(sx): 7(ptr) Variable Function
24(sy): 7(ptr) Variable Function
14: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 12
15: 6(int) Load 14
Store 8(lx) 15
18: 13(ptr) AccessChain 11(gl_LaunchIDEXT) 17
19: 6(int) Load 18
Store 16(ly) 19
22: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 12
23: 6(int) Load 22
Store 20(sx) 23
25: 13(ptr) AccessChain 21(gl_LaunchSizeEXT) 17
26: 6(int) Load 25
Store 24(sy) 26
30: 27 Load 29(accEXT)
31: 6(int) Load 8(lx)
32: 6(int) Load 16(ly)
33: 6(int) Load 20(sx)
34: 6(int) Load 24(sy)
TraceRayMotionNV 30 31 32 33 34 12 38 37 40 41 37 46(payloadEXT)
Return
FunctionEnd