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
4fc7a339
Unverified
Commit
4fc7a339
authored
Jan 15, 2020
by
John Kessenich
Committed by
GitHub
Jan 15, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2058 from KhronosGroup/vulkan-1.2
SPV/Vulkan: Add support for Vulkan 1.2, which defaults to SPIR-V 1.5.
parents
d203754b
c3bb5d69
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
26 additions
and
11 deletions
+26
-11
SpvTools.cpp
SPIRV/SpvTools.cpp
+2
-0
StandAlone.cpp
StandAlone/StandAlone.cpp
+18
-10
runtests
Test/runtests
+1
-0
localintermediate.h
glslang/MachineIndependent/localintermediate.h
+3
-0
ShaderLang.h
glslang/Public/ShaderLang.h
+1
-0
known_good.json
known_good.json
+1
-1
No files found.
SPIRV/SpvTools.cpp
View file @
4fc7a339
...
...
@@ -67,6 +67,8 @@ spv_target_env MapToSpirvToolsEnv(const SpvVersion& spvVersion, spv::SpvBuildLog
logger
->
missingFunctionality
(
"Target version for SPIRV-Tools validator"
);
return
spv_target_env
::
SPV_ENV_VULKAN_1_1
;
}
case
glslang
:
:
EShTargetVulkan_1_2
:
return
spv_target_env
::
SPV_ENV_VULKAN_1_2
;
default
:
break
;
}
...
...
StandAlone/StandAlone.cpp
View file @
4fc7a339
...
...
@@ -608,6 +608,9 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
}
else
if
(
strcmp
(
argv
[
1
],
"vulkan1.1"
)
==
0
)
{
setVulkanSpv
();
ClientVersion
=
glslang
::
EShTargetVulkan_1_1
;
}
else
if
(
strcmp
(
argv
[
1
],
"vulkan1.2"
)
==
0
)
{
setVulkanSpv
();
ClientVersion
=
glslang
::
EShTargetVulkan_1_2
;
}
else
if
(
strcmp
(
argv
[
1
],
"opengl"
)
==
0
)
{
setOpenGlSpv
();
ClientVersion
=
glslang
::
EShTargetOpenGL_450
;
...
...
@@ -630,7 +633,7 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
TargetLanguage
=
glslang
::
EShTargetSpv
;
TargetVersion
=
glslang
::
EShTargetSpv_1_5
;
}
else
Error
(
"--target-env expected one of: vulkan1.0, vulkan1.1, opengl,
\n
"
Error
(
"--target-env expected one of: vulkan1.0, vulkan1.1,
vulkan1.2,
opengl,
\n
"
"spirv1.0, spirv1.1, spirv1.2, spirv1.3, spirv1.4, or spirv1.5"
);
}
bumpArg
();
...
...
@@ -825,6 +828,10 @@ void ProcessArguments(std::vector<std::unique_ptr<glslang::TWorkItem>>& workItem
TargetLanguage
=
glslang
::
EShTargetSpv
;
TargetVersion
=
glslang
::
EShTargetSpv_1_3
;
break
;
case
glslang
:
:
EShTargetVulkan_1_2
:
TargetLanguage
=
glslang
::
EShTargetSpv
;
TargetVersion
=
glslang
::
EShTargetSpv_1_5
;
break
;
case
glslang
:
:
EShTargetOpenGL_450
:
TargetLanguage
=
glslang
::
EShTargetSpv
;
TargetVersion
=
glslang
::
EShTargetSpv_1_0
;
...
...
@@ -1640,16 +1647,17 @@ void usage()
" --sep synonym for --source-entrypoint
\n
"
" --stdin read from stdin instead of from a file;
\n
"
" requires providing the shader stage using -S
\n
"
" --target-env {vulkan1.0 | vulkan1.1 | opengl |
\n
"
" --target-env {vulkan1.0 | vulkan1.1 |
vulkan1.2 |
opengl |
\n
"
" spirv1.0 | spirv1.1 | spirv1.2 | spirv1.3 | spirv1.4 | spirv1.5}
\n
"
" set execution environment that emitted code
\n
"
" will execute in (versus source language
\n
"
" semantics selected by --client) defaults:
\n
"
" * 'vulkan1.0' under '--client vulkan<ver>'
\n
"
" * 'opengl' under '--client opengl<ver>'
\n
"
" * 'spirv1.0' under --target-env vulkan1.0
\n
"
" * 'spirv1.3' under --target-env vulkan1.1
\n
"
" multiple --targen-env can be specified.
\n
"
" Set the execution environment that the
\n
"
" generated code will be executed in.
\n
"
" Defaults to:
\n
"
" * vulkan1.0 under --client vulkan<ver>
\n
"
" * opengl under --client opengl<ver>
\n
"
" * spirv1.0 under --target-env vulkan1.0
\n
"
" * spirv1.3 under --target-env vulkan1.1
\n
"
" * spirv1.5 under --target-env vulkan1.2
\n
"
" Multiple --target-env can be specified.
\n
"
" --variable-name <name>
\n
"
" --vn <name> creates a C header file that contains a
\n
"
" uint32_t array named <name>
\n
"
...
...
Test/runtests
View file @
4fc7a339
...
...
@@ -189,6 +189,7 @@ $EXE --client vulkan100 spv.targetVulkan.vert || HASERROR=1
$EXE
--client
opengl100 spv.targetOpenGL.vert
||
HASERROR
=
1
$EXE
--target-env
vulkan1.0 spv.targetVulkan.vert
||
HASERROR
=
1
$EXE
--target-env
vulkan1.1 spv.targetVulkan.vert
||
HASERROR
=
1
$EXE
--target-env
vulkan1.2 spv.targetVulkan.vert
||
HASERROR
=
1
$EXE
--target-env
opengl spv.targetOpenGL.vert
||
HASERROR
=
1
$EXE
-V100
spv.targetVulkan.vert
||
HASERROR
=
1
$EXE
-G100
spv.targetOpenGL.vert
||
HASERROR
=
1
...
...
glslang/MachineIndependent/localintermediate.h
View file @
4fc7a339
...
...
@@ -332,6 +332,9 @@ public:
case
EShTargetVulkan_1_1
:
processes
.
addProcess
(
"target-env vulkan1.1"
);
break
;
case
EShTargetVulkan_1_2
:
processes
.
addProcess
(
"target-env vulkan1.2"
);
break
;
default
:
processes
.
addProcess
(
"target-env vulkanUnknown"
);
break
;
...
...
glslang/Public/ShaderLang.h
View file @
4fc7a339
...
...
@@ -145,6 +145,7 @@ typedef enum {
typedef
enum
{
EShTargetVulkan_1_0
=
(
1
<<
22
),
// Vulkan 1.0
EShTargetVulkan_1_1
=
(
1
<<
22
)
|
(
1
<<
12
),
// Vulkan 1.1
EShTargetVulkan_1_2
=
(
1
<<
22
)
|
(
2
<<
12
),
// Vulkan 1.2
EShTargetOpenGL_450
=
450
,
// OpenGL
}
EShTargetClientVersion
;
...
...
known_good.json
View file @
4fc7a339
...
...
@@ -5,7 +5,7 @@
"site"
:
"github"
,
"subrepo"
:
"KhronosGroup/SPIRV-Tools"
,
"subdir"
:
"External/spirv-tools"
,
"commit"
:
"
5c019b5923c1f6bf00a3ac28114ec4a7b1faa0e2
"
"commit"
:
"
323a81fc5e30e43a04e5e22af4cba98ca2a161e6
"
},
{
"name"
:
"spirv-tools/external/spirv-headers"
,
...
...
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