accelerationStructureEXT - issue #2152
This commit is contained in:
parent
054b5e35eb
commit
915f119199
@ -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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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
|
|||||||
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()
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#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()
|
|||||||
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,7 @@ 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_query))
|
||||||
return keyword;
|
return keyword;
|
||||||
return identifierOrType();
|
return identifierOrType();
|
||||||
case RAYQUERYEXT:
|
case RAYQUERYEXT:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user