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
Name 12 "tMin"
Name 14 "tMax"
Name 18 "localRayQuery"
Name 21 "accNV0"
Name 21 "acc0"
Name 26 "block"
MemberName 26(block) 0 "dir"
MemberName 26(block) 1 "origin"
Name 28 ""
Decorate 21(accNV0) DescriptorSet 0
Decorate 21(accNV0) Binding 0
Decorate 21(acc0) DescriptorSet 0
Decorate 21(acc0) Binding 0
MemberDecorate 26(block) 0 Offset 0
MemberDecorate 26(block) 1 Offset 16
Decorate 26(block) BufferBlock
......@@ -41,7 +41,7 @@ rayQuery.rgen
17: TypePointer Function 16
19: TypeAccelerationStructureKHR
20: TypePointer UniformConstant 19
21(accNV0): 20(ptr) Variable UniformConstant
21(acc0): 20(ptr) Variable UniformConstant
24: 6(int) Constant 255
25: TypeVector 10(float) 3
26(block): TypeStruct 25(fvec3) 25(fvec3)
......@@ -61,7 +61,7 @@ rayQuery.rgen
Store 8(rayFlags) 9
Store 12(tMin) 13
Store 14(tMax) 15
22: 19 Load 21(accNV0)
22: 19 Load 21(acc0)
23: 6(int) Load 8(rayFlags)
32: 31(ptr) AccessChain 28 30
33: 25(fvec3) Load 32
......
......@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
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[]; };
void doSomething()
......
......@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
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[]; };
void doSomething()
......
......@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
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[]; };
void doSomething()
......
......@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
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[]; };
void doSomething()
......
......@@ -16,7 +16,7 @@ layout(std430, set = 0, binding = 0) buffer Log
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[]; };
void doSomething()
......
......@@ -10,7 +10,7 @@ struct Ray
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(shaderRecordNV) buffer block
{
......
......@@ -10,7 +10,7 @@ struct Ray
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[]; };
uint launchIndex()
......
......@@ -10,7 +10,7 @@ struct Ray
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[]; };
uint launchIndex()
......
#version 460
#extension GL_NV_ray_tracing : 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
{
......@@ -15,7 +15,7 @@ void main()
uint rayFlags = gl_RayFlagsOpaqueEXT | gl_RayFlagsSkipClosestHitShaderEXT;
float tMin = 0.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))
{
rayQueryTerminateEXT(localRayQuery);
......
......@@ -1030,7 +1030,8 @@ int TScanContext::tokenizeIdentifier()
case CALLDATAINEXT:
case ACCSTRUCTEXT:
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 identifierOrType();
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