Skip to content

Commit

Permalink
Merge pull request KhronosGroup#2330 from ShabbyX/optimize_for_angle
Browse files Browse the repository at this point in the history
Optimize for angle
  • Loading branch information
johnkslang committed Jul 11, 2020
2 parents 906d48a + 59fb2d6 commit 1ee5d1c
Show file tree
Hide file tree
Showing 27 changed files with 13,706 additions and 3,146 deletions.
21 changes: 19 additions & 2 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ template("glslang_sources_common") {
"SPIRV/SpvBuilder.cpp",
"SPIRV/SpvBuilder.h",
"SPIRV/SpvPostProcess.cpp",
"SPIRV/SpvTools.cpp",
"SPIRV/SpvTools.h",
"SPIRV/bitutils.h",
"SPIRV/disassemble.cpp",
Expand Down Expand Up @@ -156,7 +155,7 @@ template("glslang_sources_common") {
"glslang/MachineIndependent/attribute.cpp",
"glslang/MachineIndependent/attribute.h",
"glslang/MachineIndependent/gl_types.h",
"glslang/MachineIndependent/glslang_tab.cpp",
"glslang/MachineIndependent/glslang_angle_tab.cpp.h",
"glslang/MachineIndependent/glslang_tab.cpp.h",
"glslang/MachineIndependent/intermOut.cpp",
"glslang/MachineIndependent/iomapper.cpp",
Expand Down Expand Up @@ -207,9 +206,25 @@ template("glslang_sources_common") {
}

defines = []
if (invoker.is_angle) {
sources += [
"glslang/MachineIndependent/glslang_angle_tab.cpp",
]
defines += [ "GLSLANG_ANGLE" ]
}
else {
sources += [
"glslang/MachineIndependent/glslang_tab.cpp",
]
}

if (invoker.enable_opt) {
sources += [ "SPIRV/SpvTools.cpp" ]
defines += [ "ENABLE_OPT=1" ]
}
if (invoker.is_angle) {
defines += [ "GLSLANG_ANGLE" ]
}

if (is_win) {
sources += [ "glslang/OSDependent/Windows/ossource.cpp" ]
Expand Down Expand Up @@ -257,11 +272,13 @@ template("glslang_sources_common") {
glslang_sources_common("glslang_lib_sources") {
enable_opt = !glslang_angle
enable_hlsl = !glslang_angle
is_angle = glslang_angle
}

glslang_sources_common("glslang_sources") {
enable_opt = true
enable_hlsl = true
is_angle = false
}

source_set("glslang_default_resource_limits_sources") {
Expand Down
4 changes: 3 additions & 1 deletion SPIRV/GlslangToSpv.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,8 @@ spv::SourceLanguage TranslateSourceLanguage(glslang::EShSource source, EProfile
{
#ifdef GLSLANG_WEB
return spv::SourceLanguageESSL;
#elif defined(GLSLANG_ANGLE)
return spv::SourceLanguageGLSL;
#endif

switch (source) {
Expand Down Expand Up @@ -8686,7 +8688,7 @@ void OutputSpvBin(const std::vector<unsigned int>& spirv, const char* baseName)
// Write SPIR-V out to a text file with 32-bit hexadecimal words
void OutputSpvHex(const std::vector<unsigned int>& spirv, const char* baseName, const char* varName)
{
#ifndef GLSLANG_WEB
#if !defined(GLSLANG_WEB) && !defined(GLSLANG_ANGLE)
std::ofstream out;
out.open(baseName, std::ios::binary | std::ios::out);
if (out.fail())
Expand Down
Loading

0 comments on commit 1ee5d1c

Please sign in to comment.