- 08 Jul, 2020 2 commits
-
-
Shahbaz Youssefi authored
glslang.y is specialized to remove what is not supported or won't be supported by ANGLE. This change shaves about 125KB off of ANGLE's binary size with minor improvement to the cost of SetupBuiltinSymbolTable. Signed-off-by:Shahbaz Youssefi <ShabbyX@gmail.com>
-
Shahbaz Youssefi authored
This change strips a few features similar to GLSLANG_WEB but doesn't remove every detail like the latter. It also hardcodes profile/version to core/450. In particular, TBuiltIns::initialize is specialized to remove most of what is not supported or won't be supported by ANGLE. The result of this function is parsed with TParseContext::parseShaderStrings which is a performance bottleneck. This change shaves about 300KB off of ANGLE's binary size and reduces the cost of SetupBuiltinSymbolTable to nearly a sixth. Signed-off-by:Shahbaz Youssefi <ShabbyX@gmail.com>
-
- 06 Jul, 2020 3 commits
-
-
John Kessenich authored
gn: Fix dawn tests in Chromium
-
John Kessenich authored
Add --quiet option.
-
Marcin Ślusarz authored
Being quiet should have been the default, but I guess it's too late now to change it.
-
- 05 Jul, 2020 3 commits
-
-
Shahbaz Youssefi authored
Dawn tests use shaderc, which assumes glslang has HLSL support. This change makes HLSL support also follow template arguments, and changes the target names such that glslang_sources will remain the "has all features" target and the new glslang_lib_sources would be what ANGLE would use. Signed-off-by:Shahbaz Youssefi <ShabbyX@gmail.com>
-
John Kessenich authored
gn: Fix `gn gen --check` by adding missing dependency
-
Shahbaz Youssefi authored
Signed-off-by:Shahbaz Youssefi <ShabbyX@gmail.com>
-
- 04 Jul, 2020 3 commits
-
-
John Kessenich authored
gn: Optionally disable optimizations and HLSL
-
John Kessenich authored
Add GLSLANG_BUILD_PIC CMake flag
-
John Kessenich authored
Don't use add_link_options() on old CMake versions
-
- 03 Jul, 2020 9 commits
-
-
Ben Clayton authored
Enables `-fPIC` compiler flag even when building statically. This is helpful for statically linking a `glslang` target into a shared library. Simplifies the workarounds seen in google/shaderc#1093 to a `set(GLSLANG_BUILD_PIC 1)`.
-
Shahbaz Youssefi authored
To reduce the binary size of ANGLE, a gn override is added (glslang_angle) which: - Controls whether ENABLE_OPT=1 is set - Customizes the build for the Vulkan backend of ANGLE. As a first step, this removes HLSL functionality which together with no optimization shave ~2.5MB off of ANGLE's binary size. Upcoming changes will add a macro for GLSLANG_ANGLE similar to GLSLANG_WEB that will strip features from glslang to support only what ANGLE needs. Signed-off-by:Shahbaz Youssefi <ShabbyX@gmail.com>
-
Ben Clayton authored
Fixes: #2315
-
John Kessenich authored
Kokoro: Correct the `build_file' path to build.sh
-
John Kessenich authored
License headers: s/Google/The Khronos Group
-
Ben Clayton authored
This was a copy-paste screwup, where the first line of the copyright had the company name was updated, but the company name mid way though was not.
-
Ben Clayton authored
-
John Kessenich authored
Add license checking continuous and presubmit tests
-
John Kessenich authored
Fix GLSLANG_IS_SHARED_LIBRARY define
-
- 02 Jul, 2020 6 commits
-
-
Ben Clayton authored
The `license-checker` is a tool that verifies each file has contains a permitted license header. See https://github.com/ben-clayton/license-checker for more information.
-
Ben Clayton authored
It was incorrectly always being set, causing linker warnings for MSVC builds. Also simplify the preprocessor nesting in `glslang\Public\ShaderLang.h`
-
Ben Clayton authored
Add copyright headers to build files and scripts. Simplifies automated scanning for bad license headers.
-
John Kessenich authored
HLSL: Fix #pragma pack_matrix(row_major) not work on global uniforms
-
John Kessenich authored
glslang: Only export public interface for SOs
-
John Kessenich authored
-
- 01 Jul, 2020 6 commits
-
-
John Kessenich authored
Location validation, with update to SPIR-V tools validating location
-
John Kessenich authored
This introduces five new "Validation failures": - baseResults/hlsl.semantic.vert: issue with gl_ClipDistance/CullDistance - baseResults/spv.430.vert: issue gl_ClipDistance - baseResults/spv.450.tesc: still unknown - baseResults/spv.dataOut.frag: gl_FragData should not be supported, problem with front end - baseResults/spv.meshShaderPerViewUserDefined.mesh: seems okay, maybe a problem with SPIRV-Tools
-
John Kessenich authored
This adds or changes binding/location decorations in 100s of shaders. It also allows more output (spv.register.autoassign.rangetest.frag) due to allowing ioMap() to fail.
-
John Kessenich authored
Add additional licenses in use to LICENSE.txt
-
Ben Clayton authored
Ideally we'd unify the licenses in use by changing the licenses in the file headers to BSD-3-clause. Until then, let's correctly list all the licenses currently in use. Issue: #2305
-
John Kessenich authored
Related to https://github.com/KhronosGroup/SPIRV-Cross/issues/1414. The real problem is either using DX10 semantics for DX9 or missing functionality in DX10 parsing.
-
- 30 Jun, 2020 8 commits
-
-
John Kessenich authored
SPV: RelaxedPrecision: use the result precision for texture sampling.
-
John Kessenich authored
SPV: RelaxedPrecision: Generalize fix #2293 to cover more operations.
-
Ben Clayton authored
Default to `-fvisibility=hidden`, and annotate the public glslang interface with `GLSLANG_EXPORT` to change the visibility of these cherry-picked symbols to default. This is also used by Windows builds for `__declspec(dllexport)`-ing the public DLL interface. This allows us to classify API changes into those that are publicly backwards compatible, and those that are not. Note that `libSPIRV` will likely need similar treatment. Issues: #2283, #1484
-
John Kessenich authored
CMake: break up glslang into smaller static libs
-
Ben Clayton authored
Add `GenericCodeGen` and `MachineIndependent` static library targets. Privately import both of these into the `glslang` target. Privately import `MachineIndependent` into the `SPIRV` target. This is done to break the dependency of `libglslang.so` non-public APIs from `libspirv.so`, which will become problematic once `glslang` hides its non-public symbols. | File | Before | After | |---------------------------|-----------:|-----------:| | `libGenericCodeGen.a` | - | `527716` | | `libglslang.a` | `68175944` | `512938` | | `libHLSL.a` | `1428` | `1428` | | `libMachineIndependent.a` | - | `67132202` | | `libOGLCompiler.a` | `75908` | `75908` | | `libOSDependent.a` | `23768` | `23768` | | `libSPIRV.a` | `15710210` | `15710210` | | `libSPVRemapper.a` | `3250894` | `3250894` | | File | Before | After | |-----------------------------------------|-----------:|-----------:| | `libglslang-default-resource-limits.so` | `117032` | `117032` | | `libglslang.so` | `22380688` | `22368216` | | `libHLSL.so` | `7520` | `7520` | | `libOGLCompiler.a` | `75908` | `75908` | | `libOSDependent.a` | `23768` | `23768` | | `libSPIRV.so` | `7288336` | `28151016` | | `libSPVRemapper.so` | `1940208` | `1940208` | Issues: #2283, #1484
-
John Kessenich authored
CMake: Compile with -fPIC when building SOs
-
John Kessenich authored
Fix #2298. The AST has two precisions, an operation precision and a result precision. Actual use of GLSL with mediump samplers wants the result precision, so pick that up instead of the operation precision.
-
John Kessenich authored
CMake: Error on unresolved symbols
-