- 13 Jul, 2020 4 commits
-
-
John Kessenich authored
-
John Kessenich authored
This reverts commit 1ee5d1c0, reversing changes made to 906d48a7.
-
John Kessenich authored
-
John Kessenich authored
-
- 12 Jul, 2020 4 commits
-
-
John Kessenich authored
Add missing comma from license-checker.cfg
-
Ben Clayton authored
Fixes license checker presubmit.
-
John Kessenich authored
Common: include standard headers before doing any defines
-
Christopher Degawa authored
currently, due to ```c++ \#if (defined(_MSC_VER) && _MSC_VER < 1900 /*vs2015*/) || defined MINGW_HAS_SECURE_API #include <basetsd.h> #ifndef snprintf #define snprintf sprintf_s #endif #define safe_vsprintf(buf,max,format,args) vsnprintf_s((buf), (max), (max), (format), (args)) ``` defining `snprintf` to `sprintf_s` essentially unconditionally, this will break the stdio.h+cstdio system header for mingw-w64 g++ in msys2 with shaderc https://github.com/google/shaderc/issues/1065 an alternative change would be https://raw.githubusercontent.com/shinchiro/mpv-winbuild-cmake/master/packages/glslang-0001-fix-gcc-10.1-error.patch in which the `|| defined MINGW_HAS_SECURE_API` part is removed Signed-off-by:Christopher Degawa <ccom@randomderp.com>
-
- 11 Jul, 2020 1 commit
-
-
John Kessenich authored
Optimize for angle
-
- 10 Jul, 2020 5 commits
-
-
John Kessenich authored
Fix CMake rules when nesting CMake projects
-
Ben Clayton authored
`${CMAKE_SOURCE_DIR}` points to the outer project root, not the current directory. Fixes building of `glslang` when included into another CMake project. -
John Kessenich authored
Attempt to fix chromium builds
-
Ben Clayton authored
It would seem that `glslang_sources` has a private dependency on `glslang_build_info`, so `glslang_validator` cannot transitively `#include` the generated `glslang/build_info.h` header. Add `glslang_build_info` as a direct dependency to `glslang_validator`. Also remove the duplicate dependency on `glslang_build_info` in `glslang_sources_common` Note: This is a speculative fix as I can build Chromium fine without these changes. Not sure what's different between these configs.
-
John Kessenich authored
Generate build information from CHANGES.md
-
- 09 Jul, 2020 2 commits
-
-
Ben Clayton authored
This PR significantly reworks the way glslang is versioned. Instead of committing changes to the `GLSLANG_MINOR_VERSION` define in `glslang/Public/ShaderLang.h`, and using `make-revision` to generate `GLSLANG_PATCH_LEVEL` in `glslang/Include/revision.h`, all version information is now derived from the new `CHANGES.md` file. `CHANGES.md` acts as the single source of truth for glslang version information, along with a convenient place to put all release notes for each notable change made. `CHANGES.md` is parsed using the new `build_info.py` python script. This script can read basic template files to produce new source files, which it does to read the new `build_info.h.tmpl` to generate (at build time) a glslang private header at `<build-dir>/include/glslang/build_info.h`. I've written generators for each of the CMake, Bazel, gn, and `Android.mk` build scripts. The new version code conforms to the Semantic Versioning 2.0 spec. This new version is also used by the CMake rules to produce versioned shared objects, including a major-versioned SONAME. New APIs: --------- * `glslang::GetVersion()` returns a `Version` struct with the version major, minor, patch and flavor. Breaking API changes: --------------------- * The public defines `GLSLANG_MINOR_VERSION` and `GLSLANG_PATCH_LEVEL` have been entirely removed. * `glslang/Public/ShaderLang.h` and `glslang/Include/revision.h` have been deleted. * Instead, `<build-dir>/include/glslang/build_info.h` is created in the build directory, and `<build-dir>/include` is a CMake `PUBLIC` (dependee-inherited) include directory for the glslang targets. * `<build-dir>/include/glslang/build_info.h` contains the following new #defines: `GLSLANG_VERSION_MAJOR`, `GLSLANG_VERSION_MINOR`, `GLSLANG_VERSION_PATCH`, `GLSLANG_VERSION_FLAVOR`, `GLSLANG_VERSION_GREATER_THAN(major, minor, patch)`, `GLSLANG_VERSION_GREATER_OR_EQUAL_TO(major, minor, patch)`, `GLSLANG_VERSION_LESS_THAN(major, minor, patch)`, `GLSLANG_VERSION_LESS_OR_EQUAL_TO(major, minor, patch)` * The CMake install output directory contains a copy of `build_info.h` at: `include/glslang/build_info.h` * Python3 is now always required to build glslang (likely always required for transitive dependency builds).
-
John Kessenich authored
Use CMake's builtin functionality for pre-compiled headers
-
- 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>
-
- 07 Jul, 2020 8 commits
-
-
John Kessenich authored
Make sure glslang_angle has a definition in BUILD.gn
-
Ryan Harrison authored
Set the value to false if the environment doesn't declare this variable.
-
Ben Clayton authored
`glslang_pch()` did manual mangling of the compiler flags to enable pre-compiled headers. I couldn't get this approach to work with the `MachineIndependent` subdirectory, but fortunately CMake has added first-class support for precompiled headers in 3.16, which does work with subdirectories. Moved `glslang_pch()` to the other global function declarations. `glslang_pch()` is a no-op when using CMake earlier than `3.16`. CMake's PCH implementation does not need the `pch.cpp` files, so just remove them.
-
John Kessenich authored
Remove GLSLANG_BUILD_PIC flag
-
John Kessenich authored
Add new rules to .gitignore
-
Ben Clayton authored
On closer inspection, it appears that nearly all the targets use the `POSITION_INDEPENDENT_CODE` target option anyway. Simplify all this away by always being PIC.
-
Ben Clayton authored
`GenericCodeGen` and `MachineIndependent` were missing from the generated visual studio solutions. Add these.
-
Ben Clayton authored
`.vscode/` ignores Visual Studio Code user config files `bazel-*` ignores bazel build system symlinks. `out/` ignores the default output directory for Visual Studio generated files.
-
- 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 5 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
-