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
3ea2c8fc
Unverified
Commit
3ea2c8fc
authored
Jul 14, 2020
by
John Kessenich
Committed by
GitHub
Jul 14, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2343 from KhronosGroup/fix-non-determinism
Fix recently found non-determinism with gl_WorldToObject3x4EXT.
parents
3aa44314
f80ef74c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
14 deletions
+14
-14
GlslangToSpv.cpp
SPIRV/GlslangToSpv.cpp
+3
-3
spv.ext.World3x4.rahit.out
Test/baseResults/spv.ext.World3x4.rahit.out
+10
-10
Spv.FromFile.cpp
gtests/Spv.FromFile.cpp
+1
-1
No files found.
SPIRV/GlslangToSpv.cpp
View file @
3ea2c8fc
...
@@ -2056,9 +2056,9 @@ std::pair<spv::Id, spv::Id> TGlslangToSpvTraverser::getForcedType(glslang::TBuil
...
@@ -2056,9 +2056,9 @@ std::pair<spv::Id, spv::Id> TGlslangToSpvTraverser::getForcedType(glslang::TBuil
// builtins. During visitBinary we insert a transpose
// builtins. During visitBinary we insert a transpose
case
glslang
:
:
EbvWorldToObject3x4
:
case
glslang
:
:
EbvWorldToObject3x4
:
case
glslang
:
:
EbvObjectToWorld3x4
:
{
case
glslang
:
:
EbvObjectToWorld3x4
:
{
s
td
::
pair
<
spv
::
Id
,
spv
::
Id
>
ret
(
builder
.
makeMatrixType
(
builder
.
makeFloatType
(
32
),
4
,
3
),
s
pv
::
Id
mat43
=
builder
.
makeMatrixType
(
builder
.
makeFloatType
(
32
),
4
,
3
);
builder
.
makeMatrixType
(
builder
.
makeFloatType
(
32
),
3
,
4
)
spv
::
Id
mat34
=
builder
.
makeMatrixType
(
builder
.
makeFloatType
(
32
),
3
,
4
);
);
std
::
pair
<
spv
::
Id
,
spv
::
Id
>
ret
(
mat43
,
mat34
);
return
ret
;
return
ret
;
}
}
default
:
default
:
...
...
Test/baseResults/spv.ext.World3x4.rahit.out
View file @
3ea2c8fc
...
@@ -50,21 +50,21 @@ spv.ext.World3x4.rahit
...
@@ -50,21 +50,21 @@ spv.ext.World3x4.rahit
43(gl_LaunchIDEXT): 42(ptr) Variable Input
43(gl_LaunchIDEXT): 42(ptr) Variable Input
44: TypeVector 40(int) 2
44: TypeVector 40(int) 2
47: TypeVector 10(int) 2
47: TypeVector 10(int) 2
55: TypeVector 6(float)
4
55: TypeVector 6(float)
3
56: TypeMatrix 55(fvec
4) 3
56: TypeMatrix 55(fvec
3) 4
57: TypeVector 6(float)
3
57: TypeVector 6(float)
4
58: TypeMatrix 57(fvec
3) 4
58: TypeMatrix 57(fvec
4) 3
59: TypePointer Input 5
8
59: TypePointer Input 5
6
60(gl_WorldToObject3x4EXT): 59(ptr) Variable Input
60(gl_WorldToObject3x4EXT): 59(ptr) Variable Input
65: TypePointer Function 5
6
65: TypePointer Function 5
8
70: TypeVector 10(int) 4
70: TypeVector 10(int) 4
71: TypePointer Function 70(ivec4)
71: TypePointer Function 70(ivec4)
76: TypeImage 10(int) 3D nonsampled format:R32i
76: TypeImage 10(int) 3D nonsampled format:R32i
77: TypePointer UniformConstant 76
77: TypePointer UniformConstant 76
78(result): 77(ptr) Variable UniformConstant
78(result): 77(ptr) Variable UniformConstant
86: TypePointer HitAttributeKHR 5
7
(fvec3)
86: TypePointer HitAttributeKHR 5
5
(fvec3)
87(attribs): 86(ptr) Variable HitAttributeKHR
87(attribs): 86(ptr) Variable HitAttributeKHR
88: TypePointer IncomingRayPayloadKHR 5
7
(fvec3)
88: TypePointer IncomingRayPayloadKHR 5
5
(fvec3)
89(hitValue): 88(ptr) Variable IncomingRayPayloadKHR
89(hitValue): 88(ptr) Variable IncomingRayPayloadKHR
4(main): 2 Function None 3
4(main): 2 Function None 3
5: Label
5: Label
...
@@ -110,8 +110,8 @@ spv.ext.World3x4.rahit
...
@@ -110,8 +110,8 @@ spv.ext.World3x4.rahit
52: 37(ivec3) CompositeConstruct 50 51 49
52: 37(ivec3) CompositeConstruct 50 51 49
Store 39(p) 52
Store 39(p) 52
54: 6(float) Load 8(k)
54: 6(float) Load 8(k)
61: 5
8
Load 60(gl_WorldToObject3x4EXT)
61: 5
6
Load 60(gl_WorldToObject3x4EXT)
62: 5
6
Transpose 61
62: 5
8
Transpose 61
63: 10(int) Load 14(col)
63: 10(int) Load 14(col)
64: 10(int) Load 25(row)
64: 10(int) Load 25(row)
Store 66(indexable) 62
Store 66(indexable) 62
...
...
gtests/Spv.FromFile.cpp
View file @
3ea2c8fc
...
@@ -560,7 +560,7 @@ INSTANTIATE_TEST_CASE_P(
...
@@ -560,7 +560,7 @@ INSTANTIATE_TEST_CASE_P(
"spv.ext.RayGenShader.rgen"
,
"spv.ext.RayGenShader.rgen"
,
"spv.ext.RayGenShader11.rgen"
,
"spv.ext.RayGenShader11.rgen"
,
"spv.ext.RayGenShaderArray.rgen"
,
"spv.ext.RayGenShaderArray.rgen"
,
//"spv.ext.World3x4.rahit", this is triggering non-deterministic results
"spv.ext.World3x4.rahit"
,
})),
})),
FileNameAsCustomTestSuffix
FileNameAsCustomTestSuffix
);
);
...
...
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