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
dccfeedf
Commit
dccfeedf
authored
Jul 02, 2018
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
HLSL: Fix #1423: implement CalculateLevelOfDetailUnclamped().
(If there is a bias issue, we need to discover what it is.)
parent
ab8960fd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
244 additions
and
39 deletions
+244
-39
hlsl.calculatelodunclamped.dx10.frag.out
Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
+241
-33
hlslParseHelper.cpp
hlsl/hlslParseHelper.cpp
+3
-6
No files found.
Test/baseResults/hlsl.calculatelodunclamped.dx10.frag.out
View file @
dccfeedf
hlsl.calculatelodunclamped.dx10.frag
ERROR: 0:28: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 0:29: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 0:30: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 0:32: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 0:33: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 0:34: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 0:36: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 0:37: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 0:38: '' : unimplemented: CalculateLevelOfDetailUnclamped
ERROR: 9 compilation errors. No code generated.
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
ERROR: node is still EOpNull!
0:? Sequence
0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
...
...
@@ -29,7 +17,7 @@ ERROR: node is still EOpNull!
0:28 Constant:
0:28 0.100000
0:28 Constant:
0:28
0
(const int)
0:28
1
(const int)
0:29 Sequence
0:29 move second child to first child ( temp float)
0:29 'txval11' ( temp float)
...
...
@@ -41,7 +29,7 @@ ERROR: node is still EOpNull!
0:29 Constant:
0:29 0.200000
0:29 Constant:
0:29
0
(const int)
0:29
1
(const int)
0:30 Sequence
0:30 move second child to first child ( temp float)
0:30 'txval12' ( temp float)
...
...
@@ -53,7 +41,7 @@ ERROR: node is still EOpNull!
0:30 Constant:
0:30 0.300000
0:30 Constant:
0:30
0
(const int)
0:30
1
(const int)
0:32 Sequence
0:32 move second child to first child ( temp float)
0:32 'txval20' ( temp float)
...
...
@@ -66,7 +54,7 @@ ERROR: node is still EOpNull!
0:? 0.100000
0:? 0.200000
0:32 Constant:
0:32
0
(const int)
0:32
1
(const int)
0:33 Sequence
0:33 move second child to first child ( temp float)
0:33 'txval21' ( temp float)
...
...
@@ -79,7 +67,7 @@ ERROR: node is still EOpNull!
0:? 0.300000
0:? 0.400000
0:33 Constant:
0:33
0
(const int)
0:33
1
(const int)
0:34 Sequence
0:34 move second child to first child ( temp float)
0:34 'txval22' ( temp float)
...
...
@@ -92,7 +80,7 @@ ERROR: node is still EOpNull!
0:? 0.500000
0:? 0.600000
0:34 Constant:
0:34
0
(const int)
0:34
1
(const int)
0:36 Sequence
0:36 move second child to first child ( temp float)
0:36 'txval40' ( temp float)
...
...
@@ -106,7 +94,7 @@ ERROR: node is still EOpNull!
0:? 0.200000
0:? 0.300000
0:36 Constant:
0:36
0
(const int)
0:36
1
(const int)
0:37 Sequence
0:37 move second child to first child ( temp float)
0:37 'txval41' ( temp float)
...
...
@@ -120,7 +108,7 @@ ERROR: node is still EOpNull!
0:? 0.500000
0:? 0.600000
0:37 Constant:
0:37
0
(const int)
0:37
1
(const int)
0:38 Sequence
0:38 move second child to first child ( temp float)
0:38 'txval42' ( temp float)
...
...
@@ -134,7 +122,7 @@ ERROR: node is still EOpNull!
0:? 0.800000
0:? 0.900000
0:38 Constant:
0:38
0
(const int)
0:38
1
(const int)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 Color: direct index for structure ( temp 4-component vector of float)
0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
...
...
@@ -195,7 +183,7 @@ Linked fragment stage:
Shader version: 500
gl_FragCoord origin is upper left
using depth_any
ERROR: node is still EOpNull!
0:? Sequence
0:24 Function Definition: @main( ( temp structure{ temp 4-component vector of float Color, temp float Depth})
0:24 Function Parameters:
0:? Sequence
...
...
@@ -210,7 +198,7 @@ ERROR: node is still EOpNull!
0:28 Constant:
0:28 0.100000
0:28 Constant:
0:28
0
(const int)
0:28
1
(const int)
0:29 Sequence
0:29 move second child to first child ( temp float)
0:29 'txval11' ( temp float)
...
...
@@ -222,7 +210,7 @@ ERROR: node is still EOpNull!
0:29 Constant:
0:29 0.200000
0:29 Constant:
0:29
0
(const int)
0:29
1
(const int)
0:30 Sequence
0:30 move second child to first child ( temp float)
0:30 'txval12' ( temp float)
...
...
@@ -234,7 +222,7 @@ ERROR: node is still EOpNull!
0:30 Constant:
0:30 0.300000
0:30 Constant:
0:30
0
(const int)
0:30
1
(const int)
0:32 Sequence
0:32 move second child to first child ( temp float)
0:32 'txval20' ( temp float)
...
...
@@ -247,7 +235,7 @@ ERROR: node is still EOpNull!
0:? 0.100000
0:? 0.200000
0:32 Constant:
0:32
0
(const int)
0:32
1
(const int)
0:33 Sequence
0:33 move second child to first child ( temp float)
0:33 'txval21' ( temp float)
...
...
@@ -260,7 +248,7 @@ ERROR: node is still EOpNull!
0:? 0.300000
0:? 0.400000
0:33 Constant:
0:33
0
(const int)
0:33
1
(const int)
0:34 Sequence
0:34 move second child to first child ( temp float)
0:34 'txval22' ( temp float)
...
...
@@ -273,7 +261,7 @@ ERROR: node is still EOpNull!
0:? 0.500000
0:? 0.600000
0:34 Constant:
0:34
0
(const int)
0:34
1
(const int)
0:36 Sequence
0:36 move second child to first child ( temp float)
0:36 'txval40' ( temp float)
...
...
@@ -287,7 +275,7 @@ ERROR: node is still EOpNull!
0:? 0.200000
0:? 0.300000
0:36 Constant:
0:36
0
(const int)
0:36
1
(const int)
0:37 Sequence
0:37 move second child to first child ( temp float)
0:37 'txval41' ( temp float)
...
...
@@ -301,7 +289,7 @@ ERROR: node is still EOpNull!
0:? 0.500000
0:? 0.600000
0:37 Constant:
0:37
0
(const int)
0:37
1
(const int)
0:38 Sequence
0:38 move second child to first child ( temp float)
0:38 'txval42' ( temp float)
...
...
@@ -315,7 +303,7 @@ ERROR: node is still EOpNull!
0:? 0.800000
0:? 0.900000
0:38 Constant:
0:38
0
(const int)
0:38
1
(const int)
0:40 move second child to first child ( temp 4-component vector of float)
0:40 Color: direct index for structure ( temp 4-component vector of float)
0:40 'psout' ( temp structure{ temp 4-component vector of float Color, temp float Depth})
...
...
@@ -369,4 +357,224 @@ ERROR: node is still EOpNull!
0:? '@entryPointOutput.Depth' ( out float FragDepth)
0:? '@entryPointOutput.Color' (layout( location=0) out 4-component vector of float)
SPIR-V is not generated for failed compile or link
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 148
Capability Shader
Capability Sampled1D
Capability SampledCubeArray
Capability ImageQuery
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 140 144
ExecutionMode 4 OriginUpperLeft
ExecutionMode 4 DepthReplacing
Source HLSL 500
Name 4 "main"
Name 8 "PS_OUTPUT"
MemberName 8(PS_OUTPUT) 0 "Color"
MemberName 8(PS_OUTPUT) 1 "Depth"
Name 10 "@main("
Name 13 "txval10"
Name 16 "g_tTex1df4a"
Name 20 "g_sSamp"
Name 30 "txval11"
Name 33 "g_tTex1di4a"
Name 41 "txval12"
Name 45 "g_tTex1du4a"
Name 53 "txval20"
Name 56 "g_tTex2df4a"
Name 64 "txval21"
Name 67 "g_tTex2di4a"
Name 76 "txval22"
Name 79 "g_tTex2du4a"
Name 89 "txval40"
Name 92 "g_tTexcdf4a"
Name 101 "txval41"
Name 104 "g_tTexcdi4a"
Name 112 "txval42"
Name 115 "g_tTexcdu4a"
Name 127 "psout"
Name 137 "flattenTemp"
Name 140 "@entryPointOutput.Color"
Name 144 "@entryPointOutput.Depth"
Name 147 "g_tTex1df4"
Decorate 16(g_tTex1df4a) DescriptorSet 0
Decorate 16(g_tTex1df4a) Binding 1
Decorate 20(g_sSamp) DescriptorSet 0
Decorate 20(g_sSamp) Binding 0
Decorate 33(g_tTex1di4a) DescriptorSet 0
Decorate 45(g_tTex1du4a) DescriptorSet 0
Decorate 56(g_tTex2df4a) DescriptorSet 0
Decorate 67(g_tTex2di4a) DescriptorSet 0
Decorate 79(g_tTex2du4a) DescriptorSet 0
Decorate 92(g_tTexcdf4a) DescriptorSet 0
Decorate 104(g_tTexcdi4a) DescriptorSet 0
Decorate 115(g_tTexcdu4a) DescriptorSet 0
Decorate 140(@entryPointOutput.Color) Location 0
Decorate 144(@entryPointOutput.Depth) BuiltIn FragDepth
Decorate 147(g_tTex1df4) DescriptorSet 0
Decorate 147(g_tTex1df4) Binding 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8(PS_OUTPUT): TypeStruct 7(fvec4) 6(float)
9: TypeFunction 8(PS_OUTPUT)
12: TypePointer Function 6(float)
14: TypeImage 6(float) 1D array sampled format:Unknown
15: TypePointer UniformConstant 14
16(g_tTex1df4a): 15(ptr) Variable UniformConstant
18: TypeSampler
19: TypePointer UniformConstant 18
20(g_sSamp): 19(ptr) Variable UniformConstant
22: TypeSampledImage 14
24: 6(float) Constant 1036831949
25: TypeVector 6(float) 2
27: TypeInt 32 1
28: 27(int) Constant 1
31: TypeImage 27(int) 1D array sampled format:Unknown
32: TypePointer UniformConstant 31
33(g_tTex1di4a): 32(ptr) Variable UniformConstant
36: TypeSampledImage 31
38: 6(float) Constant 1045220557
42: TypeInt 32 0
43: TypeImage 42(int) 1D array sampled format:Unknown
44: TypePointer UniformConstant 43
45(g_tTex1du4a): 44(ptr) Variable UniformConstant
48: TypeSampledImage 43
50: 6(float) Constant 1050253722
54: TypeImage 6(float) 2D array sampled format:Unknown
55: TypePointer UniformConstant 54
56(g_tTex2df4a): 55(ptr) Variable UniformConstant
59: TypeSampledImage 54
61: 25(fvec2) ConstantComposite 24 38
65: TypeImage 27(int) 2D array sampled format:Unknown
66: TypePointer UniformConstant 65
67(g_tTex2di4a): 66(ptr) Variable UniformConstant
70: TypeSampledImage 65
72: 6(float) Constant 1053609165
73: 25(fvec2) ConstantComposite 50 72
77: TypeImage 42(int) 2D array sampled format:Unknown
78: TypePointer UniformConstant 77
79(g_tTex2du4a): 78(ptr) Variable UniformConstant
82: TypeSampledImage 77
84: 6(float) Constant 1056964608
85: 6(float) Constant 1058642330
86: 25(fvec2) ConstantComposite 84 85
90: TypeImage 6(float) Cube array sampled format:Unknown
91: TypePointer UniformConstant 90
92(g_tTexcdf4a): 91(ptr) Variable UniformConstant
95: TypeSampledImage 90
97: TypeVector 6(float) 3
98: 97(fvec3) ConstantComposite 24 38 50
102: TypeImage 27(int) Cube array sampled format:Unknown
103: TypePointer UniformConstant 102
104(g_tTexcdi4a): 103(ptr) Variable UniformConstant
107: TypeSampledImage 102
109: 97(fvec3) ConstantComposite 72 84 85
113: TypeImage 42(int) Cube array sampled format:Unknown
114: TypePointer UniformConstant 113
115(g_tTexcdu4a): 114(ptr) Variable UniformConstant
118: TypeSampledImage 113
120: 6(float) Constant 1060320051
121: 6(float) Constant 1061997773
122: 6(float) Constant 1063675494
123: 97(fvec3) ConstantComposite 120 121 122
126: TypePointer Function 8(PS_OUTPUT)
128: 27(int) Constant 0
129: 6(float) Constant 1065353216
130: 7(fvec4) ConstantComposite 129 129 129 129
131: TypePointer Function 7(fvec4)
139: TypePointer Output 7(fvec4)
140(@entryPointOutput.Color): 139(ptr) Variable Output
143: TypePointer Output 6(float)
144(@entryPointOutput.Depth): 143(ptr) Variable Output
147(g_tTex1df4): 15(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
137(flattenTemp): 126(ptr) Variable Function
138:8(PS_OUTPUT) FunctionCall 10(@main()
Store 137(flattenTemp) 138
141: 131(ptr) AccessChain 137(flattenTemp) 128
142: 7(fvec4) Load 141
Store 140(@entryPointOutput.Color) 142
145: 12(ptr) AccessChain 137(flattenTemp) 28
146: 6(float) Load 145
Store 144(@entryPointOutput.Depth) 146
Return
FunctionEnd
10(@main():8(PS_OUTPUT) Function None 9
11: Label
13(txval10): 12(ptr) Variable Function
30(txval11): 12(ptr) Variable Function
41(txval12): 12(ptr) Variable Function
53(txval20): 12(ptr) Variable Function
64(txval21): 12(ptr) Variable Function
76(txval22): 12(ptr) Variable Function
89(txval40): 12(ptr) Variable Function
101(txval41): 12(ptr) Variable Function
112(txval42): 12(ptr) Variable Function
127(psout): 126(ptr) Variable Function
17: 14 Load 16(g_tTex1df4a)
21: 18 Load 20(g_sSamp)
23: 22 SampledImage 17 21
26: 25(fvec2) ImageQueryLod 23 24
29: 6(float) CompositeExtract 26 1
Store 13(txval10) 29
34: 31 Load 33(g_tTex1di4a)
35: 18 Load 20(g_sSamp)
37: 36 SampledImage 34 35
39: 25(fvec2) ImageQueryLod 37 38
40: 6(float) CompositeExtract 39 1
Store 30(txval11) 40
46: 43 Load 45(g_tTex1du4a)
47: 18 Load 20(g_sSamp)
49: 48 SampledImage 46 47
51: 25(fvec2) ImageQueryLod 49 50
52: 6(float) CompositeExtract 51 1
Store 41(txval12) 52
57: 54 Load 56(g_tTex2df4a)
58: 18 Load 20(g_sSamp)
60: 59 SampledImage 57 58
62: 25(fvec2) ImageQueryLod 60 61
63: 6(float) CompositeExtract 62 1
Store 53(txval20) 63
68: 65 Load 67(g_tTex2di4a)
69: 18 Load 20(g_sSamp)
71: 70 SampledImage 68 69
74: 25(fvec2) ImageQueryLod 71 73
75: 6(float) CompositeExtract 74 1
Store 64(txval21) 75
80: 77 Load 79(g_tTex2du4a)
81: 18 Load 20(g_sSamp)
83: 82 SampledImage 80 81
87: 25(fvec2) ImageQueryLod 83 86
88: 6(float) CompositeExtract 87 1
Store 76(txval22) 88
93: 90 Load 92(g_tTexcdf4a)
94: 18 Load 20(g_sSamp)
96: 95 SampledImage 93 94
99: 25(fvec2) ImageQueryLod 96 98
100: 6(float) CompositeExtract 99 1
Store 89(txval40) 100
105: 102 Load 104(g_tTexcdi4a)
106: 18 Load 20(g_sSamp)
108: 107 SampledImage 105 106
110: 25(fvec2) ImageQueryLod 108 109
111: 6(float) CompositeExtract 110 1
Store 101(txval41) 111
116: 113 Load 115(g_tTexcdu4a)
117: 18 Load 20(g_sSamp)
119: 118 SampledImage 116 117
124: 25(fvec2) ImageQueryLod 119 123
125: 6(float) CompositeExtract 124 1
Store 112(txval42) 125
132: 131(ptr) AccessChain 127(psout) 128
Store 132 130
133: 12(ptr) AccessChain 127(psout) 28
Store 133 129
134:8(PS_OUTPUT) Load 127(psout)
ReturnValue 134
FunctionEnd
hlsl/hlslParseHelper.cpp
View file @
dccfeedf
...
...
@@ -4377,16 +4377,13 @@ void HlslParseContext::decomposeSampleMethods(const TSourceLoc& loc, TIntermType
txquerylod
->
getSequence
().
push_back
(
txcombine
);
txquerylod
->
getSequence
().
push_back
(
argCoord
);
TIntermTyped
*
lodComponent
=
intermediate
.
addConstantUnion
(
0
,
loc
,
true
);
TIntermTyped
*
lodComponent
=
intermediate
.
addConstantUnion
(
op
==
EOpMethodCalculateLevelOfDetail
?
0
:
1
,
loc
,
true
);
TIntermTyped
*
lodComponentIdx
=
intermediate
.
addIndex
(
EOpIndexDirect
,
txquerylod
,
lodComponent
,
loc
);
lodComponentIdx
->
setType
(
TType
(
EbtFloat
,
EvqTemporary
,
1
));
node
=
lodComponentIdx
;
// We cannot currently obtain the unclamped LOD
if
(
op
==
EOpMethodCalculateLevelOfDetailUnclamped
)
error
(
loc
,
"unimplemented: CalculateLevelOfDetailUnclamped"
,
""
,
""
);
break
;
}
...
...
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