--- glslang-8.13.3559.orig/debian/changelog +++ glslang-8.13.3559/debian/changelog @@ -0,0 +1,115 @@ +glslang (8.13.3559-4) unstable; urgency=medium + + * rules: Disable tests on big-endian, since they're known to fail. + + -- Timo Aaltonen Mon, 06 Apr 2020 14:15:25 +0300 + +glslang (8.13.3559-3) unstable; urgency=medium + + * control: Bump dependency on spirv-tools to match where shared libs + were introduced. (Closes: #953555) + * control: Build on all archs again. + + -- Timo Aaltonen Mon, 23 Mar 2020 12:31:08 +0200 + +glslang (8.13.3559-2) unstable; urgency=medium + + * control: Skip building on big-endian, until upstream #202 is fixed. + Also skip hurd/kfreebsd which have missing build-deps. + * fix-help.diff: Add missing --help option. + + -- Timo Aaltonen Wed, 29 Jan 2020 11:00:26 +0200 + +glslang (8.13.3559-1) unstable; urgency=medium + + * New upstream release. + * patches: glslang-lib-install.patch dropped, others refreshed. + + -- Timo Aaltonen Wed, 22 Jan 2020 14:57:23 +0200 + +glslang (7.13.3496-3) unstable; urgency=medium + + * Add spirv-tools to glslang-tools depends. + + -- Timo Aaltonen Wed, 27 Nov 2019 11:56:53 +0200 + +glslang (7.13.3496-2) unstable; urgency=medium + + * Add quilt and pkg-config to build-depends. (Closes: #945433) + * control: Add glslang-tools to -dev Suggests. (Closes: #907037) + * Add manpages for spirv-remap and glslangValidator. Thanks, Brett + Johnson! (Closes: #907225) + + [ Simon McVittie ] + * control: Mark -dev pkg M-A: same. (Closes: #940486) + * d/tests: Add superficial autopkgtests + + -- Timo Aaltonen Tue, 26 Nov 2019 00:05:09 +0200 + +glslang (7.13.3496-1) unstable; urgency=medium + + * New upstream release. + * patches: Add patches from Fedora to fix library install paths, pkg- + config support etc. + * control: Add spirv-tools to build-depends. + + -- Timo Aaltonen Wed, 20 Nov 2019 14:07:50 +0200 + +glslang (7.12.3352-1) unstable; urgency=medium + + * New upstream release. + * control: Add python3 to build-depends. + + -- Timo Aaltonen Wed, 11 Sep 2019 14:52:25 +0300 + +glslang (7.11.3214-1) unstable; urgency=medium + + [ Jordan Justen ] + * New upstream release. + * debian/watch: 7.11.3214 does not have a tarball signature + * debian: Increase debhelper to 12 + * d/control: Increase Standards-Version to 4.4.0 + + -- Timo Aaltonen Mon, 22 Jul 2019 11:02:31 +0300 + +glslang (7.11.3113-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Tue, 12 Mar 2019 00:08:35 +0200 + +glslang (7.10.2984-1) unstable; urgency=medium + + * New upstream release. + + -- Timo Aaltonen Sun, 13 Jan 2019 19:30:12 +0200 + +glslang (7.8.2853-2) unstable; urgency=medium + + [ Jordan Justen ] + * d/copyright: Add ARM under BSD-3-clause. Closes: #905326 + * d/copyright: Add NVIDIA AML license. Closes: #905326 + * d/copyright: Add Glslang Authors Apache License. Closes: #905326 + * d/control: Update Standards-Version to 4.2.0 + * d/control: Update debhelper to 11 + * d/copyright: Fix lintian wildcard-matches-nothing-in-dep5-copyright + * d/lintian: Add glslang-tools lintian override for binary-without-manpage + * d/control: Fix Vcs-Git and Vcs-Browser urls + + -- Timo Aaltonen Wed, 22 Aug 2018 23:25:24 +0300 + +glslang (7.8.2853-1) unstable; urgency=medium + + [ Jordan Justen ] + * d/gbp.conf: Add configuration file for gbp (git buildpackage) + * d/watch: Add watch file + * d/control: Add Timo as uploader for lintian no-human-maintainers + * d/watch: Add signing key to watch file + + -- Timo Aaltonen Wed, 15 Aug 2018 20:56:17 +0300 + +glslang (6.2.2596-1) unstable; urgency=low + + * Initial release (Closes: #741613) + + -- Timo Aaltonen Tue, 19 Jun 2018 23:47:29 +0300 --- glslang-8.13.3559.orig/debian/compat +++ glslang-8.13.3559/debian/compat @@ -0,0 +1 @@ +12 --- glslang-8.13.3559.orig/debian/control +++ glslang-8.13.3559/debian/control @@ -0,0 +1,39 @@ +Source: glslang +Section: libdevel +Priority: optional +Maintainer: Debian X Strike Force +Uploaders: Timo Aaltonen +Build-Depends: debhelper (>= 12), + cmake, + pkg-config, + python3, + quilt, + spirv-headers, + spirv-tools (>= 2019.4+git20191022-2), +Standards-Version: 4.4.0 +Homepage: https://github.com/KhronosGroup/glslang +Vcs-Git: https://salsa.debian.org/xorg-team/vulkan/glslang.git +Vcs-Browser: https://salsa.debian.org/xorg-team/vulkan/glslang + +Package: glslang-tools +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, + spirv-tools (>= 2019.4+git20191022-2), +Description: OpenGL and OpenGL ES shader front end and validator -- tools + glslang is the official reference compiler front end for the OpenGL ES + and OpenGL shading languages. It implements a strict + interpretation of the specifications for these languages. + . + This package includes the validator tools. + +Package: glslang-dev +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: glslang-tools +Multi-Arch: same +Description: OpenGL and OpenGL ES shader front end and validator -- development files + glslang is the official reference compiler front end for the OpenGL ES + and OpenGL shading languages. It implements a strict + interpretation of the specifications for these languages. + . + This package includes files for development. --- glslang-8.13.3559.orig/debian/copyright +++ glslang-8.13.3559/debian/copyright @@ -0,0 +1,168 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: glslang +Source: https://github.com/KhronosGroup/glslang + +Files: * +Copyright: 2002-2005 3Dlabs Inc. Ltd + 2002 NVIDIA Corporation + 2002-2010 The ANGLE Project Authors + 2012-2015 LunarG, Inc + 2015-2016 Google, Inc + 2017 ARM Limited +License: BSD-3-clause + +Files: glslang/MachineIndependent/gl_types.h + SPIRV/GLSL.std.450.h + SPIRV/spirv.hpp +Copyright: 2013-2016 The Khronos Group Inc +License: MIT + +Files: glslang/MachineIndependent/glslang_tab.cpp + glslang/MachineIndependent/glslang_tab.cpp.h +Copyright: 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc +License: GPL-3 + +Files: debian/* +Copyright: 2016 Timo Aaltonen +License: GPL-3 or MIT or BSD-3-clause + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + . + Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +License: GPL-3 + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and/or associated documentation files (the "Materials"), + to deal in the Materials without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Materials, and to permit persons to whom the + Materials are furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Materials. + . + MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS KHRONOS + STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS SPECIFICATIONS AND + HEADER INFORMATION ARE LOCATED AT https://www.khronos.org/registry/ + . + THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM,OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE USE OR OTHER DEALINGS + IN THE MATERIALS. + +Files: glslang/MachineIndependent/preprocessor/Pp.cpp + glslang/MachineIndependent/preprocessor/PpAtom.cpp + glslang/MachineIndependent/preprocessor/PpContext.cpp + glslang/MachineIndependent/preprocessor/PpContext.h + glslang/MachineIndependent/preprocessor/PpScanner.cpp + glslang/MachineIndependent/preprocessor/PpTokens.cpp + glslang/MachineIndependent/preprocessor/PpTokens.h +Copyright: 2002, NVIDIA Corporation +License: Apple-MIT-license + +License: Apple-MIT-license + NVIDIA Corporation("NVIDIA") supplies this software to you in + consideration of your agreement to the following terms, and your use, + installation, modification or redistribution of this NVIDIA software + constitutes acceptance of these terms. If you do not agree with these + terms, please do not use, install, modify or redistribute this NVIDIA + software. + . + In consideration of your agreement to abide by the following terms, and + subject to these terms, NVIDIA grants you a personal, non-exclusive + license, under NVIDIA's copyrights in this original NVIDIA software (the + "NVIDIA Software"), to use, reproduce, modify and redistribute the + NVIDIA Software, with or without modifications, in source and/or binary + forms; provided that if you redistribute the NVIDIA Software, you must + retain the copyright notice of NVIDIA, this notice and the following + text and disclaimers in all such redistributions of the NVIDIA Software. + Neither the name, trademarks, service marks nor logos of NVIDIA + Corporation may be used to endorse or promote products derived from the + NVIDIA Software without specific prior written permission from NVIDIA. + Except as expressly stated in this notice, no other rights or licenses + express or implied, are granted by NVIDIA herein, including but not + limited to any patent rights that may be infringed by your derivative + works or by other works in which the NVIDIA Software may be + incorporated. No hardware is licensed hereunder. + . + THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, + INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, + NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR + ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER + PRODUCTS. + . + IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, + INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF + USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY + OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE + NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, + TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF + NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Files: update_glslang_sources.py +Copyright: 2017 The Glslang Authors +License: Apache-2.0 + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache 2.0 + License can be found in "/usr/share/common-licenses/Apache-2.0". --- glslang-8.13.3559.orig/debian/gbp.conf +++ glslang-8.13.3559/debian/gbp.conf @@ -0,0 +1,2 @@ +[DEFAULT] +debian-branch = debian-unstable --- glslang-8.13.3559.orig/debian/glslang-dev.install +++ glslang-8.13.3559/debian/glslang-dev.install @@ -0,0 +1,2 @@ +usr/include +usr/lib --- glslang-8.13.3559.orig/debian/glslang-tools.install +++ glslang-8.13.3559/debian/glslang-tools.install @@ -0,0 +1,2 @@ +usr/bin/glslangValidator +usr/bin/spirv-remap --- glslang-8.13.3559.orig/debian/glslang-tools.lintian-overrides +++ glslang-8.13.3559/debian/glslang-tools.lintian-overrides @@ -0,0 +1,2 @@ +# Glslang upstream doesn't have a man page +glslang-tools binary: binary-without-manpage --- glslang-8.13.3559.orig/debian/glslang-tools.manpages +++ glslang-8.13.3559/debian/glslang-tools.manpages @@ -0,0 +1,2 @@ +debian/man/glslangValidator.1 +debian/man/spirv-remap.1 --- glslang-8.13.3559.orig/debian/man/glslangValidator.1 +++ glslang-8.13.3559/debian/man/glslangValidator.1 @@ -0,0 +1,261 @@ +.\" Initially generated by help2man 1.47.4. +.TH GLSLANGVALIDATOR "1" "December 2017" "glslangValidator" +.SH NAME +glslangValidator \- OpenGL (ES) Shading Language Reference Compiler +.SH SYNOPSIS +.B glslangValidator +[\fI\,OPTION\/\fR]... [\fI\,FILE\/\fR]... +.SH DESCRIPTION +Glslang is the official reference compiler front end for the OpenGL ES and OpenGL shading languages. It implements a strict interpretation of the specifications for these languages. It is open and free for anyone to use, either from a command line or programmatically. The OpenGL and OpenGL ES working groups are committed to maintaining consistency between the reference compiler and the corresponding shading language specifications. + +The purpose of the reference compiler is to identify shader portability issues. If glslang accepts a shader without errors, then all OpenGL and OpenGL ES implementations claiming to support the shader's language version should also accept the shader without errors. Likewise, if glslang reports an error when compiling a shader, all OpenGL and OpenGL ES implementations for that language version should report errors, unless the glslang errors are caused by differences in implementation-defined limits or extension support. + +Glslang can also be used to generate SPIR-V from GLSL. But this feature is experimental and non-optimized. +.SH FILE +The file extension of \&\fI\,FILE\/\fR results in auto-stage classification: +.TP +\&.conf +to provide a config file that replaces the default configuration (see \fB\-c\fR option below for generating a template) +.TP +\&.vert +for a vertex shader +.TP +\&.tesc +for a tessellation control shader +.TP +\&.tese +for a tessellation evaluation shader +.TP +\&.geom +for a geometry shader +.TP +\&.frag +for a fragment shader +.TP +\&.comp +for a compute shader +.SH OPTIONS +.TP +\fB\-C\fR +cascading errors; risk crash from accumulation of error recoveries +.TP +\fB\-D\fR +input is HLSL +.HP +\fB\-D\fR +.TP +\fB\-D\fR +define a pre\-processor macro +.TP +\fB\-E\fR +print pre\-processed GLSL; cannot be used with \fB\-l\fR; errors will appear on stderr. +.TP +\fB\-G[ver]\fR +create SPIR\-V binary, under OpenGL semantics; turns on \fB\-l\fR; default file name is .spv (\fB\-o\fR overrides this) 'ver', when present, is the version of the input semantics, which will appear in #define GL_SPIRV ver. \fB\-\-client opengl100\fR is the same as \fB\-G100\fR and \fB\-\-target\-env\fR for OpenGL will also imply \fB\-G\fR +.TP +\fB\-H\fR +print human readable form of SPIR\-V; turns on \fB\-V\fR +.TP +\fB\-I\fR +add dir to the include search path; includer's directory is searched first, followed by left\-to\-right order of \fB\-I\fR +.TP +\fB\-Od\fR +disables optimization. May cause illegal SPIR\-V for HLSL. +.TP +\fB\-Os\fR +optimizes SPIR\-V to minimize size. +.TP +\fB\-S\fR +uses specified stage rather than parsing the file extension choices for are vert, tesc, tese, geom, frag, or comp +.TP +\fB\-U\fR +undefine a pre\-processor macro +.TP +\fB\-V[ver]\fR +create SPIR\-V binary, under Vulkan semantics; turns on \fB\-l\fR; default file name is .spv (\fB\-o\fR overrides this) 'ver', when present, is the version of the input semantics, which will appear in #define VULKAN ver. \fB\-\-client vulkan100\fR is the same as \fB\-V100\fR and \fB\-\-target\-env\fR for Vulkan will also imply \fB\-V\fR +.TP +\fB\-c\fR +configuration dump; creates the default configuration file (redirect to a .conf file) +.TP +\fB\-d\fR +default to desktop (#version 110) when there is no shader #version (default is ES version 100) +.TP +\fB\-e\fR +specify as the entry\-point name +.TP +\fB\-g\fR +generate debug information +.TP +\fB\-h\fR +print this usage message +.TP +\fB\-i\fR +intermediate tree (glslang AST) is printed out +.TP +\fB\-l\fR +link all input files together to form a single module +.TP +\fB\-m\fR +memory leak mode +.TP +\fB\-o\fR +save binary to , requires a binary option (e.g., \fB\-V\fR) +.TP +\fB\-q\fR +dump reflection query database +.TP +\fB\-r\fR +synonym for \fB\-\-relaxed\-errors\fR +.TP +\fB\-s\fR +silence syntax and semantic error reporting +.TP +\fB\-t\fR +multi\-threaded mode +.TP +\fB\-v\fR +print version strings +.TP +\fB\-w\fR +synonym for \fB\-\-suppress\-warnings\fR +.TP +\fB\-x\fR +save binary output as text\-based 32\-bit hexadecimal numbers +.TP +\fB\-\-auto\-map\-bindings\fR +automatically bind uniform variables without explicit bindings. +.TP +\fB\-\-amb\fR +synonym for \fB\-\-auto\-map\-bindings\fR +.TP +\fB\-\-auto\-map\-locations\fR +automatically locate input/output lacking 'location' (fragile, not cross stage) +.TP +\fB\-\-aml\fR +synonym for \fB\-\-auto\-map\-locations\fR +.TP +\fB\-\-client\fR {vulkan|opengl} +see \fB\-V\fR and \fB\-G\fR +.TP +\fB\-\-flatten\-uniform\-arrays\fR +flatten uniform texture/sampler arrays to scalars +.TP +\fB\-\-fua\fR +synonym for \fB\-\-flatten\-uniform\-arrays\fR +.TP +\fB\-\-hlsl\-offsets\fR +Allow block offsets to follow HLSL rules. Works independently of source language +.TP +\fB\-\-hlsl\-iomap\fR +Perform IO mapping in HLSL register space +.TP +\fB\-\-keep\-uncalled\fR +don't eliminate uncalled functions +.TP +\fB\-\-ku\fR +synonym for \fB\-\-keep\-uncalled\fR +.TP +\fB\-\-no\-storage\-format\fR +use Unknown image format +.TP +\fB\-\-nsf\fR +synonym for \fB\-\-no\-storage\-format\fR +.TP +\fB\-\-relaxed\-errors\fR +relaxed GLSL semantic error\-checking mode +.HP +\fB\-\-resource\-set\-binding\fR [stage] name set binding +.IP +Set descriptor set and binding for individual resources +.HP +\fB\-\-resource\-set\-binding\fR [stage] set +.IP +Set descriptor set for all resources +.TP +\fB\-\-rsb\fR [stage] type set binding +synonym for \fB\-\-resource\-set\-binding\fR +.TP +\fB\-\-shift\-image\-binding\fR [stage] num +base binding number for images (uav) +.HP +\fB\-\-shift\-image\-binding\fR [stage] [num set]... +per\-descriptor\-set shift values +.TP +\fB\-\-sib\fR [stage] num +synonym for \fB\-\-shift\-image\-binding\fR +.TP +\fB\-\-shift\-sampler\-binding\fR [stage] num +base binding number for samplers +.HP +\fB\-\-shift\-sampler\-binding\fR [stage] [num set]... +per\-descriptor\-set shift values +.TP +\fB\-\-ssb\fR [stage] num +synonym for \fB\-\-shift\-sampler\-binding\fR +.TP +\fB\-\-shift\-ssbo\-binding\fR [stage] num +base binding number for SSBOs +.HP +\fB\-\-shift\-ssbo\-binding\fR [stage] [num set]... +per\-descriptor\-set shift values +.TP +\fB\-\-sbb\fR [stage] num +synonym for \fB\-\-shift\-ssbo\-binding\fR +.TP +\fB\-\-shift\-texture\-binding\fR [stage] num +base binding number for textures +.HP +\fB\-\-shift\-texture\-binding\fR [stage] [num set]... +per\-descriptor\-set shift values +.TP +\fB\-\-stb\fR [stage] num +synonym for \fB\-\-shift\-texture\-binding\fR +.TP +\fB\-\-shift\-uav\-binding\fR [stage] num +base binding number for UAVs +.HP +\fB\-\-shift\-uav\-binding\fR [stage] [num set]... +per\-descriptor\-set shift values +.TP +\fB\-\-suavb\fR [stage] num +synonym for \fB\-\-shift\-uav\-binding\fR +.TP +\fB\-\-shift\-UBO\-binding\fR [stage] num +base binding number for UBOs +.HP +\fB\-\-shift\-UBO\-binding\fR [stage] [num set]... +per\-descriptor\-set shift values +.TP +\fB\-\-shift\-cbuffer\-binding\fR [stage] num +synonym for \fB\-\-shift\-UBO\-binding\fR +.HP +\fB\-\-shift\-cbuffer\-binding\fR [stage] [num set]... +per\-descriptor\-set shift values +.TP +\fB\-\-sub\fR [stage] num +synonym for \fB\-\-shift\-UBO\-binding\fR +.TP +\fB\-\-source\-entrypoint\fR +the given shader source function is renamed to be the given in \fB\-e\fR +.TP +\fB\-\-sep\fR +synonym for \fB\-\-source\-entrypoint\fR +.TP +\fB\-\-stdin\fR +Read from stdin instead of from a file. You'll have to provide the shader stageusing \fB\-S\fR. +.TP +\fB\-\-suppress\-warnings\fR +suppress GLSL warnings (except as required by #extension : warn) +.TP +\fB\-\-target\-env\fR {vulkan1.0|opengl} +set the execution environment code will execute in (as opposed to language semantics selected by \fB\-\-client\fR) defaults: 'vulkan1.0' under \fB\-\-client vulkan\fR 'opengl' under \fB\-\-client opengl\fR +.TP +\fB\-\-variable\-name\fR +Creates a C header file that contains a uint32_t array named initialized with the shader binary code. +.TP +\fB\-\-vn\fR +synonym for \fB\-\-variable\-name\fR +.SH ALSO SEE +https://github.com/KhronosGroup/glslang + +https://www.khronos.org/opengles/sdk/tools/Reference-Compiler/ --- glslang-8.13.3559.orig/debian/man/spirv-remap.1 +++ glslang-8.13.3559/debian/man/spirv-remap.1 @@ -0,0 +1,72 @@ +.\" Initially generated by help2man 1.47.4. +.TH SPIRV-REMAP "1" "December 2017" "User Commands" +.SH NAME +spirv-remap \- a utility to compress of SPIR-V binary files +.SH SYNOPSIS +.B spirv\-remap +[\fI\,OPTION\/\fR]... +.SH DESCRIPTION +spirv-remap is a utility to improve compression of SPIR-V binary files via +entropy reduction, plus optional stripping of debug information and +load/store optimization. It transforms SPIR-V to SPIR-V, remapping IDs. The +resulting modules have an increased ID range (IDs are not as tightly packed +around zero), but will compress better when multiple modules are compressed +together, since compressor's dictionary can find better cross module +commonality. + +Remapping is accomplished via canonicalization. Thus, modules can be +compressed one at a time with no loss of quality relative to operating on +many modules at once. The command line tool operates on multiple modules +only in the trivial repetition sense, for ease of use. The remapper API +only accepts a single module at a time. + +spirv-remap is currently in an alpha state. Although there are no known +remapping defects, it has only been exercised on one real world game shader +workload. +.SH OPTIONS +.TP +\fB-?\fR \fB--help\fR +shows help +.TP +\fB-V\fR \fB--version\fR +shows version +.TP +\fB-v\fR \fB-vv\fR ... \fB--verbose\fR [int] +sets verbosity. With no verbosity, the command is silent. +.TP +\fB-i\fR \fB--input\fR file1 [file2...] +files to process +.TP +\fB-o\fR \fB--output\fR DESTDIR +output directory +.TP +\fB-s\fR --strip-all \fB--strip\fR all +strips all debug info +.TP +\fB--map\fR (all|types|names|funcs) +canonicalizes type IDs / named data / function bodies +.TP +\fB--dce\fR (all|types|funcs) +removes dead types / functions +.TP +\fB--opt\fR (all|loadstore) +optimizes unneeded loads/stores +.TP +\fB--do-everything\fR +Synonym for \fB--map all --dce all --opt all --strip all\fR +.SH RETURNS +0 on success + +a positive integer error on failure. +.SH EXAMPLES +.TP +spirv-remap -v --map all --input *.spv --output /tmp/out_dir +Perform ID remapping on all shaders in "*.spv", writing new files with +the same basenames to /tmp/out_dir. +.TP +spirv-remap-linux-64 -v --do-everything --input *.spv --output /tmp/out_dir +Perform all possible size reductions + +Note that +.SH ALSO SEE +https://github.com/KhronosGroup/glslang --- glslang-8.13.3559.orig/debian/patches/0001-pkg-config-compatibility.patch +++ glslang-8.13.3559/debian/patches/0001-pkg-config-compatibility.patch @@ -0,0 +1,183 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -69,6 +69,13 @@ endmacro(glslang_pch) + + project(glslang) + ++# using pkg-config to configure include paths and link libraries ++include(FindPkgConfig) ++pkg_check_modules(SPIRV_TOOLS REQUIRED SPIRV-Tools>=2019.2.1) ++if(BUILD_SHARED_LIBS) ++ pkg_check_modules(SPIRV_TOOLS_SHARED REQUIRED SPIRV-Tools-shared>=2019.2.1) ++endif(BUILD_SHARED_LIBS) ++ + if(ENABLE_CTEST) + include(CTest) + endif() +@@ -163,11 +170,7 @@ if(BUILD_EXTERNAL AND IS_DIRECTORY ${CMA + add_subdirectory(External) + endif() + +-if(NOT TARGET SPIRV-Tools-opt) +- set(ENABLE_OPT OFF) +-endif() +- +-if(ENABLE_OPT) ++if(${SPIRV_TOOLS_FOUND} EQUAL 1) + message(STATUS "optimizer enabled") + add_definitions(-DENABLE_OPT=1) + else() +--- a/External/CMakeLists.txt ++++ b/External/CMakeLists.txt +@@ -35,10 +35,3 @@ if(BUILD_TESTING) + endif() + endif() + +-if(ENABLE_OPT AND NOT TARGET SPIRV-Tools-opt) +- if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools) +- set(SPIRV_SKIP_TESTS ON CACHE BOOL "Skip building SPIRV-Tools tests") +- add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools spirv-tools) +- endif() +-endif() +- +--- a/glslang/CMakeLists.txt ++++ b/glslang/CMakeLists.txt +@@ -76,6 +76,7 @@ set(HEADERS + MachineIndependent/preprocessor/PpContext.h + MachineIndependent/preprocessor/PpTokens.h) + ++set(VERSION 7.11.3113) + glslang_pch(SOURCES MachineIndependent/pch.cpp) + + add_library(glslang ${LIB_TYPE} ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS}) +@@ -112,7 +113,9 @@ if(ENABLE_GLSLANG_INSTALL) + install(TARGETS glslang EXPORT glslangTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + endif() +- install(EXPORT glslangTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) ++ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++ install(EXPORT glslangTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + endif(ENABLE_GLSLANG_INSTALL) + + if(ENABLE_GLSLANG_INSTALL) +--- /dev/null ++++ b/glslang/glslang.pc.cmake.in +@@ -0,0 +1,11 @@ ++ prefix=@CMAKE_INSTALL_PREFIX@ ++ exec_prefix=@CMAKE_INSTALL_PREFIX@ ++ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++ Name: @PROJECT_NAME@ ++ Description: OpenGL and OpenGL ES shader front end and validator ++ Requires: ++ Version: @VERSION@ ++ Libs: -L${libdir} -lglslang -lOSDependent -lHLSL -lOGLCompiler -lSPVRemapper ++ Cflags: -I${includedir} +\ No newline at end of file +--- a/SPIRV/CMakeLists.txt ++++ b/SPIRV/CMakeLists.txt +@@ -40,6 +40,10 @@ target_include_directories(SPIRV PUBLIC + $ + $) + ++ ++set(SPIRV_NAME spirv) ++set(SPIRV_VERSION 1.3) ++ + if (ENABLE_SPVREMAPPER) + add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS}) + set_property(TARGET SPVRemapper PROPERTY FOLDER glslang) +@@ -53,15 +57,21 @@ if(WIN32 AND BUILD_SHARED_LIBS) + endif() + endif() + ++target_include_directories(SPIRV PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS}) ++target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_CFLAGS_OTHER}) ++target_link_libraries(SPIRV ${SPIRV_TOOLS_LIBRARIES}) ++if(BUILD_SHARED_LIBS) ++ target_include_directories(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS}) ++ target_compile_options(SPIRV PUBLIC ${SPIRV_TOOLS_SHARED_CFLAGS_OTHER}) ++ target_link_libraries(SPIRV ${SPIRV_TOOLS_SHARED_LIBRARIES}) ++endif(BUILD_SHARED_LIBS) ++ + if(ENABLE_OPT) + target_include_directories(SPIRV + PRIVATE ${spirv-tools_SOURCE_DIR}/include + PRIVATE ${spirv-tools_SOURCE_DIR}/source + ) +- target_link_libraries(SPIRV glslang SPIRV-Tools-opt) +- target_include_directories(SPIRV PUBLIC +- $ +- $) ++ target_link_libraries(SPIRV glslang) + else() + target_link_libraries(SPIRV glslang) + endif(ENABLE_OPT) +@@ -97,6 +107,10 @@ if(ENABLE_GLSLANG_INSTALL) + + install(EXPORT SPIRVTargets DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + ++ # spirv.pc Configuration ++ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/spirv.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/spirv.pc @ONLY) ++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/spirv.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) ++ + install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SPIRV/) + install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/glslang/SPIRV/) + endif(ENABLE_GLSLANG_INSTALL) +--- /dev/null ++++ b/SPIRV/spirv.pc.cmake.in +@@ -0,0 +1,11 @@ ++ prefix=@CMAKE_INSTALL_PREFIX@ ++ exec_prefix=@CMAKE_INSTALL_PREFIX@ ++ libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ ++ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ ++ ++ Name: @SPIRV_NAME@ ++ Description: SPIR-V is a binary intermediate language for representing graphical-shader stages and compute kernels for multiple Khronos APIs, including OpenCL, OpenGL, and Vulkan ++ Requires: ++ Version: @SPIRV_VERSION@ ++ Libs: -L${libdir} -lSPIRV ++ Cflags: -I${includedir} +\ No newline at end of file +--- a/SPIRV/SpvTools.cpp ++++ b/SPIRV/SpvTools.cpp +@@ -43,8 +43,8 @@ + #include + + #include "SpvTools.h" +-#include "spirv-tools/optimizer.hpp" +-#include "spirv-tools/libspirv.h" ++#include ++#include + + namespace glslang { + +--- a/StandAlone/CMakeLists.txt ++++ b/StandAlone/CMakeLists.txt +@@ -23,6 +23,14 @@ if(ENABLE_SPVREMAPPER) + set(LIBRARIES ${LIBRARIES} SPVRemapper) + endif() + ++if(BUILD_SHARED_LIBS) ++ set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_SHARED_LIBRARIES}) ++ target_include_directories(glslangValidator PUBLIC ${SPIRV_TOOLS_SHARED_INCLUDE_DIRS}) ++else() ++ set(LIBRARIES ${LIBRARIES} ${SPIRV_TOOLS_LIBRARIES}) ++ target_include_directories(glslangValidator PUBLIC ${SPIRV_TOOLS_INCLUDE_DIRS}) ++endif(BUILD_SHARED_LIBS) ++ + if(WIN32) + set(LIBRARIES ${LIBRARIES} psapi) + elseif(UNIX) +@@ -32,9 +40,6 @@ elseif(UNIX) + endif(WIN32) + + target_link_libraries(glslangValidator ${LIBRARIES}) +-target_include_directories(glslangValidator PUBLIC +- $ +- $) + + if(ENABLE_SPVREMAPPER) + set(REMAPPER_SOURCES spirv-remap.cpp) --- glslang-8.13.3559.orig/debian/patches/fix-help.diff +++ glslang-8.13.3559/debian/patches/fix-help.diff @@ -0,0 +1,23 @@ +commit 6ad120eaeb95846b5dfc260c40ca0c81d17c2570 +Author: Jordan Justen +Date: Tue Jan 28 12:18:12 2020 -0800 + + standalone: Fix --help + + Fixes: bd97b6f9 ("Command-line: Give better error messages. From #1829.") + Signed-off-by: Jordan Justen + +diff --git a/StandAlone/StandAlone.cpp b/StandAlone/StandAlone.cpp +index 6e4c8d30..c0dd50ba 100644 +--- a/StandAlone/StandAlone.cpp ++++ b/StandAlone/StandAlone.cpp +@@ -654,6 +654,9 @@ void ProcessArguments(std::vector>& workItem + break; + } else if (lowerword == "version") { + Options |= EOptionDumpVersions; ++ } else if (lowerword == "help") { ++ usage(); ++ break; + } else { + Error("unrecognized command-line option", argv[0]); + } --- glslang-8.13.3559.orig/debian/patches/glslang-default-resource-limits_staticlib.patch +++ glslang-8.13.3559/debian/patches/glslang-default-resource-limits_staticlib.patch @@ -0,0 +1,9 @@ +--- a/StandAlone/CMakeLists.txt ++++ b/StandAlone/CMakeLists.txt +@@ -1,4 +1,4 @@ +-add_library(glslang-default-resource-limits ++add_library(glslang-default-resource-limits STATIC + ${CMAKE_CURRENT_SOURCE_DIR}/ResourceLimits.cpp) + set_property(TARGET glslang-default-resource-limits PROPERTY FOLDER glslang) + set_property(TARGET glslang-default-resource-limits PROPERTY POSITION_INDEPENDENT_CODE ON) + --- glslang-8.13.3559.orig/debian/patches/series +++ glslang-8.13.3559/debian/patches/series @@ -0,0 +1,3 @@ +glslang-default-resource-limits_staticlib.patch +0001-pkg-config-compatibility.patch +fix-help.diff --- glslang-8.13.3559.orig/debian/rules +++ glslang-8.13.3559/debian/rules @@ -0,0 +1,21 @@ +#!/usr/bin/make -f + +%: + dh $@ --with quilt --builddirectory=build/ + +override_dh_auto_configure: + dh_auto_configure -- \ + -DCMAKE_BUILD_TYPE=Release + +override_dh_missing: + dh_missing --fail-missing + +ifneq (,$(filter $(DEB_HOST_ARCH), hppa powerpc ppc64 s390x sparc64)) +override_dh_auto_test: +endif + +gentarball: SOURCE=glslang +gentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//') +gentarball: + git archive --format=tar upstream-unstable --prefix=$(SOURCE)-$(UV)/ | gzip -9 > \ + ../$(SOURCE)_$(UV).orig.tar.gz --- glslang-8.13.3559.orig/debian/source/format +++ glslang-8.13.3559/debian/source/format @@ -0,0 +1 @@ +1.0 --- glslang-8.13.3559.orig/debian/tests/control +++ glslang-8.13.3559/debian/tests/control @@ -0,0 +1,10 @@ +Tests: glslang-dev +Restrictions: allow-stderr, superficial +Depends: + build-essential, + glslang-dev, + +Tests: glslang-tools +Restrictions: allow-stderr, superficial +Depends: + glslang-tools, --- glslang-8.13.3559.orig/debian/tests/glslang-dev +++ glslang-8.13.3559/debian/tests/glslang-dev @@ -0,0 +1,37 @@ +#!/bin/sh +# Copyright © 2019 Collabora Ltd. +# SPDX-License-Identifier: MIT +# (see debian/copyright) + +# Check that the library can be linked. + +set -e +set -u +set -x + +tempdir="$(mktemp -d)" +cd "$tempdir" + +cat > trivial.cpp <<'EOF' +#undef NDEBUG +#include + +#include + +int main (void) +{ + ShHandle handle; + handle = ShConstructUniformMap(); + ShDestruct(handle); + return 0; +} +EOF + +# This is hard-coded because there's no pkg-config, but that matches +# what renderdoc does... +c++ -std=c++11 -o trivial trivial.cpp -lglslang -lHLSL -lOGLCompiler -lOSDependent -lSPIRV -lpthread +test -x trivial +./trivial + +cd / +rm -fr "$tempdir" --- glslang-8.13.3559.orig/debian/tests/glslang-tools +++ glslang-8.13.3559/debian/tests/glslang-tools @@ -0,0 +1,17 @@ +#!/bin/sh + +# Copyright © 2019 Collabora Ltd. +# SPDX-License-Identifier: MIT +# (see debian/copyright) + +set -eux +export LC_ALL=C.UTF-8 + +# For now just check that the executables can run at all. They exit +# unsuccessfully when asked for help, so screen-scrape the help... + +spirv-remap --help 2>&1 | tee "$AUTOPKGTEST_TMP/help" +grep -q Usage: "$AUTOPKGTEST_TMP/help" + +glslangValidator --help 2>&1 | tee "$AUTOPKGTEST_TMP/help" +grep -q Usage: "$AUTOPKGTEST_TMP/help" --- glslang-8.13.3559.orig/debian/upstream/signing-key.asc +++ glslang-8.13.3559/debian/upstream/signing-key.asc @@ -0,0 +1,29 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBFKNCacBCACuzi/s2nyJnVsK/IJOa+3lk+ba/aIQGqLi9st4R/SMwF7Yg3sn +AlbY9URjgMQW9FuPLNSGb0PXu9bB2BXM8iQSUOA0wgvs5SsIqjj7JXIO90+S+If7 +Wp8HRSR/Pn52AKNCW7x9NDZ4hRL1d61n6iudBKG+oJrIbV3wu8W7LXt4bwB04rOm +b4q4Wh3gzMTnnizFWjJtwM5MSqfOYZ3W/+CKAkaE8JL/IcXADenvA4tkfbPFWJBe +T0AbjfKPrPd2M0TdGZao+IRc9Lhtk+SBfHq+Rh172lrijiZbVyc2WMkPbO/OW+gR +Sj8U2YyCM8CHYbF+qPUzGK4l/rYgf99UyyTvABEBAAG0IUpvaG4gS2Vzc2VuaWNo +IDxjZXBoZXVzQGZyaWkuY29tPokBPwQTAQIAKQUCUo0JpwIbIwUJCWYBgAcLCQgH +AwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEHF7rdjIbBVLu04H/0xql03jZWn1Ed6o +5uQivF597kHOrys/G/T5bgvFNbOXT/zQGmuW4l5A6eOcKvu34VZij1RcXH/Gnect +Vxgm3f6E7fzSlY90yq5/kuK+k4OZs625EVCp2UjcR/ZHYf+0tL7rOvDmscORaM1z +gJ4keIC6s/3mpLjzJ5gkxB4B/QgTPFFmBvmuWqYSnFpbzxoG9nk4vg4ON4hsgy4Q +3cxdE62xV5Un+XLv5+Fwp2Mo5sb/Uip3LlwPPKlNxZj4d2YcNs1QPfPrKr5i7XML +R3vc5s9VcnOWOuzpy3vxoGVzFilghHaKZFjPE72VRgnK4mYpJ7nrhneaAHjrq57f +pBnhoCy5AQ0EUo0JpwEIAMq/DNSoU8i7bhG1b7mpU8GLIt3vdHBxyDOpZgl5UC6n +DTxEPTXtjMvT9CyNh05QPr4XU+EmVI7syV7aM6XSNMMXUzxzoN3KzODDEDSAh0nr +uZA1giIOP1YJ1N2TourgqO0z9EhKgUfX38+8CaKFvn0dBK/X8nWNHcVcwGXoQ+wA +CbaKexTONMyc2hHmKi+KjMg1Ya51cqfocMoaE+PTIarkGFZhjS36AY2cXxpSiK1d +1HvzM7Xtgiud3TUfv6jGBzFiXx8+uqen6ZWSwwTCRdYKZlKadMDP9ggyYMn8CDZT +PKwwh2GyxbJEery289S/aw3xaFuINjefuCO9BcSwftsAEQEAAYkBJQQYAQIADwUC +Uo0JpwIbDAUJCWYBgAAKCRBxe63YyGwVS+/AB/4smlD2WBGTVN+YBdxs6XIQKd5g +Y73WasSdToq2SKzhzTSrwfsHppEEmd+WVnfBvQFjQGHSkjV4KcTGuTumrqv+r+Aj +KbczvkWxYPzj6WeWTnisKPzvt1bByL+5Yjs44u06Dpq2fsBC0Tb047DAZFua7j1x +wvh7bJznx7C0pNPR4FN3dud7eIay0lr0bC/YNFZ+TJr6vxDilgxsgeewBq+Fii/C +SwimUnaRVxBkkpwrDSSg8tMixpvtV0bu5rNJ/by6TgUKU6KlzDHPjYDBVdFHfaRh +CW5oRF4qrmve8/Qo6NMq79NuLHQ213vxEmOkHzjMYACYd7Hjn/qOQll3eZhl +=v7kh +-----END PGP PUBLIC KEY BLOCK----- --- glslang-8.13.3559.orig/debian/watch +++ glslang-8.13.3559/debian/watch @@ -0,0 +1,4 @@ +version=4 + +https://github.com/KhronosGroup/glslang/tags \ +.*/v?(\d\S*)\.tar\.gz