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
2de792c5
Commit
2de792c5
authored
Mar 15, 2016
by
John Kessenich
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #204 from amdrexu/bugfix
SPV: Implement boolean selection for mix().
parents
6cc7674b
d715adc0
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
8 deletions
+9
-8
GlslangToSpv.cpp
SPIRV/GlslangToSpv.cpp
+4
-3
spv.400.frag.out
Test/baseResults/spv.400.frag.out
+4
-4
spv.Operations.frag.out
Test/baseResults/spv.Operations.frag.out
+1
-1
No files found.
SPIRV/GlslangToSpv.cpp
View file @
2de792c5
...
@@ -3435,11 +3435,12 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
...
@@ -3435,11 +3435,12 @@ spv::Id TGlslangToSpvTraverser::createMiscOperation(glslang::TOperator op, spv::
builder
.
promoteScalar
(
precision
,
operands
.
front
(),
operands
[
2
]);
builder
.
promoteScalar
(
precision
,
operands
.
front
(),
operands
[
2
]);
break
;
break
;
case
glslang
:
:
EOpMix
:
case
glslang
:
:
EOpMix
:
if
(
isFloat
)
if
(
!
builder
.
isBoolType
(
builder
.
getScalarTypeId
(
builder
.
getTypeId
(
operands
.
back
()))))
{
assert
(
isFloat
);
libCall
=
spv
::
GLSLstd450FMix
;
libCall
=
spv
::
GLSLstd450FMix
;
else
{
}
else
{
opCode
=
spv
::
OpSelect
;
opCode
=
spv
::
OpSelect
;
s
pv
::
MissingFunctionality
(
"translating integer mix to OpSelect"
);
s
td
::
swap
(
operands
.
front
(),
operands
.
back
()
);
}
}
builder
.
promoteScalar
(
precision
,
operands
.
front
(),
operands
.
back
());
builder
.
promoteScalar
(
precision
,
operands
.
front
(),
operands
.
back
());
break
;
break
;
...
...
Test/baseResults/spv.400.frag.out
View file @
2de792c5
...
@@ -719,28 +719,28 @@ Linked fragment stage:
...
@@ -719,28 +719,28 @@ Linked fragment stage:
424: 37(float) Load 39(doublev)
424: 37(float) Load 39(doublev)
425: 37(float) Load 39(doublev)
425: 37(float) Load 39(doublev)
429: 426(bool) Load 428(boolv)
429: 426(bool) Load 428(boolv)
430: 37(float)
ExtInst 1(GLSL.std.450) 46(FMix) 424 425 429
430: 37(float)
Select 429 425 424
431: 37(float) Load 39(doublev)
431: 37(float) Load 39(doublev)
432: 37(float) FAdd 431 430
432: 37(float) FAdd 431 430
Store 39(doublev) 432
Store 39(doublev) 432
433: 41(fvec2) Load 43(dvec2v)
433: 41(fvec2) Load 43(dvec2v)
434: 41(fvec2) Load 43(dvec2v)
434: 41(fvec2) Load 43(dvec2v)
438: 435(bvec2) Load 437(bvec2v)
438: 435(bvec2) Load 437(bvec2v)
439: 41(fvec2)
ExtInst 1(GLSL.std.450) 46(FMix) 433 434 438
439: 41(fvec2)
Select 438 434 433
440: 41(fvec2) Load 43(dvec2v)
440: 41(fvec2) Load 43(dvec2v)
441: 41(fvec2) FAdd 440 439
441: 41(fvec2) FAdd 440 439
Store 43(dvec2v) 441
Store 43(dvec2v) 441
442: 46(fvec3) Load 48(dvec3v)
442: 46(fvec3) Load 48(dvec3v)
443: 46(fvec3) Load 48(dvec3v)
443: 46(fvec3) Load 48(dvec3v)
447: 444(bvec3) Load 446(bvec3v)
447: 444(bvec3) Load 446(bvec3v)
448: 46(fvec3)
ExtInst 1(GLSL.std.450) 46(FMix) 442 443 447
448: 46(fvec3)
Select 447 443 442
449: 46(fvec3) Load 48(dvec3v)
449: 46(fvec3) Load 48(dvec3v)
450: 46(fvec3) FAdd 449 448
450: 46(fvec3) FAdd 449 448
Store 48(dvec3v) 450
Store 48(dvec3v) 450
451: 51(fvec4) Load 53(dvec4v)
451: 51(fvec4) Load 53(dvec4v)
452: 51(fvec4) Load 53(dvec4v)
452: 51(fvec4) Load 53(dvec4v)
456: 453(bvec4) Load 455(bvec4v)
456: 453(bvec4) Load 455(bvec4v)
457: 51(fvec4)
ExtInst 1(GLSL.std.450) 46(FMix) 451 452 456
457: 51(fvec4)
Select 456 452 451
458: 51(fvec4) Load 53(dvec4v)
458: 51(fvec4) Load 53(dvec4v)
459: 51(fvec4) FAdd 458 457
459: 51(fvec4) FAdd 458 457
Store 53(dvec4v) 459
Store 53(dvec4v) 459
...
...
Test/baseResults/spv.Operations.frag.out
View file @
2de792c5
...
@@ -281,7 +281,7 @@ Linked fragment stage:
...
@@ -281,7 +281,7 @@ Linked fragment stage:
176: 7(fvec4) Load 9(v)
176: 7(fvec4) Load 9(v)
177: 7(fvec4) Load 9(v)
177: 7(fvec4) Load 9(v)
182: 179(bvec4) Load 181(ub41)
182: 179(bvec4) Load 181(ub41)
183: 7(fvec4)
ExtInst 1(GLSL.std.450) 46(FMix) 176 177 182
183: 7(fvec4)
Select 182 177 176
184: 7(fvec4) Load 9(v)
184: 7(fvec4) Load 9(v)
185: 7(fvec4) FAdd 184 183
185: 7(fvec4) FAdd 184 183
Store 9(v) 185
Store 9(v) 185
...
...
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