Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
f986436a
Commit
f986436a
authored
Mar 30, 2020
by
alelenv
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Error assigns to objects of rayQueryEXT type.
parent
08c02ced
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
3 additions
and
254 deletions
+3
-254
rayQuery-decls.rgen.out
Test/baseResults/rayQuery-decls.rgen.out
+0
-200
rayQuery-decls.rgen
Test/rayQuery-decls.rgen
+0
-53
ParseContextBase.cpp
glslang/MachineIndependent/ParseContextBase.cpp
+3
-0
Spv.FromFile.cpp
gtests/Spv.FromFile.cpp
+0
-1
No files found.
Test/baseResults/rayQuery-decls.rgen.out
deleted
100644 → 0
View file @
08c02ced
rayQuery-decls.rgen
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 130
Capability RayQueryProvisionalKHR
Capability RayTracingNV
Extension "SPV_KHR_ray_query"
Extension "SPV_NV_ray_tracing"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint RayGenerationKHR 4 "main" 12 17
Source GLSL 460
SourceExtension "GL_EXT_ray_query"
SourceExtension "GL_NV_ray_tracing"
Name 4 "main"
Name 8 "launchIndex("
Name 12 "gl_LaunchIDNV"
Name 17 "gl_LaunchSizeNV"
Name 38 "index"
Name 42 "Ray"
MemberName 42(Ray) 0 "pos"
MemberName 42(Ray) 1 "tmin"
MemberName 42(Ray) 2 "dir"
MemberName 42(Ray) 3 "tmax"
Name 44 "ray"
Name 45 "Ray"
MemberName 45(Ray) 0 "pos"
MemberName 45(Ray) 1 "tmin"
MemberName 45(Ray) 2 "dir"
MemberName 45(Ray) 3 "tmax"
Name 47 "Rays"
MemberName 47(Rays) 0 "rays"
Name 49 ""
Name 73 "g_rayQueryArray"
Name 74 "block"
MemberName 74(block) 0 "idx"
Name 76 ""
Name 81 "rayQuery0b"
Name 86 "rayQuery0a"
Name 89 "rayQuery0c"
Name 96 "rtas"
Name 107 "rayQuery1c"
Name 129 "g_rayQueryUnused"
Decorate 12(gl_LaunchIDNV) BuiltIn LaunchIdKHR
Decorate 17(gl_LaunchSizeNV) BuiltIn LaunchSizeKHR
MemberDecorate 45(Ray) 0 Offset 0
MemberDecorate 45(Ray) 1 Offset 12
MemberDecorate 45(Ray) 2 Offset 16
MemberDecorate 45(Ray) 3 Offset 28
Decorate 46 ArrayStride 32
MemberDecorate 47(Rays) 0 Offset 0
Decorate 47(Rays) BufferBlock
Decorate 49 DescriptorSet 0
Decorate 49 Binding 2
MemberDecorate 74(block) 0 Offset 0
Decorate 74(block) BufferBlock
Decorate 96(rtas) DescriptorSet 0
Decorate 96(rtas) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypeFunction 6(int)
10: TypeVector 6(int) 3
11: TypePointer Input 10(ivec3)
12(gl_LaunchIDNV): 11(ptr) Variable Input
13: 6(int) Constant 2
14: TypePointer Input 6(int)
17(gl_LaunchSizeNV): 11(ptr) Variable Input
18: 6(int) Constant 0
22: 6(int) Constant 1
37: TypePointer Function 6(int)
40: TypeFloat 32
41: TypeVector 40(float) 3
42(Ray): TypeStruct 41(fvec3) 40(float) 41(fvec3) 40(float)
43: TypePointer Function 42(Ray)
45(Ray): TypeStruct 41(fvec3) 40(float) 41(fvec3) 40(float)
46: TypeRuntimeArray 45(Ray)
47(Rays): TypeStruct 46
48: TypePointer Uniform 47(Rays)
49: 48(ptr) Variable Uniform
50: TypeInt 32 1
51: 50(int) Constant 0
53: TypePointer Uniform 45(Ray)
57: TypePointer Function 41(fvec3)
60: 50(int) Constant 1
61: TypePointer Function 40(float)
64: 50(int) Constant 2
67: 50(int) Constant 3
69: TypeRayQueryProvisionalKHR
70: 6(int) Constant 4
71: TypeArray 69 70
72: TypePointer Function 71
74(block): TypeStruct 6(int)
75: TypePointer ShaderRecordBufferKHR 74(block)
76: 75(ptr) Variable ShaderRecordBufferKHR
77: TypePointer ShaderRecordBufferKHR 6(int)
80: TypePointer Function 69
94: TypeAccelerationStructureKHR
95: TypePointer UniformConstant 94
96(rtas): 95(ptr) Variable UniformConstant
98: 6(int) Constant 16
109: 6(int) Constant 32
119: 6(int) Constant 3
120: 6(int) Constant 64
4(main): 2 Function None 3
5: Label
38(index): 37(ptr) Variable Function
44(ray): 43(ptr) Variable Function
73(g_rayQueryArray): 72(ptr) Variable Function
81(rayQuery0b): 80(ptr) Variable Function
86(rayQuery0a): 80(ptr) Variable Function
89(rayQuery0c): 80(ptr) Variable Function
107(rayQuery1c): 80(ptr) Variable Function
129(g_rayQueryUnused): 80(ptr) Variable Function
39: 6(int) FunctionCall 8(launchIndex()
Store 38(index) 39
52: 6(int) Load 38(index)
54: 53(ptr) AccessChain 49 51 52
55: 45(Ray) Load 54
56: 41(fvec3) CompositeExtract 55 0
58: 57(ptr) AccessChain 44(ray) 51
Store 58 56
59: 40(float) CompositeExtract 55 1
62: 61(ptr) AccessChain 44(ray) 60
Store 62 59
63: 41(fvec3) CompositeExtract 55 2
65: 57(ptr) AccessChain 44(ray) 64
Store 65 63
66: 40(float) CompositeExtract 55 3
68: 61(ptr) AccessChain 44(ray) 67
Store 68 66
78: 77(ptr) AccessChain 76 51
79: 6(int) Load 78
82: 69 Load 81(rayQuery0b)
83: 80(ptr) AccessChain 73(g_rayQueryArray) 79
Store 83 82
84: 77(ptr) AccessChain 76 51
85: 6(int) Load 84
87: 69 Load 86(rayQuery0a)
88: 80(ptr) AccessChain 73(g_rayQueryArray) 85
Store 88 87
90: 77(ptr) AccessChain 76 51
91: 6(int) Load 90
92: 80(ptr) AccessChain 73(g_rayQueryArray) 91
93: 69 Load 92
Store 89(rayQuery0c) 93
97: 94 Load 96(rtas)
99: 57(ptr) AccessChain 44(ray) 51
100: 41(fvec3) Load 99
101: 61(ptr) AccessChain 44(ray) 60
102: 40(float) Load 101
103: 57(ptr) AccessChain 44(ray) 64
104: 41(fvec3) Load 103
105: 61(ptr) AccessChain 44(ray) 67
106: 40(float) Load 105
RayQueryInitializeKHR 89(rayQuery0c) 97 22 98 100 102 104 106
108: 94 Load 96(rtas)
110: 57(ptr) AccessChain 44(ray) 51
111: 41(fvec3) Load 110
112: 61(ptr) AccessChain 44(ray) 60
113: 40(float) Load 112
114: 57(ptr) AccessChain 44(ray) 64
115: 41(fvec3) Load 114
116: 61(ptr) AccessChain 44(ray) 67
117: 40(float) Load 116
RayQueryInitializeKHR 107(rayQuery1c) 108 22 109 111 113 115 117
118: 94 Load 96(rtas)
121: 57(ptr) AccessChain 44(ray) 51
122: 41(fvec3) Load 121
123: 61(ptr) AccessChain 44(ray) 60
124: 40(float) Load 123
125: 57(ptr) AccessChain 44(ray) 64
126: 41(fvec3) Load 125
127: 61(ptr) AccessChain 44(ray) 67
128: 40(float) Load 127
RayQueryInitializeKHR 107(rayQuery1c) 118 119 120 122 124 126 128
Return
FunctionEnd
8(launchIndex(): 6(int) Function None 7
9: Label
15: 14(ptr) AccessChain 12(gl_LaunchIDNV) 13
16: 6(int) Load 15
19: 14(ptr) AccessChain 17(gl_LaunchSizeNV) 18
20: 6(int) Load 19
21: 6(int) IMul 16 20
23: 14(ptr) AccessChain 17(gl_LaunchSizeNV) 22
24: 6(int) Load 23
25: 6(int) IMul 21 24
26: 14(ptr) AccessChain 12(gl_LaunchIDNV) 22
27: 6(int) Load 26
28: 14(ptr) AccessChain 17(gl_LaunchSizeNV) 18
29: 6(int) Load 28
30: 6(int) IMul 27 29
31: 6(int) IAdd 25 30
32: 14(ptr) AccessChain 12(gl_LaunchIDNV) 18
33: 6(int) Load 32
34: 6(int) IAdd 31 33
ReturnValue 34
FunctionEnd
Test/rayQuery-decls.rgen
deleted
100644 → 0
View file @
08c02ced
#version 460
#extension GL_NV_ray_tracing : enable
#extension GL_EXT_ray_query : enable
struct Ray
{
vec3 pos;
float tmin;
vec3 dir;
float tmax;
};
layout(binding = 0, set = 0) uniform accelerationStructureEXT rtas;
layout(std430, set = 0, binding = 2) buffer Rays { Ray rays[]; };
layout(shaderRecordNV) buffer block
{
uint idx;
};
uint launchIndex()
{
return gl_LaunchIDNV.z*gl_LaunchSizeNV.x*gl_LaunchSizeNV.y + gl_LaunchIDNV.y*gl_LaunchSizeNV.x + gl_LaunchIDNV.x;
}
rayQueryEXT g_rayQueryArray[4];
rayQueryEXT g_rayQueryUnused;
void main()
{
uint index = launchIndex();
Ray ray = rays[index];
rayQueryEXT rayQuery0a;
rayQueryEXT rayQuery0b;
g_rayQueryArray[idx] = rayQuery0b; // Stored here, then overwritten with rayQuery0a
g_rayQueryArray[idx] = rayQuery0a;
// No separate allocation, just a handle copy
// optimizations should have eliminated load from global array
rayQueryEXT rayQuery0c = g_rayQueryArray[idx];
// rayQuery0a is the one actually used here
rayQueryInitializeEXT(rayQuery0c, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullBackFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
// AllocateRayQuery occurs here, rather than next to allocas
// Should not be extray allocate, since above should allocate and copy
rayQueryEXT rayQuery1c;
// update the rayFlags as RAY_FLAG_FORCE_OPAQUE
rayQueryInitializeEXT(rayQuery1c, rtas, gl_RayFlagsOpaqueEXT, gl_RayFlagsCullFrontFacingTrianglesEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
rayQueryInitializeEXT(rayQuery1c, rtas, gl_RayFlagsOpaqueEXT|gl_RayFlagsNoOpaqueEXT, gl_RayFlagsCullOpaqueEXT, ray.pos, ray.tmin, ray.dir, ray.tmax);
}
glslang/MachineIndependent/ParseContextBase.cpp
View file @
f986436a
...
...
@@ -184,6 +184,9 @@ bool TParseContextBase::lValueErrorCheck(const TSourceLoc& loc, const char* op,
case
EbtAccStruct
:
message
=
"can't modify accelerationStructureNV"
;
break
;
case
EbtRayQuery
:
message
=
"can't modify rayQueryEXT"
;
break
;
#endif
default
:
break
;
...
...
gtests/Spv.FromFile.cpp
View file @
f986436a
...
...
@@ -231,7 +231,6 @@ INSTANTIATE_TEST_CASE_P(
"spv.while-simple.vert"
,
// vulkan-specific tests
"rayQuery.rgen"
,
"rayQuery-decls.rgen"
,
"rayQuery-no-cse.rgen"
,
"rayQuery-initialize.rgen"
,
"rayQuery-allOps.rgen"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment