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
a39159a1
Commit
a39159a1
authored
Aug 16, 2015
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement GL_OES_texture_storage_multisample_2d_array.
parent
2b0a1135
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
173 additions
and
4 deletions
+173
-4
310.vert
Test/310.vert
+34
-0
310.vert.out
Test/baseResults/310.vert.out
+134
-1
revision.h
glslang/Include/revision.h
+1
-1
Initialize.cpp
glslang/MachineIndependent/Initialize.cpp
+1
-1
Scan.cpp
glslang/MachineIndependent/Scan.cpp
+2
-0
Versions.cpp
glslang/MachineIndependent/Versions.cpp
+1
-1
No files found.
Test/310.vert
View file @
a39159a1
...
@@ -305,3 +305,37 @@ void CAT()
...
@@ -305,3 +305,37 @@ void CAT()
highp
ivec3
s2
=
imageSize
(
CA2
);
highp
ivec3
s2
=
imageSize
(
CA2
);
highp
ivec3
s3
=
imageSize
(
CA3
);
highp
ivec3
s3
=
imageSize
(
CA3
);
}
}
uniform
sampler2DMSArray
bad2DMS
;
// ERROR, reserved
uniform
isampler2DMSArray
bad2DMSi
;
// ERROR, reserved
uniform
usampler2DMSArray
bad2DMSu
;
// ERROR, reserved
#extension GL_OES_texture_storage_multisample_2d_array : enable
#ifdef GL_OES_texture_storage_multisample_2d_array
uniform
sampler2DMSArray
noPrec2DMS
;
// ERROR, no default
uniform
isampler2DMSArray
noPrec2DMSi
;
// ERROR, no default
uniform
usampler2DMSArray
noPrec2DMSu
;
// ERROR, no default
#endif
precision
highp
sampler2DMSArray
;
precision
highp
isampler2DMSArray
;
precision
highp
usampler2DMSArray
;
uniform
sampler2DMSArray
samp2DMSA
;
uniform
isampler2DMSArray
samp2DMSAi
;
uniform
usampler2DMSArray
samp2DMSAu
;
void
MSA
()
{
vec4
tf
=
texelFetch
(
samp2DMSA
,
ivec3
(
5
),
2
);
ivec4
tfi
=
texelFetch
(
samp2DMSAi
,
ivec3
(
5
),
2
);
uvec4
tfu
=
texelFetch
(
samp2DMSAu
,
ivec3
(
5
),
2
);
ivec3
tfs
=
textureSize
(
samp2DMSA
);
ivec3
tfsi
=
textureSize
(
samp2DMSAi
);
ivec3
tfsb
=
textureSize
(
samp2DMSAi
,
4
);
// ERROR, no lod
ivec3
tfsu
=
textureSize
(
samp2DMSAu
);
}
Test/baseResults/310.vert.out
View file @
a39159a1
...
@@ -79,7 +79,18 @@ ERROR: 0:250: 'sampler/image' : type requires declaration of default precision q
...
@@ -79,7 +79,18 @@ ERROR: 0:250: 'sampler/image' : type requires declaration of default precision q
ERROR: 0:251: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:251: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:252: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:252: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:253: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:253: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 75 compilation errors. No code generated.
ERROR: 0:309: 'sampler2DMSArray' : Reserved word.
ERROR: 0:309: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:310: 'isampler2DMSArray' : Reserved word.
ERROR: 0:310: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:311: 'usampler2DMSArray' : Reserved word.
ERROR: 0:311: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:317: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:318: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:319: 'sampler/image' : type requires declaration of default precision qualifier
ERROR: 0:339: 'textureSize' : no matching overloaded function found
ERROR: 0:339: '=' : cannot convert from 'const float' to 'temp highp 3-component vector of int'
ERROR: 86 compilation errors. No code generated.
Shader version: 310
Shader version: 310
...
@@ -88,6 +99,7 @@ Requested GL_OES_gpu_shader5
...
@@ -88,6 +99,7 @@ Requested GL_OES_gpu_shader5
Requested GL_OES_shader_io_blocks
Requested GL_OES_shader_io_blocks
Requested GL_OES_texture_buffer
Requested GL_OES_texture_buffer
Requested GL_OES_texture_cube_map_array
Requested GL_OES_texture_cube_map_array
Requested GL_OES_texture_storage_multisample_2d_array
ERROR: node is still EOpNull!
ERROR: node is still EOpNull!
0:12 Function Definition: main( (global void)
0:12 Function Definition: main( (global void)
0:12 Function Parameters:
0:12 Function Parameters:
...
@@ -713,6 +725,57 @@ ERROR: node is still EOpNull!
...
@@ -713,6 +725,57 @@ ERROR: node is still EOpNull!
0:306 's3' (temp highp 3-component vector of int)
0:306 's3' (temp highp 3-component vector of int)
0:306 Function Call: imageSize(uIAC1; (global highp 3-component vector of int)
0:306 Function Call: imageSize(uIAC1; (global highp 3-component vector of int)
0:306 'CA3' (writeonly uniform highp uimageCubeArray)
0:306 'CA3' (writeonly uniform highp uimageCubeArray)
0:331 Function Definition: MSA( (global void)
0:331 Function Parameters:
0:333 Sequence
0:333 Sequence
0:333 move second child to first child (temp highp 4-component vector of float)
0:333 'tf' (temp highp 4-component vector of float)
0:333 Function Call: texelFetch(sA2M1;vi3;i1; (global highp 4-component vector of float)
0:333 'samp2DMSA' (uniform highp sampler2DMSArray)
0:333 Constant:
0:333 5 (const int)
0:333 5 (const int)
0:333 5 (const int)
0:333 Constant:
0:333 2 (const int)
0:334 Sequence
0:334 move second child to first child (temp highp 4-component vector of int)
0:334 'tfi' (temp highp 4-component vector of int)
0:334 Function Call: texelFetch(isA2M1;vi3;i1; (global highp 4-component vector of int)
0:334 'samp2DMSAi' (uniform highp isampler2DMSArray)
0:334 Constant:
0:334 5 (const int)
0:334 5 (const int)
0:334 5 (const int)
0:334 Constant:
0:334 2 (const int)
0:335 Sequence
0:335 move second child to first child (temp highp 4-component vector of uint)
0:335 'tfu' (temp highp 4-component vector of uint)
0:335 Function Call: texelFetch(usA2M1;vi3;i1; (global highp 4-component vector of uint)
0:335 'samp2DMSAu' (uniform highp usampler2DMSArray)
0:335 Constant:
0:335 5 (const int)
0:335 5 (const int)
0:335 5 (const int)
0:335 Constant:
0:335 2 (const int)
0:337 Sequence
0:337 move second child to first child (temp highp 3-component vector of int)
0:337 'tfs' (temp highp 3-component vector of int)
0:337 Function Call: textureSize(sA2M1; (global highp 3-component vector of int)
0:337 'samp2DMSA' (uniform highp sampler2DMSArray)
0:338 Sequence
0:338 move second child to first child (temp highp 3-component vector of int)
0:338 'tfsi' (temp highp 3-component vector of int)
0:338 Function Call: textureSize(isA2M1; (global highp 3-component vector of int)
0:338 'samp2DMSAi' (uniform highp isampler2DMSArray)
0:340 Sequence
0:340 move second child to first child (temp highp 3-component vector of int)
0:340 'tfsu' (temp highp 3-component vector of int)
0:340 Function Call: textureSize(usA2M1; (global highp 3-component vector of int)
0:340 'samp2DMSAu' (uniform highp usampler2DMSArray)
0:? Linker Objects
0:? Linker Objects
0:? 's' (shared highp 4-component vector of float)
0:? 's' (shared highp 4-component vector of float)
0:? 'v' (buffer highp 4-component vector of float)
0:? 'v' (buffer highp 4-component vector of float)
...
@@ -801,6 +864,15 @@ ERROR: node is still EOpNull!
...
@@ -801,6 +864,15 @@ ERROR: node is still EOpNull!
0:? 'CA5' (uniform highp samplerCubeArrayShadow)
0:? 'CA5' (uniform highp samplerCubeArrayShadow)
0:? 'CA6' (uniform highp isamplerCubeArray)
0:? 'CA6' (uniform highp isamplerCubeArray)
0:? 'CA7' (uniform highp usamplerCubeArray)
0:? 'CA7' (uniform highp usamplerCubeArray)
0:? 'bad2DMS' (uniform mediump sampler2DMSArray)
0:? 'bad2DMSi' (uniform mediump isampler2DMSArray)
0:? 'bad2DMSu' (uniform mediump usampler2DMSArray)
0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray)
0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray)
0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray)
0:? 'samp2DMSA' (uniform highp sampler2DMSArray)
0:? 'samp2DMSAi' (uniform highp isampler2DMSArray)
0:? 'samp2DMSAu' (uniform highp usampler2DMSArray)
0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
...
@@ -814,6 +886,7 @@ Requested GL_OES_gpu_shader5
...
@@ -814,6 +886,7 @@ Requested GL_OES_gpu_shader5
Requested GL_OES_shader_io_blocks
Requested GL_OES_shader_io_blocks
Requested GL_OES_texture_buffer
Requested GL_OES_texture_buffer
Requested GL_OES_texture_cube_map_array
Requested GL_OES_texture_cube_map_array
Requested GL_OES_texture_storage_multisample_2d_array
ERROR: node is still EOpNull!
ERROR: node is still EOpNull!
0:12 Function Definition: main( (global void)
0:12 Function Definition: main( (global void)
0:12 Function Parameters:
0:12 Function Parameters:
...
@@ -1439,6 +1512,57 @@ ERROR: node is still EOpNull!
...
@@ -1439,6 +1512,57 @@ ERROR: node is still EOpNull!
0:306 's3' (temp highp 3-component vector of int)
0:306 's3' (temp highp 3-component vector of int)
0:306 Function Call: imageSize(uIAC1; (global highp 3-component vector of int)
0:306 Function Call: imageSize(uIAC1; (global highp 3-component vector of int)
0:306 'CA3' (writeonly uniform highp uimageCubeArray)
0:306 'CA3' (writeonly uniform highp uimageCubeArray)
0:331 Function Definition: MSA( (global void)
0:331 Function Parameters:
0:333 Sequence
0:333 Sequence
0:333 move second child to first child (temp highp 4-component vector of float)
0:333 'tf' (temp highp 4-component vector of float)
0:333 Function Call: texelFetch(sA2M1;vi3;i1; (global highp 4-component vector of float)
0:333 'samp2DMSA' (uniform highp sampler2DMSArray)
0:333 Constant:
0:333 5 (const int)
0:333 5 (const int)
0:333 5 (const int)
0:333 Constant:
0:333 2 (const int)
0:334 Sequence
0:334 move second child to first child (temp highp 4-component vector of int)
0:334 'tfi' (temp highp 4-component vector of int)
0:334 Function Call: texelFetch(isA2M1;vi3;i1; (global highp 4-component vector of int)
0:334 'samp2DMSAi' (uniform highp isampler2DMSArray)
0:334 Constant:
0:334 5 (const int)
0:334 5 (const int)
0:334 5 (const int)
0:334 Constant:
0:334 2 (const int)
0:335 Sequence
0:335 move second child to first child (temp highp 4-component vector of uint)
0:335 'tfu' (temp highp 4-component vector of uint)
0:335 Function Call: texelFetch(usA2M1;vi3;i1; (global highp 4-component vector of uint)
0:335 'samp2DMSAu' (uniform highp usampler2DMSArray)
0:335 Constant:
0:335 5 (const int)
0:335 5 (const int)
0:335 5 (const int)
0:335 Constant:
0:335 2 (const int)
0:337 Sequence
0:337 move second child to first child (temp highp 3-component vector of int)
0:337 'tfs' (temp highp 3-component vector of int)
0:337 Function Call: textureSize(sA2M1; (global highp 3-component vector of int)
0:337 'samp2DMSA' (uniform highp sampler2DMSArray)
0:338 Sequence
0:338 move second child to first child (temp highp 3-component vector of int)
0:338 'tfsi' (temp highp 3-component vector of int)
0:338 Function Call: textureSize(isA2M1; (global highp 3-component vector of int)
0:338 'samp2DMSAi' (uniform highp isampler2DMSArray)
0:340 Sequence
0:340 move second child to first child (temp highp 3-component vector of int)
0:340 'tfsu' (temp highp 3-component vector of int)
0:340 Function Call: textureSize(usA2M1; (global highp 3-component vector of int)
0:340 'samp2DMSAu' (uniform highp usampler2DMSArray)
0:? Linker Objects
0:? Linker Objects
0:? 's' (shared highp 4-component vector of float)
0:? 's' (shared highp 4-component vector of float)
0:? 'v' (buffer highp 4-component vector of float)
0:? 'v' (buffer highp 4-component vector of float)
...
@@ -1527,6 +1651,15 @@ ERROR: node is still EOpNull!
...
@@ -1527,6 +1651,15 @@ ERROR: node is still EOpNull!
0:? 'CA5' (uniform highp samplerCubeArrayShadow)
0:? 'CA5' (uniform highp samplerCubeArrayShadow)
0:? 'CA6' (uniform highp isamplerCubeArray)
0:? 'CA6' (uniform highp isamplerCubeArray)
0:? 'CA7' (uniform highp usamplerCubeArray)
0:? 'CA7' (uniform highp usamplerCubeArray)
0:? 'bad2DMS' (uniform mediump sampler2DMSArray)
0:? 'bad2DMSi' (uniform mediump isampler2DMSArray)
0:? 'bad2DMSu' (uniform mediump usampler2DMSArray)
0:? 'noPrec2DMS' (uniform mediump sampler2DMSArray)
0:? 'noPrec2DMSi' (uniform mediump isampler2DMSArray)
0:? 'noPrec2DMSu' (uniform mediump usampler2DMSArray)
0:? 'samp2DMSA' (uniform highp sampler2DMSArray)
0:? 'samp2DMSAi' (uniform highp isampler2DMSArray)
0:? 'samp2DMSAu' (uniform highp usampler2DMSArray)
0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
0:? 'gl_VertexID' (gl_VertexId highp int VertexId)
0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
0:? 'gl_InstanceID' (gl_InstanceId highp int InstanceId)
glslang/Include/revision.h
View file @
a39159a1
...
@@ -2,5 +2,5 @@
...
@@ -2,5 +2,5 @@
// For the version, it uses the latest git tag followed by the number of commits.
// For the version, it uses the latest git tag followed by the number of commits.
// For the date, it uses the current date (when then script is run).
// For the date, it uses the current date (when then script is run).
#define GLSLANG_REVISION "2.3.71
7
"
#define GLSLANG_REVISION "2.3.71
8
"
#define GLSLANG_DATE "16-Aug-2015"
#define GLSLANG_DATE "16-Aug-2015"
glslang/MachineIndependent/Initialize.cpp
View file @
a39159a1
...
@@ -1862,7 +1862,7 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile)
...
@@ -1862,7 +1862,7 @@ void TBuiltIns::add2ndGenerationSamplingImaging(int version, EProfile profile)
continue
;
continue
;
if
(
dim
==
EsdBuffer
&&
(
shadow
||
arrayed
||
ms
))
if
(
dim
==
EsdBuffer
&&
(
shadow
||
arrayed
||
ms
))
continue
;
continue
;
if
(
ms
&&
arrayed
&&
profile
==
EEsProfile
)
if
(
ms
&&
arrayed
&&
profile
==
EEsProfile
&&
version
<
310
)
continue
;
continue
;
for
(
int
bType
=
0
;
bType
<
3
;
++
bType
)
{
// float, int, uint results
for
(
int
bType
=
0
;
bType
<
3
;
++
bType
)
{
// float, int, uint results
...
...
glslang/MachineIndependent/Scan.cpp
View file @
a39159a1
...
@@ -900,6 +900,8 @@ int TScanContext::tokenizeIdentifier()
...
@@ -900,6 +900,8 @@ int TScanContext::tokenizeIdentifier()
case
ISAMPLER2DMSARRAY
:
case
ISAMPLER2DMSARRAY
:
case
USAMPLER2DMSARRAY
:
case
USAMPLER2DMSARRAY
:
afterType
=
true
;
afterType
=
true
;
if
(
parseContext
.
extensionsTurnedOn
(
1
,
&
E_GL_OES_texture_storage_multisample_2d_array
))
return
keyword
;
return
es30ReservedFromGLSL
(
150
);
return
es30ReservedFromGLSL
(
150
);
case
SAMPLER1D
:
case
SAMPLER1D
:
...
...
glslang/MachineIndependent/Versions.cpp
View file @
a39159a1
...
@@ -184,7 +184,7 @@ void TParseContext::initializeExtensionBehavior()
...
@@ -184,7 +184,7 @@ void TParseContext::initializeExtensionBehavior()
extensionBehavior
[
E_GL_OES_sample_variables
]
=
EBhDisablePartial
;
extensionBehavior
[
E_GL_OES_sample_variables
]
=
EBhDisablePartial
;
extensionBehavior
[
E_GL_OES_shader_image_atomic
]
=
EBhDisablePartial
;
extensionBehavior
[
E_GL_OES_shader_image_atomic
]
=
EBhDisablePartial
;
extensionBehavior
[
E_GL_OES_shader_multisample_interpolation
]
=
EBhDisablePartial
;
extensionBehavior
[
E_GL_OES_shader_multisample_interpolation
]
=
EBhDisablePartial
;
extensionBehavior
[
E_GL_OES_texture_storage_multisample_2d_array
]
=
EBhDisable
Partial
;
extensionBehavior
[
E_GL_OES_texture_storage_multisample_2d_array
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_geometry_shader
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_geometry_shader
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_geometry_point_size
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_geometry_point_size
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_gpu_shader5
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_gpu_shader5
]
=
EBhDisable
;
...
...
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