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
74c5f711
Commit
74c5f711
authored
Aug 25, 2017
by
John Kessenich
Committed by
GitHub
Aug 25, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1014 from KhronosGroup/SPV_EXT_shader_viewport_index_layer
SPV: 1st pass implementation of SPV_EXT_shader_viewport_index_layer.
parents
35343cb8
b41bff69
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
10 additions
and
12 deletions
+10
-12
GLSL.ext.KHR.h
SPIRV/GLSL.ext.KHR.h
+1
-0
GlslangToSpv.cpp
SPIRV/GlslangToSpv.cpp
+6
-12
spv.stereoViewRendering.vert.out
Test/baseResults/spv.stereoViewRendering.vert.out
+1
-0
spv.viewportArray2.tesc.out
Test/baseResults/spv.viewportArray2.tesc.out
+1
-0
spv.viewportArray2.vert.out
Test/baseResults/spv.viewportArray2.vert.out
+1
-0
No files found.
SPIRV/GLSL.ext.KHR.h
View file @
74c5f711
...
@@ -43,5 +43,6 @@ static const char* const E_SPV_KHR_16bit_storage = "SPV_KHR_16bit
...
@@ -43,5 +43,6 @@ static const char* const E_SPV_KHR_16bit_storage = "SPV_KHR_16bit
static
const
char
*
const
E_SPV_KHR_storage_buffer_storage_class
=
"SPV_KHR_storage_buffer_storage_class"
;
static
const
char
*
const
E_SPV_KHR_storage_buffer_storage_class
=
"SPV_KHR_storage_buffer_storage_class"
;
static
const
char
*
const
E_SPV_KHR_post_depth_coverage
=
"SPV_KHR_post_depth_coverage"
;
static
const
char
*
const
E_SPV_KHR_post_depth_coverage
=
"SPV_KHR_post_depth_coverage"
;
static
const
char
*
const
E_SPV_EXT_shader_stencil_export
=
"SPV_EXT_shader_stencil_export"
;
static
const
char
*
const
E_SPV_EXT_shader_stencil_export
=
"SPV_EXT_shader_stencil_export"
;
static
const
char
*
const
E_SPV_EXT_shader_viewport_index_layer
=
"SPV_EXT_shader_viewport_index_layer"
;
#endif // #ifndef GLSLextKHR_H
#endif // #ifndef GLSLextKHR_H
SPIRV/GlslangToSpv.cpp
View file @
74c5f711
...
@@ -455,15 +455,13 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
...
@@ -455,15 +455,13 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
case
glslang
:
:
EbvViewportIndex
:
case
glslang
:
:
EbvViewportIndex
:
if
(
!
memberDeclaration
)
{
if
(
!
memberDeclaration
)
{
builder
.
addCapability
(
spv
::
CapabilityMultiViewport
);
builder
.
addCapability
(
spv
::
CapabilityMultiViewport
);
#ifdef NV_EXTENSIONS
if
(
glslangIntermediate
->
getStage
()
==
EShLangVertex
||
if
(
glslangIntermediate
->
getStage
()
==
EShLangVertex
||
glslangIntermediate
->
getStage
()
==
EShLangTessControl
||
glslangIntermediate
->
getStage
()
==
EShLangTessControl
||
glslangIntermediate
->
getStage
()
==
EShLangTessEvaluation
)
{
glslangIntermediate
->
getStage
()
==
EShLangTessEvaluation
)
{
builder
.
addExtension
(
spv
::
E_SPV_
NV_viewport_array2
);
builder
.
addExtension
(
spv
::
E_SPV_
EXT_shader_viewport_index_layer
);
builder
.
addCapability
(
spv
::
CapabilityShaderViewportIndexLayer
NV
);
builder
.
addCapability
(
spv
::
CapabilityShaderViewportIndexLayer
EXT
);
}
}
#endif
}
}
return
spv
::
BuiltInViewportIndex
;
return
spv
::
BuiltInViewportIndex
;
...
@@ -482,15 +480,13 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
...
@@ -482,15 +480,13 @@ spv::BuiltIn TGlslangToSpvTraverser::TranslateBuiltInDecoration(glslang::TBuiltI
case
glslang
:
:
EbvLayer
:
case
glslang
:
:
EbvLayer
:
if
(
!
memberDeclaration
)
{
if
(
!
memberDeclaration
)
{
builder
.
addCapability
(
spv
::
CapabilityGeometry
);
builder
.
addCapability
(
spv
::
CapabilityGeometry
);
#ifdef NV_EXTENSIONS
if
(
glslangIntermediate
->
getStage
()
==
EShLangVertex
||
if
(
glslangIntermediate
->
getStage
()
==
EShLangVertex
||
glslangIntermediate
->
getStage
()
==
EShLangTessControl
||
glslangIntermediate
->
getStage
()
==
EShLangTessControl
||
glslangIntermediate
->
getStage
()
==
EShLangTessEvaluation
)
{
glslangIntermediate
->
getStage
()
==
EShLangTessEvaluation
)
{
builder
.
addExtension
(
spv
::
E_SPV_
NV_viewport_array2
);
builder
.
addExtension
(
spv
::
E_SPV_
EXT_shader_viewport_index_layer
);
builder
.
addCapability
(
spv
::
CapabilityShaderViewportIndexLayer
NV
);
builder
.
addCapability
(
spv
::
CapabilityShaderViewportIndexLayer
EXT
);
}
}
#endif
}
}
return
spv
::
BuiltInLayer
;
return
spv
::
BuiltInLayer
;
...
@@ -5494,14 +5490,12 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol
...
@@ -5494,14 +5490,12 @@ spv::Id TGlslangToSpvTraverser::getSymbolId(const glslang::TIntermSymbol* symbol
}
}
else
if
(
builtIn
==
spv
::
BuiltInLayer
)
{
else
if
(
builtIn
==
spv
::
BuiltInLayer
)
{
// SPV_NV_viewport_array2 extension
// SPV_NV_viewport_array2 extension
if
(
symbol
->
getQualifier
().
layoutViewportRelative
)
if
(
symbol
->
getQualifier
().
layoutViewportRelative
)
{
{
addDecoration
(
id
,
(
spv
::
Decoration
)
spv
::
DecorationViewportRelativeNV
);
addDecoration
(
id
,
(
spv
::
Decoration
)
spv
::
DecorationViewportRelativeNV
);
builder
.
addCapability
(
spv
::
CapabilityShaderViewportMaskNV
);
builder
.
addCapability
(
spv
::
CapabilityShaderViewportMaskNV
);
builder
.
addExtension
(
spv
::
E_SPV_NV_viewport_array2
);
builder
.
addExtension
(
spv
::
E_SPV_NV_viewport_array2
);
}
}
if
(
symbol
->
getQualifier
().
layoutSecondaryViewportRelativeOffset
!=
-
2048
)
if
(
symbol
->
getQualifier
().
layoutSecondaryViewportRelativeOffset
!=
-
2048
)
{
{
addDecoration
(
id
,
(
spv
::
Decoration
)
spv
::
DecorationSecondaryViewportRelativeNV
,
symbol
->
getQualifier
().
layoutSecondaryViewportRelativeOffset
);
addDecoration
(
id
,
(
spv
::
Decoration
)
spv
::
DecorationSecondaryViewportRelativeNV
,
symbol
->
getQualifier
().
layoutSecondaryViewportRelativeOffset
);
builder
.
addCapability
(
spv
::
CapabilityShaderStereoViewNV
);
builder
.
addCapability
(
spv
::
CapabilityShaderStereoViewNV
);
builder
.
addExtension
(
spv
::
E_SPV_NV_stereo_view_rendering
);
builder
.
addExtension
(
spv
::
E_SPV_NV_stereo_view_rendering
);
...
...
Test/baseResults/spv.stereoViewRendering.vert.out
View file @
74c5f711
...
@@ -8,6 +8,7 @@ spv.stereoViewRendering.vert
...
@@ -8,6 +8,7 @@ spv.stereoViewRendering.vert
Capability ShaderViewportIndexLayerNV
Capability ShaderViewportIndexLayerNV
Capability ShaderViewportMaskNV
Capability ShaderViewportMaskNV
Capability ShaderStereoViewNV
Capability ShaderStereoViewNV
Extension "SPV_EXT_shader_viewport_index_layer"
Extension "SPV_NV_stereo_view_rendering"
Extension "SPV_NV_stereo_view_rendering"
Extension "SPV_NV_viewport_array2"
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
1: ExtInstImport "GLSL.std.450"
...
...
Test/baseResults/spv.viewportArray2.tesc.out
View file @
74c5f711
...
@@ -7,6 +7,7 @@ spv.viewportArray2.tesc
...
@@ -7,6 +7,7 @@ spv.viewportArray2.tesc
Capability MultiViewport
Capability MultiViewport
Capability ShaderViewportIndexLayerNV
Capability ShaderViewportIndexLayerNV
Capability ShaderViewportMaskNV
Capability ShaderViewportMaskNV
Extension "SPV_EXT_shader_viewport_index_layer"
Extension "SPV_NV_viewport_array2"
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
MemoryModel Logical GLSL450
...
...
Test/baseResults/spv.viewportArray2.vert.out
View file @
74c5f711
...
@@ -8,6 +8,7 @@ spv.viewportArray2.vert
...
@@ -8,6 +8,7 @@ spv.viewportArray2.vert
Capability MultiViewport
Capability MultiViewport
Capability ShaderViewportIndexLayerNV
Capability ShaderViewportIndexLayerNV
Capability ShaderViewportMaskNV
Capability ShaderViewportMaskNV
Extension "SPV_EXT_shader_viewport_index_layer"
Extension "SPV_NV_viewport_array2"
Extension "SPV_NV_viewport_array2"
1: ExtInstImport "GLSL.std.450"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
MemoryModel Logical GLSL450
...
...
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