Unverified Commit 4d7c749b by John Kessenich Committed by GitHub

Merge pull request #2159 from neslimsah/master

GL_EXT_ray_query accelerationStructureEXT
parents 99508c1c 2b4d345d
...@@ -18,13 +18,13 @@ rayQuery.rgen ...@@ -18,13 +18,13 @@ rayQuery.rgen
Name 12 "tMin" Name 12 "tMin"
Name 14 "tMax" Name 14 "tMax"
Name 18 "localRayQuery" Name 18 "localRayQuery"
Name 21 "accNV0" Name 21 "acc0"
Name 26 "block" Name 26 "block"
MemberName 26(block) 0 "dir" MemberName 26(block) 0 "dir"
MemberName 26(block) 1 "origin" MemberName 26(block) 1 "origin"
Name 28 "" Name 28 ""
Decorate 21(accNV0) DescriptorSet 0 Decorate 21(acc0) DescriptorSet 0
Decorate 21(accNV0) Binding 0 Decorate 21(acc0) Binding 0
MemberDecorate 26(block) 0 Offset 0 MemberDecorate 26(block) 0 Offset 0
MemberDecorate 26(block) 1 Offset 16 MemberDecorate 26(block) 1 Offset 16
Decorate 26(block) BufferBlock Decorate 26(block) BufferBlock
...@@ -41,7 +41,7 @@ rayQuery.rgen ...@@ -41,7 +41,7 @@ rayQuery.rgen
17: TypePointer Function 16 17: TypePointer Function 16
19: TypeAccelerationStructureKHR 19: TypeAccelerationStructureKHR
20: TypePointer UniformConstant 19 20: TypePointer UniformConstant 19
21(accNV0): 20(ptr) Variable UniformConstant 21(acc0): 20(ptr) Variable UniformConstant
24: 6(int) Constant 255 24: 6(int) Constant 255
25: TypeVector 10(float) 3 25: TypeVector 10(float) 3
26(block): TypeStruct 25(fvec3) 25(fvec3) 26(block): TypeStruct 25(fvec3) 25(fvec3)
...@@ -61,7 +61,7 @@ rayQuery.rgen ...@@ -61,7 +61,7 @@ rayQuery.rgen
Store 8(rayFlags) 9 Store 8(rayFlags) 9
Store 12(tMin) 13 Store 12(tMin) 13
Store 14(tMax) 15 Store 14(tMax) 15
22: 19 Load 21(accNV0) 22: 19 Load 21(acc0)
23: 6(int) Load 8(rayFlags) 23: 6(int) Load 8(rayFlags)
32: 31(ptr) AccessChain 28 30 32: 31(ptr) AccessChain 28 30
33: 25(fvec3) Load 32 33: 25(fvec3) Load 32
......
...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log ...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
uint y; uint y;
}; };
layout(binding = 1, set = 0) uniform accelerationStructureNV rtas; layout(binding = 1, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; }; layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
void doSomething() void doSomething()
......
...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log ...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
uint y; uint y;
}; };
layout(binding = 1, set = 0) uniform accelerationStructureNV rtas; layout(binding = 1, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; }; layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
void doSomething() void doSomething()
......
...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log ...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
uint y; uint y;
}; };
layout(binding = 1, set = 0) uniform accelerationStructureNV rtas; layout(binding = 1, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; }; layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
void doSomething() void doSomething()
......
...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log ...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
uint y; uint y;
}; };
layout(binding = 1, set = 0) uniform accelerationStructureNV rtas; layout(binding = 1, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; }; layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
void doSomething() void doSomething()
......
...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log ...@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
uint y; uint y;
}; };
layout(binding = 1, set = 0) uniform accelerationStructureNV rtas; layout(binding = 1, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; }; layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
void doSomething() void doSomething()
......
...@@ -10,7 +10,7 @@ struct Ray ...@@ -10,7 +10,7 @@ struct Ray
float tmax; float tmax;
}; };
layout(binding = 0, set = 0) uniform accelerationStructureNV rtas; layout(binding = 0, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; }; layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
layout(shaderRecordNV) buffer block layout(shaderRecordNV) buffer block
{ {
......
...@@ -10,7 +10,7 @@ struct Ray ...@@ -10,7 +10,7 @@ struct Ray
float tmax; float tmax;
}; };
layout(binding = 0, set = 0) uniform accelerationStructureNV rtas; layout(binding = 0, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; }; layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
uint launchIndex() uint launchIndex()
......
...@@ -10,7 +10,7 @@ struct Ray ...@@ -10,7 +10,7 @@ struct Ray
float tmax; float tmax;
}; };
layout(binding = 0, set = 0) uniform accelerationStructureNV rtas; layout(binding = 0, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; }; layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
uint launchIndex() uint launchIndex()
......
#version 460 #version 460
#extension GL_NV_ray_tracing : enable #extension GL_NV_ray_tracing : enable
#extension GL_EXT_ray_query : enable #extension GL_EXT_ray_query : enable
layout(binding = 0, set = 0) uniform accelerationStructureNV accNV0; layout(binding = 0, set = 0) uniform accelerationStructureEXT acc0;
layout(shaderRecordNV) buffer block layout(shaderRecordNV) buffer block
{ {
...@@ -15,7 +15,7 @@ void main() ...@@ -15,7 +15,7 @@ void main()
uint rayFlags = gl_RayFlagsOpaqueEXT | gl_RayFlagsSkipClosestHitShaderEXT; uint rayFlags = gl_RayFlagsOpaqueEXT | gl_RayFlagsSkipClosestHitShaderEXT;
float tMin = 0.f; float tMin = 0.f;
float tMax = 1000.f; float tMax = 1000.f;
rayQueryInitializeEXT(localRayQuery, accNV0, rayFlags, 0xFF , origin, tMin, dir, tMax); rayQueryInitializeEXT(localRayQuery, acc0, rayFlags, 0xFF , origin, tMin, dir, tMax);
if (!rayQueryProceedEXT(localRayQuery)) if (!rayQueryProceedEXT(localRayQuery))
{ {
rayQueryTerminateEXT(localRayQuery); rayQueryTerminateEXT(localRayQuery);
......
...@@ -1030,7 +1030,8 @@ int TScanContext::tokenizeIdentifier() ...@@ -1030,7 +1030,8 @@ int TScanContext::tokenizeIdentifier()
case CALLDATAINEXT: case CALLDATAINEXT:
case ACCSTRUCTEXT: case ACCSTRUCTEXT:
if (parseContext.symbolTable.atBuiltInLevel() || if (parseContext.symbolTable.atBuiltInLevel() ||
parseContext.extensionTurnedOn(E_GL_EXT_ray_tracing)) parseContext.extensionTurnedOn(E_GL_EXT_ray_tracing) ||
parseContext.extensionTurnedOn(E_GL_EXT_ray_query))
return keyword; return keyword;
return identifierOrType(); return identifierOrType();
case RAYQUERYEXT: case RAYQUERYEXT:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment