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
58d2843c
Commit
58d2843c
authored
Sep 05, 2016
by
John Kessenich
Committed by
GitHub
Sep 05, 2016
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #498 from amdrexu/bugfix
Parser: Add 64-bit type conversion for specialization constant.
parents
7d01bd6f
64bcfdb6
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
184 additions
and
97 deletions
+184
-97
GlslangToSpv.cpp
SPIRV/GlslangToSpv.cpp
+2
-2
spv.int64.frag.out
Test/baseResults/spv.int64.frag.out
+29
-1
spv.specConstant.vert.out
Test/baseResults/spv.specConstant.vert.out
+2
-2
spv.specConstantOperations.vert.out
Test/baseResults/spv.specConstantOperations.vert.out
+94
-88
spv.int64.frag
Test/spv.int64.frag
+35
-2
spv.specConstantOperations.vert
Test/spv.specConstantOperations.vert
+5
-1
Intermediate.cpp
glslang/MachineIndependent/Intermediate.cpp
+16
-0
ParseHelper.cpp
glslang/MachineIndependent/ParseHelper.cpp
+1
-1
No files found.
SPIRV/GlslangToSpv.cpp
View file @
58d2843c
...
@@ -3761,8 +3761,8 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
...
@@ -3761,8 +3761,8 @@ spv::Id TGlslangToSpvTraverser::createConversion(glslang::TOperator op, spv::Dec
case
glslang
:
:
EOpConvInt64ToUint64
:
case
glslang
:
:
EOpConvInt64ToUint64
:
if
(
builder
.
isInSpecConstCodeGenMode
())
{
if
(
builder
.
isInSpecConstCodeGenMode
())
{
// Build zero scalar or vector for OpIAdd.
// Build zero scalar or vector for OpIAdd.
zero
=
(
op
==
glslang
::
EOpConvUintToInt64
||
zero
=
(
op
==
glslang
::
EOpConvUint
64
ToInt64
||
op
==
glslang
::
EOpConvIntToUint64
)
?
builder
.
makeUint64Constant
(
0
)
:
builder
.
makeUintConstant
(
0
);
op
==
glslang
::
EOpConvInt
64
ToUint64
)
?
builder
.
makeUint64Constant
(
0
)
:
builder
.
makeUintConstant
(
0
);
zero
=
makeSmearedConstant
(
zero
,
vectorSize
);
zero
=
makeSmearedConstant
(
zero
,
vectorSize
);
// Use OpIAdd, instead of OpBitcast to do the conversion when
// Use OpIAdd, instead of OpBitcast to do the conversion when
// generating for OpSpecConstantOp instruction.
// generating for OpSpecConstantOp instruction.
...
...
Test/baseResults/spv.int64.frag.out
View file @
58d2843c
...
@@ -8,7 +8,7 @@ Linked fragment stage:
...
@@ -8,7 +8,7 @@ Linked fragment stage:
Missing functionality: shader int64
Missing functionality: shader int64
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
// Id's are bound by 4
55
// Id's are bound by 4
78
Capability Shader
Capability Shader
Capability Float64
Capability Float64
...
@@ -64,6 +64,11 @@ Missing functionality: shader int64
...
@@ -64,6 +64,11 @@ Missing functionality: shader int64
Decorate 452(Block) Block
Decorate 452(Block) Block
Decorate 454(block) DescriptorSet 0
Decorate 454(block) DescriptorSet 0
Decorate 454(block) Binding 1
Decorate 454(block) Binding 1
Decorate 455 SpecId 100
Decorate 456 SpecId 101
Decorate 457 SpecId 102
Decorate 458 SpecId 103
Decorate 459 SpecId 104
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
14: TypeInt 64 1
14: TypeInt 64 1
...
@@ -145,6 +150,29 @@ Missing functionality: shader int64
...
@@ -145,6 +150,29 @@ Missing functionality: shader int64
452(Block): TypeStruct 134(ivec3) 36(int)
452(Block): TypeStruct 134(ivec3) 36(int)
453: TypePointer Uniform 452(Block)
453: TypePointer Uniform 452(Block)
454(block): 453(ptr) Variable Uniform
454(block): 453(ptr) Variable Uniform
455: 14(int) SpecConstant 4294967286 4294967295
456: 36(int) SpecConstant 20 0
457: 27(int) SpecConstant 4294967291
458: 17(int) SpecConstant 4
459: 53(bool) SpecConstantTrue
460: 53(bool) SpecConstantOp 171 455 67
461: 53(bool) SpecConstantOp 171 456 67
462: 14(int) SpecConstantOp 169 459 59 58
463: 36(int) SpecConstantOp 169 459 68 67
464: 27(int) SpecConstantOp 114 455
465: 14(int) SpecConstantOp 114 457
466: 17(int) SpecConstantOp 113 456
467: 36(int) SpecConstantOp 113 458
468: 14(int) SpecConstantOp 128 456 67
469: 36(int) SpecConstantOp 128 455 67
470: 17(int) SpecConstantOp 113 456
471: 27(int) SpecConstantOp 128 470 217
472: 14(int) SpecConstantOp 114 457
473: 36(int) SpecConstantOp 128 472 67
474: 27(int) SpecConstantOp 114 455
475: 17(int) SpecConstantOp 128 474 217
476: 36(int) SpecConstantOp 113 458
477: 14(int) SpecConstantOp 128 476 67
4(main): 2 Function None 3
4(main): 2 Function None 3
5: Label
5: Label
Return
Return
...
...
Test/baseResults/spv.specConstant.vert.out
View file @
58d2843c
...
@@ -61,6 +61,7 @@ Linked vertex stage:
...
@@ -61,6 +61,7 @@ Linked vertex stage:
38: TypeFloat 64
38: TypeFloat 64
39: 38(float) SpecConstant 1413754136 1074340347
39: 38(float) SpecConstant 1413754136 1074340347
40: 6(float) SpecConstant 1078523331
40: 6(float) SpecConstant 1078523331
41: 38(float) SpecConstantOp 115 40
50: 8(int) SpecConstant 12
50: 8(int) SpecConstant 12
51: TypeArray 7(fvec4) 50
51: TypeArray 7(fvec4) 50
52: TypePointer Input 51
52: TypePointer Input 51
...
@@ -69,6 +70,7 @@ Linked vertex stage:
...
@@ -69,6 +70,7 @@ Linked vertex stage:
63: 33(int) SpecConstant 2
63: 33(int) SpecConstant 2
67: 38(float) SpecConstant 1413754136 1074340347
67: 38(float) SpecConstant 1413754136 1074340347
68: 6(float) SpecConstant 1078523331
68: 6(float) SpecConstant 1078523331
69: 38(float) SpecConstantOp 115 68
75: TypePointer Function 8(int)
75: TypePointer Function 8(int)
77: 8(int) SpecConstant 8
77: 8(int) SpecConstant 8
4(main): 2 Function None 3
4(main): 2 Function None 3
...
@@ -87,7 +89,6 @@ Linked vertex stage:
...
@@ -87,7 +89,6 @@ Linked vertex stage:
Store 20(color) 37
Store 20(color) 37
Branch 32
Branch 32
32: Label
32: Label
41: 38(float) FConvert 40
42: 38(float) FDiv 39 41
42: 38(float) FDiv 39 41
43: 6(float) FConvert 42
43: 6(float) FConvert 42
44: 7(fvec4) Load 20(color)
44: 7(fvec4) Load 20(color)
...
@@ -119,7 +120,6 @@ Linked vertex stage:
...
@@ -119,7 +120,6 @@ Linked vertex stage:
Store 20(color) 66
Store 20(color) 66
Branch 62
Branch 62
62: Label
62: Label
69: 38(float) FConvert 68
70: 38(float) FDiv 67 69
70: 38(float) FDiv 67 69
71: 6(float) FConvert 70
71: 6(float) FConvert 70
72: 7(fvec4) Load 20(color)
72: 7(fvec4) Load 20(color)
...
...
Test/baseResults/spv.specConstantOperations.vert.out
View file @
58d2843c
...
@@ -7,9 +7,10 @@ Linked vertex stage:
...
@@ -7,9 +7,10 @@ Linked vertex stage:
// Module Version 10000
// Module Version 10000
// Generated by (magic number): 80001
// Generated by (magic number): 80001
// Id's are bound by 13
1
// Id's are bound by 13
5
Capability Shader
Capability Shader
Capability Float64
1: ExtInstImport "GLSL.std.450"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main"
EntryPoint Vertex 4 "main"
...
@@ -22,6 +23,7 @@ Linked vertex stage:
...
@@ -22,6 +23,7 @@ Linked vertex stage:
Decorate 40 SpecId 200
Decorate 40 SpecId 200
Decorate 42 SpecId 202
Decorate 42 SpecId 202
Decorate 43 SpecId 203
Decorate 43 SpecId 203
Decorate 45 SpecId 204
2: TypeVoid
2: TypeVoid
3: TypeFunction 2
3: TypeFunction 2
6: TypeInt 32 1
6: TypeInt 32 1
...
@@ -43,93 +45,97 @@ Linked vertex stage:
...
@@ -43,93 +45,97 @@ Linked vertex stage:
41: TypeInt 32 0
41: TypeInt 32 0
42: 41(int) SpecConstant 100
42: 41(int) SpecConstant 100
43: 6(int) SpecConstant 4294967286
43: 6(int) SpecConstant 4294967286
44: 41(int) Constant 0
44: TypeFloat 64
45: 22(bool) SpecConstantOp 171 19 44
45: 44(float) SpecConstant 2333366019 1074118410
46: 22(bool) SpecConstantOp 171 42 44
46: 39(float) SpecConstantOp 115 45
47: 6(int) SpecConstantOp 169 45 32 12
47: 44(float) SpecConstantOp 115 40
48: 41(int) Constant 1
48: 41(int) Constant 0
49: 41(int) SpecConstantOp 169 45 48 44
49: 22(bool) SpecConstantOp 171 19 48
50: 41(int) SpecConstantOp 128 43 44
50: 22(bool) SpecConstantOp 171 42 48
51: 6(int) SpecConstantOp 128 42 44
51: 6(int) SpecConstantOp 169 49 32 12
52: 6(int) SpecConstantOp 126 19
52: 41(int) Constant 1
53: 6(int) SpecConstantOp 200 19
53: 41(int) SpecConstantOp 169 49 52 48
54: 6(int) SpecConstantOp 128 19 20
54: 41(int) SpecConstantOp 128 43 48
55: 6(int) SpecConstantOp 128 19 20
55: 6(int) SpecConstantOp 128 42 48
56: 6(int) Constant 3
56: 6(int) SpecConstantOp 126 19
57: 6(int) SpecConstantOp 130 55 56
57: 6(int) SpecConstantOp 200 19
58: 6(int) Constant 4
58: 6(int) SpecConstantOp 128 19 20
59: 6(int) SpecConstantOp 130 54 58
59: 6(int) SpecConstantOp 128 19 20
60: 6(int) SpecConstantOp 132 43 20
60: 6(int) Constant 3
61: 41(int) Constant 2
61: 6(int) SpecConstantOp 130 59 60
62: 41(int) SpecConstantOp 132 42 61
62: 6(int) Constant 4
63: 6(int) Constant 5
63: 6(int) SpecConstantOp 130 58 62
64: 6(int) SpecConstantOp 135 60 63
64: 6(int) SpecConstantOp 132 43 20
65: 41(int) Constant 5
65: 41(int) Constant 2
66: 41(int) SpecConstantOp 134 62 65
66: 41(int) SpecConstantOp 132 42 65
67: 6(int) SpecConstantOp 139 43 58
67: 6(int) Constant 5
68: 41(int) Constant 4
68: 6(int) SpecConstantOp 135 64 67
69: 41(int) SpecConstantOp 137 42 68
69: 41(int) Constant 5
70: 6(int) SpecConstantOp 132 43 56
70: 41(int) SpecConstantOp 134 66 69
71: 6(int) SpecConstantOp 135 70 63
71: 6(int) SpecConstantOp 139 43 62
72: 6(int) Constant 10
72: 41(int) Constant 4
73: 6(int) SpecConstantOp 195 43 72
73: 41(int) SpecConstantOp 137 42 72
74: 6(int) Constant 20
74: 6(int) SpecConstantOp 132 43 60
75: 41(int) SpecConstantOp 194 42 74
75: 6(int) SpecConstantOp 135 74 67
76: 6(int) SpecConstantOp 196 43 32
76: 6(int) Constant 10
77: 41(int) SpecConstantOp 196 42 20
77: 6(int) SpecConstantOp 195 43 76
78: 6(int) Constant 256
78: 6(int) Constant 20
79: 6(int) SpecConstantOp 197 43 78
79: 41(int) SpecConstantOp 194 42 78
80: 41(int) Constant 512
80: 6(int) SpecConstantOp 196 43 32
81: 41(int) SpecConstantOp 198 42 80
81: 41(int) SpecConstantOp 196 42 20
82: 22(bool) SpecConstantOp 177 19 43
82: 6(int) Constant 256
83: 22(bool) SpecConstantOp 170 42 42
83: 6(int) SpecConstantOp 197 43 82
84: 22(bool) SpecConstantOp 173 19 43
84: 41(int) Constant 512
85: 6(int) Constant 30
85: 41(int) SpecConstantOp 198 42 84
86: TypeVector 6(int) 4
86: 22(bool) SpecConstantOp 177 19 43
87: 86(ivec4) SpecConstantComposite 74 85 19 19
87: 22(bool) SpecConstantOp 170 42 42
88: 41(int) Constant 4294967295
88: 22(bool) SpecConstantOp 173 19 43
89: 41(int) Constant 4294967294
89: 6(int) Constant 30
90: TypeVector 41(int) 4
90: TypeVector 6(int) 4
91: 90(ivec4) SpecConstantComposite 42 42 88 89
91: 90(ivec4) SpecConstantComposite 78 89 19 19
92: TypeVector 22(bool) 4
92: 41(int) Constant 4294967295
93: 90(ivec4) ConstantComposite 44 44 44 44
93: 41(int) Constant 4294967294
94: 92(bvec4) SpecConstantOp 171 87 93
94: TypeVector 41(int) 4
95: 92(bvec4) SpecConstantOp 171 91 93
95: 94(ivec4) SpecConstantComposite 42 42 92 93
96: 86(ivec4) ConstantComposite 12 12 12 12
96: TypeVector 22(bool) 4
97: 86(ivec4) ConstantComposite 32 32 32 32
97: 94(ivec4) ConstantComposite 48 48 48 48
98: 86(ivec4) SpecConstantOp 169 94 97 96
98: 96(bvec4) SpecConstantOp 171 91 97
99: 90(ivec4) ConstantComposite 48 48 48 48
99: 96(bvec4) SpecConstantOp 171 95 97
100: 90(ivec4) SpecConstantOp 169 94 99 93
100: 90(ivec4) ConstantComposite 12 12 12 12
101: 90(ivec4) SpecConstantOp 128 87 93
101: 90(ivec4) ConstantComposite 32 32 32 32
102: 86(ivec4) SpecConstantOp 128 91 93
102: 90(ivec4) SpecConstantOp 169 98 101 100
103: 86(ivec4) SpecConstantOp 200 87
103: 94(ivec4) ConstantComposite 52 52 52 52
104: 86(ivec4) SpecConstantOp 126 87
104: 94(ivec4) SpecConstantOp 169 98 103 97
105: 86(ivec4) ConstantComposite 20 20 20 20
105: 94(ivec4) SpecConstantOp 128 91 97
106: 86(ivec4) SpecConstantOp 128 87 105
106: 90(ivec4) SpecConstantOp 128 95 97
107: 86(ivec4) SpecConstantOp 128 87 105
107: 90(ivec4) SpecConstantOp 200 91
108: 86(ivec4) ConstantComposite 56 56 56 56
108: 90(ivec4) SpecConstantOp 126 91
109: 86(ivec4) SpecConstantOp 130 107 108
109: 90(ivec4) ConstantComposite 20 20 20 20
110: 86(ivec4) ConstantComposite 58 58 58 58
110: 90(ivec4) SpecConstantOp 128 91 109
111: 86(ivec4) SpecConstantOp 130 109 110
111: 90(ivec4) SpecConstantOp 128 91 109
112: 86(ivec4) SpecConstantOp 132 87 105
112: 90(ivec4) ConstantComposite 60 60 60 60
113: 86(ivec4) ConstantComposite 63 63 63 63
113: 90(ivec4) SpecConstantOp 130 111 112
114: 86(ivec4) SpecConstantOp 135 112 113
114: 90(ivec4) ConstantComposite 62 62 62 62
115: 86(ivec4) SpecConstantOp 139 87 110
115: 90(ivec4) SpecConstantOp 130 113 114
116: 86(ivec4) ConstantComposite 72 72 72 72
116: 90(ivec4) SpecConstantOp 132 91 109
117: 86(ivec4) SpecConstantOp 195 87 116
117: 90(ivec4) ConstantComposite 67 67 67 67
118: 86(ivec4) SpecConstantOp 196 87 105
118: 90(ivec4) SpecConstantOp 135 116 117
119: 6(int) Constant 1024
119: 90(ivec4) SpecConstantOp 139 91 114
120: 86(ivec4) ConstantComposite 119 119 119 119
120: 90(ivec4) ConstantComposite 76 76 76 76
121: 86(ivec4) SpecConstantOp 197 87 120
121: 90(ivec4) SpecConstantOp 195 91 120
122: 41(int) Constant 2048
122: 90(ivec4) SpecConstantOp 196 91 109
123: 90(ivec4) ConstantComposite 122 122 122 122
123: 6(int) Constant 1024
124: 90(ivec4) SpecConstantOp 198 91 123
124: 90(ivec4) ConstantComposite 123 123 123 123
125: 6(int) SpecConstantOp 81 87 0
125: 90(ivec4) SpecConstantOp 197 91 124
126: TypeVector 6(int) 2
126: 41(int) Constant 2048
127: 126(ivec2) SpecConstantOp 79 87 87 1(GLSL.std.450) 0
127: 94(ivec4) ConstantComposite 126 126 126 126
128: TypeVector 6(int) 3
128: 94(ivec4) SpecConstantOp 198 95 127
129: 128(ivec3) SpecConstantOp 79 87 87 2 1(GLSL.std.450) 0
129: 6(int) SpecConstantOp 81 91 0
130: 86(ivec4) SpecConstantOp 79 87 87 1(GLSL.std.450) 2 0 3
130: TypeVector 6(int) 2
131: 130(ivec2) SpecConstantOp 79 91 91 1(GLSL.std.450) 0
132: TypeVector 6(int) 3
133: 132(ivec3) SpecConstantOp 79 91 91 2 1(GLSL.std.450) 0
134: 90(ivec4) SpecConstantOp 79 91 91 1(GLSL.std.450) 2 0 3
4(main): 2 Function None 3
4(main): 2 Function None 3
5: Label
5: Label
Return
Return
...
...
Test/spv.int64.frag
View file @
58d2843c
...
@@ -225,4 +225,37 @@ void builtinFuncs()
...
@@ -225,4 +225,37 @@ void builtinFuncs()
// notEqual()
// notEqual()
bv
=
notEqual
(
u64v
,
u64vec3
(
u64
));
bv
=
notEqual
(
u64v
,
u64vec3
(
u64
));
bv
.
xy
=
notEqual
(
i64v
,
i64vec2
(
i64
));
bv
.
xy
=
notEqual
(
i64v
,
i64vec2
(
i64
));
}
}
\ No newline at end of file
// Type conversion for specialization constant
layout
(
constant_id
=
100
)
const
int64_t
si64
=
-
10L
;
layout
(
constant_id
=
101
)
const
uint64_t
su64
=
20UL
;
layout
(
constant_id
=
102
)
const
int
si
=
-
5
;
layout
(
constant_id
=
103
)
const
uint
su
=
4
;
layout
(
constant_id
=
104
)
const
bool
sb
=
true
;
// bool <-> int64/uint64
const
bool
i64_to_b
=
bool
(
si64
);
const
bool
u64_to_b
=
bool
(
su64
);
const
int64_t
b_to_i64
=
int64_t
(
sb
);
const
uint64_t
b_to_u64
=
uint64_t
(
sb
);
// int <-> int64
const
int
i64_to_i
=
int
(
si64
);
const
int64_t
i_to_i64
=
int64_t
(
si
);
// uint <-> uint64
const
uint
u64_to_u
=
uint
(
su64
);
const
uint64_t
u_to_u64
=
uint64_t
(
su
);
// int64 <-> uint64
const
int64_t
u64_to_i64
=
int64_t
(
su64
);
const
uint64_t
i64_to_u64
=
uint64_t
(
si64
);
// int <-> uint64
const
int
u64_to_i
=
int
(
su64
);
const
uint64_t
i_to_u64
=
uint64_t
(
si
);
// uint <-> int64
const
uint
i64_to_u
=
uint
(
si64
);
const
int64_t
u_to_i64
=
int64_t
(
su
);
\ No newline at end of file
Test/spv.specConstantOperations.vert
View file @
58d2843c
...
@@ -4,12 +4,16 @@ layout(constant_id = 200) const float sp_float = 3.1415926;
...
@@ -4,12 +4,16 @@ layout(constant_id = 200) const float sp_float = 3.1415926;
layout
(
constant_id
=
201
)
const
int
sp_int
=
10
;
layout
(
constant_id
=
201
)
const
int
sp_int
=
10
;
layout
(
constant_id
=
202
)
const
uint
sp_uint
=
100
;
layout
(
constant_id
=
202
)
const
uint
sp_uint
=
100
;
layout
(
constant_id
=
203
)
const
int
sp_sint
=
-
10
;
layout
(
constant_id
=
203
)
const
int
sp_sint
=
-
10
;
layout
(
constant_id
=
204
)
const
double
sp_double
=
2
.
718281828459
;
//
//
// Scalars
// Scalars
//
//
// float <-> double conversion
const
float
float_from_double
=
float
(
sp_double
);
const
double
double_from_float
=
double
(
sp_float
);
// uint/int <-> bool conversion
// uint/int <-> bool conversion
const
bool
bool_from_int
=
bool
(
sp_int
);
const
bool
bool_from_int
=
bool
(
sp_int
);
const
bool
bool_from_uint
=
bool
(
sp_uint
);
const
bool
bool_from_uint
=
bool
(
sp_uint
);
...
...
glslang/MachineIndependent/Intermediate.cpp
View file @
58d2843c
...
@@ -1444,6 +1444,8 @@ bool TIntermediate::isSpecializationOperation(const TIntermOperator& node) const
...
@@ -1444,6 +1444,8 @@ bool TIntermediate::isSpecializationOperation(const TIntermOperator& node) const
case
EOpIndexIndirect
:
case
EOpIndexIndirect
:
case
EOpIndexDirectStruct
:
case
EOpIndexDirectStruct
:
case
EOpVectorSwizzle
:
case
EOpVectorSwizzle
:
case
EOpConvFloatToDouble
:
case
EOpConvDoubleToFloat
:
return
true
;
return
true
;
default
:
default
:
return
false
;
return
false
;
...
@@ -1474,6 +1476,20 @@ bool TIntermediate::isSpecializationOperation(const TIntermOperator& node) const
...
@@ -1474,6 +1476,20 @@ bool TIntermediate::isSpecializationOperation(const TIntermOperator& node) const
case
EOpConvBoolToInt
:
case
EOpConvBoolToInt
:
case
EOpConvIntToUint
:
case
EOpConvIntToUint
:
case
EOpConvBoolToUint
:
case
EOpConvBoolToUint
:
case
EOpConvInt64ToBool
:
case
EOpConvBoolToInt64
:
case
EOpConvUint64ToBool
:
case
EOpConvBoolToUint64
:
case
EOpConvInt64ToInt
:
case
EOpConvIntToInt64
:
case
EOpConvUint64ToUint
:
case
EOpConvUintToUint64
:
case
EOpConvInt64ToUint64
:
case
EOpConvUint64ToInt64
:
case
EOpConvInt64ToUint
:
case
EOpConvUintToInt64
:
case
EOpConvUint64ToInt
:
case
EOpConvIntToUint64
:
// unary operations
// unary operations
case
EOpNegative
:
case
EOpNegative
:
...
...
glslang/MachineIndependent/ParseHelper.cpp
View file @
58d2843c
...
@@ -4942,7 +4942,7 @@ const TFunction* TParseContext::findFunction120(const TSourceLoc& loc, const TFu
...
@@ -4942,7 +4942,7 @@ const TFunction* TParseContext::findFunction120(const TSourceLoc& loc, const TFu
// "When function calls are resolved, an exact type match for all the arguments
// "When function calls are resolved, an exact type match for all the arguments
// is sought. If an exact match is found, all other functions are ignored, and
// is sought. If an exact match is found, all other functions are ignored, and
// the exact match is used. If no exact match is found, then the implicit
// the exact match is used. If no exact match is found, then the implicit
// conversions in section 4.1.10
Implicit Conversions w
ill be applied to find
// conversions in section 4.1.10
Implicit Conversions
will be applied to find
// a match. Mismatched types on input parameters (in or inout or default) must
// a match. Mismatched types on input parameters (in or inout or default) must
// have a conversion from the calling argument type to the formal parameter type.
// have a conversion from the calling argument type to the formal parameter type.
// Mismatched types on output parameters (out or inout) must have a conversion
// Mismatched types on output parameters (out or inout) must have a conversion
...
...
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