Description:
This update for glslang, gzdoom, shaderc fixes the following issues:
Changes in glslang:
- Update to release 12.1.0:
* Reject non-float inputs/outputs for version less than 120
* Fix invalid BufferBlock decoration for SPIR-V 1.3 and above
* Add HLSL relaxed-precision float/int matrix expansions
* Block decorate Vulkan structs with RuntimeArrays
* Support InterlockedAdd on float types
- Split part of glslang-devel to glslang-nonstd-devel.
- Update to release 12
* Add support for GL_NV_shader_invocation_reorder.
* Support extension ARB_bindless_texture.
- Update to release 11.13
* Fix incorrect parse message of mesh shader
* Test for spv1.6 + memory model HelperInvocation
* Add EliminateDeadOutputStores to API.
* GL_ARM_shader_core_builtins support
- Update to release 11.12
* Add support for GL_EXT_mesh_shader
* Add support for NonSemantic.Shader.DebugInfo.100
* Make OpEmitMeshTasksEXT a terminal instruction
* Make gl_SubGroupARB a flat in int in Vulkan
* Add support for GL_EXT_opacity_micromap
* Add preamble support to C interface
- Adjust the cmake support files to use the shared libraries added
from the latest changes
- Rework static library removal & building procedure to identify
new static libs. (libGenericCodeGen.so and
libMachineIndependent.so are now added)
- Update to release 11.11.0
* CInterface: Add OpSource support.
* Add SPV_AMD_shader_early_and_late_fragment_tests
* Avoid double-free in functions cloned for vulkan relaxed mode
- Update to release 11.10.0
* Generate OpLine before OpFunction
* Add support for VK_EXT_fragment_shader_barycentric
* Add whitelist filtering for debug comments in SPIRV-Remap
* Add support for GL_EXT_ray_cull_mask
- Update to release 11.9.0
* Add GLSL version override functionality
* Add eliminate-dead-input-components to -Os
* Add enhanced-msgs option
- Update to release 11.8.0
* Add support for SPIR-V 1.6
* Add support for Vulkan 1.3
* Add --hlsl-dx-position-w option
- Update to release 11.7.1
* Accept gl_ViewportMask in version 430 and later
* Remove support for double trig, pow, exp and log
* Add the GL_EXT_shader_integer_mix Preamble for glsl
* Add support for targeting Vulkan 1.2 in the C API
- Update to release 11.6.0
* Atomic memory function only for shader storage block member
or shared variable
* Add support for gl_MaxVaryingVectors for ogl
* Fix loading bool arrays from interface blocks
* Generate separate stores for partially swizzled memory stores
* Allow layout(std430) uniform with GL_EXT_scalar_block_layout
* Support for pragma STDGL invariant(all)
* Support for GL_NV_ray_tracing_motion_blur
- Update to release 11.5.0
* Implement GLSL_EXT_shader_atomic_float2
* Implement GL_EXT_spirv_intrinsics
* Fixed SPIR-V remapper not remapping OpExtInst
instruction set IDs
* Only declare compatibility gl_ variables in compatibility mode
* Add support for float spec const vector initialization
* Implement GL_EXT_subgroup_uniform_control_flow.
* Fix arrays dimensioned with spec constant-sized
gl_WorkGroupSize
* Add support for 64bit integer scalar and vector types to
bitCount() builtin
- Update to release 11.4.0
* Added --depfile and --auto-sampled-textures options
* Now supports InterpolateAt-based functions
* Supports cross-stage automatic IO mapping
* Supports GL_EXT_vulkan_glsl_relaxed (-R option)
- Update to release 11.2.0
* Add support for GL_EXT_shared_memory_block
* Implement GL_EXT_null_initializer
- Update to release 11.1.0
* Add new SpirvToolsDisassemble API interface.
* SPV: Add NonUniform decorations for stores, for constructors
and for OpImages created during lowering.
* SPIRV: Add disassembly support for multiple literal strings.
* Add support for GL_EXT_fragment_shading_rate,
GL_EXT_shader_image_int64.
* Updates for final Vulkan ray tracing extensions.
* Add ray query capability if acceleration structure or ray
query types declared.
- Update to release 10.15.3847 (6c7beeafa)
* Add support for EXT_ray_flags_primitive_culling,
GL_ARB_shader_bit_encoding, GL_ARB_shader_image_size,
GL_ARB_shader_storage_buffer_object,
GL_ARB_shading_language_packing, GL_ARB_texture_query_lod,
GL_ARB_vertex_attrib_64bit,
GL_EXT_shader_implicit_conversions,
GL_EXT_shader_integer_mix, GL_EXT_blend_func_extended
* Add support for primitive culling layout qualifier
* GlslangToSpv: offer a -g0 command line argument similar to gcc
* libglslang is now built with -fvisibility and exports
- Update to snapshot 8.13.3727+git4 (9c3204a1)
* Add constant expression with mod.
* Add Tess machine dependent built-in variables initialization
for GLES 3.2.
* Added original glslang_c_interface implementation.
* SPV_AMD_shader_image_load_store_lod is now validated by
spirv-tools.
* GL_EXT_debug_printf implementation.
* SPV headers: Bump up to the latest header.
* Add support for GLSL_EXT_ray_tracing.
- Update to snapshot 8.13.3559+git20 (b0ada803)
* SPIR-V: Aggressively prune unreachable merge, continue target.
* INTEL_shader_integer_functions2: Add basic extension
tracking, add compiler front-end support, add SPIR-V
generation.
* Add support for ARB_sample_shading, ARB_texture_multisample,
ARB_uniform_buffer_object, ARB_gpu_shader_fp64.
* SPV/Vulkan: Add support for Vulkan 1.2, which defaults to
SPIR-V 1.5.
- Update to release 7.13.3496
* GL_NV_integer_cooperative_matrix support
* Add support for GL_ARB_explicit_uniform_location
* SPV 1.5: Switch to the 1.5 header, for SPIR-V 1.5.
* Add GL_EXT_shader_subgroup_extended_types support
* SPV_KHR_physical_storage_buffer/SPV:
Add GL_EXT_buffer_reference_uvec2
* Emit SPV_EXT_physical_storage_buffer, not the KHR form.
* Promote SPV_EXT_physical_storage_buffer to KHR when required.
- Drop unused static libraries, functions of libOGLCompilerDLL and
libOSDependent are actually present in libglslang already.
[boo#1153950]
- Bump SOVER as needed.
- Update to new upstream release 7.12.3352
* Add interface symbol and uniform symbol location auto mapping
for OpenGL shader.
* Handle SPIR-V type mismatch when constructing a composite.
* Implement GL_EXT_demote_to_helper_invocation.
* Avoid generating 8/16-bit constants when 8/16-bit arithmetic
extensions are not enabled.
* Add support for SPV_KHR_shader_clock.
- Update to new snapshot 7.11.3276.git10 (4162de4)
* Add Float16/Int8/Int16 capabilities for private variables and
function parameters.
* Use spvValidatorOptionsSetBeforeHlslLegalization for
pre-legalized HLSL.
* Add support for GL_NV_shader_sm_builtins.
* Add gl_SemanticsVolatile to GL_KHR_memory_scope_semantics,
and make volatile-qualified atomics generate
MemorySemanticsVolatile when using the Vulkan memory model.
* Add missing GL_ARB_shader_ballot builtins to Geometry and
Tessellation shaders.
* SPV: Add a switch for favoring non-NaN operands in min, max,
and clamp.
- Update to new snapshot 7.11.3214.git16 (2f4a8dfd)
* GLSL: Fix tessellation control shader bounding box support.
* GLSL: Add error check for an argument dropping the
"restrict" qualifier.
* Add support for GL_EXT_buffer_reference2.
* SPV: Move to the SPIR-V 1.4 header.
* Support GL_ARB_fragment_shader_interlock.
- Update to new upstream snapshot 7.11.3113.git55 (f925eefb)
to be in line with spirv-headers.
* Implement GL_NV_cooperative_matrix
* Fixup leak of TString
* Add option to reflect all block members, inactive or active.
* Add option to reflect buffer blocks & variables separately to
uniforms.
* Reflect array stride, top-level array stride, and block
member count.
* Reflect pipeline outputs as well as inputs, optionally from
other stages.
* Add an option to report array variables with trailing [0]
suffix.
* Include array index in reflected uniform names more
consistently.
* Add options to control how reflection information is built
* Move TObjectReflection into public interface to clean up
reflection.
- Update to new upstream release 7.11.3113
* Implement GL_EXT_scalar_block_layout
* GLSL: Increase supported sizes of XBF strides and offsets
* Update to newer SPIRV-Tools, including VK_EXT_scalar_block_layout
* Implement GL_EXT_fragment_invocation_density
* SPV: Generate OpArrayLength with no signedness
* SPV: For GLSL only, bitcast OpArrayLength result back to int
* Rename GL_KHX_shader_explicit_arithmetic_types to
GL_EXT_shader_explicit_arithmetic_types
* Add support for GL_EXT_YUV_target
- Update to new upstream release 7.10.2984
* Updated type conversion rules for HLSL frontend
* HLSL: implemented c register handling
* HLSL: fix invalid spir-v vector * scalar for float1
- Update to new upstream release 7.9.2933
* Add a SPIRV-Tools validator
* GLSL: Remove use of "__" in the implementation of keywords
having "__".
* Add GL_EXT_shader_atomic_int64
* Add ES 320 support and additional error checks for
SPV_NV_mesh_shader.
- Update to new upstream release 7.8.2853
* Link/SPV: Correct symbol IDs on merging ASTs to a single coherent space.
* Add missing OpExtension SPV_EXT_descriptor_indexing for dynamic indexing
capabilities.
* GLSL/Vulkan: Warn about arrays of arrays of resources that need bindings.
* GLSL/SPV: Implement SPV_EXT_descriptor_indexing and
GL_EXT_nonuniform_qualifier.
* Implement GL_NV_shader_subgroup_partitioned.
* Add support for GL_NV_shader_noperspective_interpolation.
- Update to 6.2.2604
* SPV: Implement Vulkan 1.1 features and extensions.
- Update to new snapshot 3.0.g1817
* HLSL: Include built-in processing for vertex input and fragment output flattening.
* HLSL: Flatten structs for all non-arrayed I/O interfaces.
* SPV: Implement extension SPV_EXT_shader_stencil_export
* HLSL: handle clip and cull distance input builtin type conversion
* SPV: 1st pass implementation of SPV_EXT_shader_viewport_index_layer.
* HLSL: add geometry stage support for clip/cull distance
* Add support for GL_OES_EGL_image_external_essl3
* Implement the extension GL_AMD_shader_fragment_mask
* Add implementation of SPV_EXT_fragment_fully_covered
* GLSL: Implement GL_EXT_control_flow_attributes.
- Update to new snapshot 3.0.g1516
* SPV: Handle nested opaque types as function parameters.
* SPV: Implement new extensions GL_KHX_device_group and
GL_KHX_multiview.
* HLSL: Fix #747: accept 'struct' in front of previously
user-defined type name.
* Rename KHX to EXT to match the released specs.
* PP: Recognize the '::' token, and translate appropriately to
GLSL/HLSL token.
* Added 'GL_core_profile' and 'GL_compatibility_profile' macro
definition to preamble.
* HLSL: Add scoping operator, accept static member functions,
and support calling them.
* HLSL: require tessellation factors to be fixed size arrays
* HLSL: Add namespace grammar and some basic semantics.
* Implement the SPV_KHR_16bit_storage,
GL_AMD_texture_gather_bias_lod, GL_AMD_gpu_shader_int16,
GL_EXT_shadow_samplers, GL_ARB_shader_stencil_export,
GL_OVR_multiview, GL_OVR_multiview2
SPV_KHR_post_depth_coverage extensions.
* Fix NULL pointer dereference in TParseContext::builtInOpCheck.
* GLSL 4.6: Implement atomic counter ops and
SPV_KHR_shader_atomic_counter_ops.
* GLSL 4.6: Implement draw parameters.
* GLSL 4.6: Implement shader group vote.
- Update to 3.0.g1115
* Added --vn option to generate a C header file containing a
variable assigned to the hex representation of the shader.
* HLSL: Type sanitization: create non-IO types for var decl and
fn param/ret.
- Update to 3.0.g1077
* Support SPV_NV_viewport_array2 and SPV_NV_stereo_view_rendering
* Implement SPV_KHR_subgroup_vote
* Add EOpD3DCOLORtoUBYTE4 decomposition
* Add support for SPV_NV_geometry_shader_passthrough and
SPV_NV_sample_mask_override_coverage
* Add UAV (image) binding offset and HLSL register support
Update to 3.0g900
* Added -x option to save SPIR-V as 32-bit hexadecimal numbers to
a text file.
* Add decompositions for some HLSL intrinsics.
* HLSL: Support semantics in function parameter declarations.
* HLSL: Map parameter qualifiers from generic to function-specific
and entry-point specific.
* HLSL: Add texture Load method & decomposition
* HLSL: Add SampleLevel method
* HLSL: Add gather, improve proto generator machine for upcoming
2DMS/Shadow
* HLSL: add 2DMS texture formats, and matching Load / GetDimensions
support
* HLSL: Add shape conversions for scalar -> vector assigments.
* HLSL: Add string basic type and recognize string declaration
grammar.
* HLSL: allow multi-dimensional arrays
Update to 2.3g537
* HLSL: Implement proper nesting of symbol-table scopes and
identifier searching.
* HLSL: Add all int/float/bool/uint matrix types, void for
functions, and a few others.
* Types: Add an isOpaque() helper
* remapper: do not eliminate interface variables in dce by default
* Initial implementation of direct-mapped subset of HLSL intrinsics
with type subset.
* SPV: Don't shadow sampler parameters when performing function calls
* Check for linking multiple ES shaders to the same stage
* Vulkan: Finish semantics for what creates spec-const-semantics.
* HLSL: Add more matrix types to the grammar.
* Full stack: distinguish between a scalar and a vector of size 1.
* SPV: Don't emit memory barrier for ESSL barrier(), but still do
for GLSL barrier().
* Add support for querying vertex attributes in reflection API
* SPV: Don't add clip/cull distance capabilities unless used.
* Tests: Add a set of gtest-file-based HLSL tests.
* SPV: Handle matrix's OpFConvert vector by vector.
* HLSL: Add function call syntax and AST building.
* SPV: Add capability ImageGatherExtended if necessary.
* SPIR-V do not decorate: members of plain structs with location;
non-top level members with interp.
Update to 2.3.g401
* Fix compile error involving std::isinf
Changes in shaderc:
- Update to release 2023.2
* Fix C++20 compatibility: explicitly construct string_piece when
comparing to `char *`
- update to 2022.4:
* Add Cmake BUNDLE DESTINATION option for target install
- Update to release 2022.3
* Implement default builtin constants needed for GL_EXT_mesh_shader.
- Update to release 2022.2
* Add support for 16b-bit types in HLSL
- Remove old python(2)-xml build dependency - build requires python3
- Update to release 2022.1
* Validator handles Nontemporal image operand
* Optimizer handles RayQueryKHR type
- Add baselibs.conf, containing libshaderc_shared1 (the shared lib).
- Update to release 2022.0
* Update to Glslang 11.8.0
* Support Vulkan 1.3
* Support targeting SPIR-V 1.6, which is the default for Vulkan 1.3
- Update to release 2021.3
* No user-visible changes
- Update to release 2021.1
* Add -fauto-combined-image-sampler option to glslc
* Disable deprecated --target-env=opengl_compat with an explicit
error message
- Upddate to release 2021.0
* No user-visible changes
- Update to release 2020.5
* Support newer glslang
- update to 2020.4:
- Removed svpc
- Fixed issues with embedders getting duplicate symbols
- Converted C-style casts to static_cast
- Rolled ahead to fix/pickup Vulkan Raytracing support
- Update to release 2020.3:
* spvc: added support for Dawn using deprecated Options constructor
* spvc: added support for the additional fixed sample mask in MSL
- Updated to release 2020.2:
* Support both posix and non-posix MinGW toolchains.
* Support optionally building Tint tooling for WGSL.
* Add -h option to glslc, spvc; same as --help.
* Update to Glslang generator 9.
* Add interface to support 16-bit types in HLSL
* Add glslc hidden experimental option -mfmt=wgsl; requires Tint.
* Add minimum buffer size for Dawn reflection.
- Changes from release 2020.1:
* Added warning signs about unsupported downloads.
* Removed Singleton pattern around access to glslang.
* Added concept of comparison sampler to API.
* Added support for options.hlsl.nonwritable_uav_texture_as_srv.
* Support forcing storage buffers to be always declared as UAV.
- Update to release 2020.0
* Added support for new Glslang profile enum, EProfileCount.
* Add documentation for Vulkan 1.2 and SPIR-V 1.5.
* Added support for generating WebGPU SPIR-V to libshaderc.
- Update to release 2019.1
* Vulkan 1.2 support
* Add spvc parser support for a number of ops
- Update to new upstream release 2019.0
* Add optional spvc, libshaderc_spvc as wrapper around
SPIRV-Cross.
* Support NV extensions for shader stages.
* spvc: Added option to specify source environment. Spvc will
transform from source to target environment if they are
different. This only works for WebGPU0 and Vulkan 1.1.
- Update to new upstream release 2018.0
* Support -fhlsl_functionality1 (also -fhlsl-functionality1)
* Support NVIDIA Turing extensions. Requires updated Glslang
and SPIRV-Tools.
* Use SPIR-V optimization and HLSL legalization recipes from
SPIRV-Tools.
* Pass target environment into SPIRV-Tools code, e.g. from
--target-env vulkan1.1 .
- Update to version 20180329.g2a0f3a3:
* Use standard SPIRV-Tools transformation recipes
* Locate clang for Linux buildbots. (#446)
* Support setting target environment version, e.g. Vulkan 1.1
* Re-enable the Windows continuous Debug builds. (#444)
* Add build result badges to README. (#439)
* Glslang generator version 6
* Glslang generator version 5
* Update glslc README for -fauto-map-locations
* Add glslc tests for -fauto-map-locations
* Fix setting of debug DLL name for AppVeyor
* Adding kokoro build configurations. (#429)
* AppVeyor packaging: debug DLL name no longer has extra "d"
* Start v2018.0-dev
* Finalize v2017.2
* copyright check: Skip auto-generated CMakeFiles
* Update CHANGES for -fauto-map-locations
* Glslang now requires bindings on resources
* Add -fauto-map-locations option
- Update to version 20180207.g563bc6e:
* Add a virtual destructor, otherwise Clang 6.0complains about delete being called on an abstract class.
* Skip Debug builds for VS 2013 and VS 2015
* Glslang updated its generator version number to 4
* Android.mk: add glslang/MachineIndependent/attribute.cpp
* Make tests resilient to better SPIR-V optimizations
* Travis CI: install pip and set clone depth to 1
* Adapt to Glslang codegen version update
- Update to version 20171030.g98ab88b:
* glslc tests: Relax version word check
* Avoid -fPIC for MinGW builds
* Allow override of SPVTOOLS_LOCAL_PATH
* Move spirv-tools build from third_party/Android.mk
* Update CHANGES
* Adapt to Glslang generator version number change
* Travis CI: use make to build
* Add HLSL legalization passes to compiler.cc
* Add SPIRV-Tools optimizer files for linker
* Added more opt passes to PassId enum
- Re-add explicit version dependencies
Changes in gzdoom:
- Update gzdoom-vulkan.patch for glslang 12
- Update to release 4.10.0
* Map<K,V> and MapIterator<K,V> for ZScript
* Quaternion support for model rotations
* Improved IQM support
- Update description for the removal of SoftPoly
- Update to release 4.9.0
* IQM bone model support
* Textured particles
* The SoftPoly renderer was removed
- Update to release 4.8.2
* add a few maps to the rebuildnodes compatibility block
- Update to release 4.8.1
* Bugfix for software mode mirrors not working
* Feature: Add +ONLYVISIBLEINMIRRORS and +INVISIBLEINMIRRORS
actor flags. The former makes the actor only visible in
reflections, while the latter makes the actor not cast
reflections in mirrors.
- Update to release 4.8.0
* Added Raze-style HUD scaling. Not exposed in the menu yet,
Set hud_oldscale to 0 and use shift with the screen resize
keys to scale the status bar.
* Handle the start/endoom screens with the ingame renderer.
They are now present on all platforms and use the full screen
size of the game.
* Many MBF21 fixes.
* Added the cutscene system from Raze.