Greg Fischer [Tue, 26 Oct 2021 16:52:19 +0000 (10:52 -0600)]
Merge pull request #2792 from jeremy-lunarg/hayes-2760
Return new allocator for copied containers
Jeremy Hayes [Tue, 5 Oct 2021 04:10:00 +0000 (22:10 -0600)]
Return new allocator for copied containers
Fix #2760.
Implement the optional function select_on_container_copy_contruction to
return a default-contructed allocator for containers that are
copy-constructed. This gives copy-constructed containers a pool
allocator for the current thead.
There may be a similar problem with the copy contructor which takes
allocators of type "Other" but, in practice, there is only one place
where this is being used and the allocators are always the same. (i.e.
executing from the same thread)
Greg Fischer [Fri, 22 Oct 2021 20:44:10 +0000 (14:44 -0600)]
Merge pull request #2780 from kevin-mccullough/FixCrossStageCheck
Fix cross-stage check to allow subsequent stage to use previous stage's binding
Greg Fischer [Thu, 21 Oct 2021 18:59:22 +0000 (12:59 -0600)]
Merge pull request #2777 from amdrexu/bugfix
Make modifications of GL_EXT_spirv_intrinsics
Greg Fischer [Thu, 21 Oct 2021 00:26:59 +0000 (18:26 -0600)]
Merge pull request #2787 from greg-lunarg/i2779
Allow 8/16-bit integer as array index
Greg Fischer [Wed, 20 Oct 2021 22:28:11 +0000 (16:28 -0600)]
Merge pull request #2788 from alelenv/iomapper_sr_fix
Skip auto decorating shader record buffer blocks with 'set' and 'binding'.
Greg Fischer [Wed, 20 Oct 2021 21:17:21 +0000 (15:17 -0600)]
Merge pull request #2789 from greg-lunarg/i2785
Accept gl_ViewportMask in version 430 and later
Greg Fischer [Tue, 19 Oct 2021 00:28:01 +0000 (18:28 -0600)]
Allow 8/16-bit integer as array index
Also enable 8/16 bit int capability in SPIR-V in such cases.
Also enable 64 bit capabilities when used in operations.
Fixes #2779
Greg Fischer [Wed, 20 Oct 2021 19:48:22 +0000 (13:48 -0600)]
Accept gl_ViewportMask in version 430 and later
Was previously accepted only in 450 or later.
Fixes #2785
alelenv [Wed, 20 Oct 2021 03:59:35 +0000 (20:59 -0700)]
Skip auto decorating shader record buffer blocks with 'set' and
'binding'.
Greg Fischer [Tue, 19 Oct 2021 23:09:56 +0000 (17:09 -0600)]
Merge pull request #2786 from dneto0/current-source-dir
Fix Cmake rule for extension header generation
David Neto [Tue, 19 Oct 2021 21:32:52 +0000 (17:32 -0400)]
Fix Cmake rule for extension header generation
Allow glslang to be embedded in an enclosing project (such as Shaderc)
Greg Fischer [Tue, 19 Oct 2021 17:20:42 +0000 (11:20 -0600)]
Merge pull request #2783 from chrisforbes/untangle
Untangle use of core glslang version enums in SpvPostProcess
Greg Fischer [Mon, 18 Oct 2021 21:14:07 +0000 (15:14 -0600)]
Merge pull request #2749 from AaronHaganAMD/master
GL_EXT_spirv_intrinsics port of GL_EXT_shader_realtime_clock
amhagan [Wed, 1 Sep 2021 15:33:21 +0000 (11:33 -0400)]
GL_EXT_spirv_intrinsics - Port extensions
Add mechanism to use GL_EXT_spirv_intrinsics headers in glslang.
Ported GL_EXT_shader_realtime_clock as an example.
Rex Xu [Wed, 13 Oct 2021 06:12:47 +0000 (14:12 +0800)]
Make modifications of GL_EXT_spirv_intrinsics
1. spirv_execution_mode_id and spirv_decorate_id could support
specialization constants. The original implementation always
assume only normal frontend constants are valid. It is not true.
2. spirv_type donesn't support type_specifier as an option of
spirv_type_parameter. At present, only constant_expression is the
valid option.
Chris Forbes [Thu, 14 Oct 2021 15:41:16 +0000 (08:41 -0700)]
Untangle use of core glslang version enums in SpvPostProcess
This is the only thing requiring GlslangToSpv.h to be included here.
Change-Id: I72e9e278aa1e6d717e83f9dbf11e089aafe2eb0e
Kevin McCullough [Wed, 13 Oct 2021 21:57:06 +0000 (14:57 -0700)]
Fix cross-stage check to allow subsequent stage to use previous stage's binding
Greg Fischer [Thu, 7 Oct 2021 18:33:37 +0000 (12:33 -0600)]
Merge pull request #2770 from ncesario-lunarg/ncesario-cmake-endif
cmake: Remove "conditions" from endif
Greg Fischer [Wed, 6 Oct 2021 16:15:06 +0000 (10:15 -0600)]
Merge pull request #2771 from mbechard/master
rename member variable for clarity
Nathaniel Cesario [Tue, 28 Sep 2021 23:01:21 +0000 (17:01 -0600)]
cmake: Remove "conditions" from endif
See https://cmake.org/cmake/help/latest/command/endif.html and
https://cmake.org/cmake/help/latest/command/if.html.
If the else/endif condition does not match the if condition verbatim,
an error is produced on some versions of cmake. This change removes
these "legacy conditions."
Malcolm Bechard [Wed, 29 Sep 2021 19:31:28 +0000 (15:31 -0400)]
rename member variable for clarity
it's a little strange how the resolver takes an arbitrary intermediate
in it's constructor. Really this should be an 'options' object that
holds the various resolve/remapping options which are read from this
intermediate.
At least for now rename it so it's more clear it's used differently from
other intermediates that are accessed in the resolver (such as the per
stage ones).
Greg Fischer [Fri, 24 Sep 2021 19:27:08 +0000 (13:27 -0600)]
Merge pull request #2768 from greg-lunarg/i2744
Fix variable scoping of do-while
Greg Fischer [Fri, 24 Sep 2021 16:12:37 +0000 (10:12 -0600)]
Fix variable scoping of do-while
Fixes #2744
Greg Fischer [Thu, 23 Sep 2021 16:41:34 +0000 (10:41 -0600)]
Merge pull request #2767 from greg-lunarg/i2763
Fix unreachable code in getSampledType()
Greg Fischer [Thu, 23 Sep 2021 16:40:43 +0000 (10:40 -0600)]
Scalarize vector readFirstInvocationARB (#2766)
Fixes #2761
Greg Fischer [Wed, 22 Sep 2021 21:12:49 +0000 (15:12 -0600)]
Fix unreachable code in getSampledType()
Fixed #2763
Malcolm Bechard [Wed, 22 Sep 2021 17:41:10 +0000 (13:41 -0400)]
Auto push constant blocks (#2764)
* add ability to upgrade uniform block to push constants assuming it fits within the size limit imposed by the caller
* allow selecting the packing for the auto push constants
* check the size using the potential layout packing of the push constants
Greg Fischer [Tue, 21 Sep 2021 22:29:30 +0000 (16:29 -0600)]
Merge pull request #2685 from kevin-mccullough/FixIsIoResizeArrayTesselationStageHandling
Fix isIoResizeArray() tessellation stage handling
Greg Fischer [Mon, 20 Sep 2021 16:14:47 +0000 (10:14 -0600)]
Merge pull request #2762 from greg-lunarg/2757
Fix SPIR-V for HLSL SampleBias
Greg Fischer [Fri, 17 Sep 2021 23:14:36 +0000 (17:14 -0600)]
Fix SPIR-V for SampleBias
Fixes #2757
Greg Fischer [Fri, 17 Sep 2021 19:58:48 +0000 (13:58 -0600)]
Merge pull request #2759 from mbechard/vkRelaxed-RetargetID
GL_EXT_vulkan_glsl_relaxed - retarget gl_VertexID to gl_VertexIndex
Greg Fischer [Fri, 17 Sep 2021 19:58:04 +0000 (13:58 -0600)]
Merge pull request #2756 from mbechard/vkRelaxed-AvoidDuplicateUniform
GL_EXT_vulkan_glsl_relaxed - avoid growing the global uniform block with duplicates
Malcolm Bechard [Thu, 16 Sep 2021 21:40:49 +0000 (17:40 -0400)]
GL_EXT_vulkan_glsl_relaxed - retarget gl_VertexID to gl_VertexIndex
instead of allowing for multiple declarations of the variable in the
resulting SPIR-V, instead use a retargeted mechanism to cause references
to gl_VertexID and gl_InstanceID to use the gl_VertexIndex and
gl_InstanceIndex symbol.
Malcolm Bechard [Thu, 16 Sep 2021 03:39:02 +0000 (23:39 -0400)]
avoid growing the global uniform block with duplicates
When using GL_EXT_vulkan_glsl_relaxed, check to see if a
uniform already exists in the block uniform block, and if so,
ensure they are the same type. Otherwise, avoid growing the block
with a duplicate.
Greg Fischer [Wed, 15 Sep 2021 17:09:14 +0000 (11:09 -0600)]
Merge pull request #2745 from jeremy-lunarg/hayes-fix-warnings
Fix GCC warnings
Greg Fischer [Wed, 15 Sep 2021 16:57:44 +0000 (10:57 -0600)]
Merge pull request #2752 from InsertAReallyCreativeNameHere/master
Change MINGW_HAS_SECURE_API checks.
Greg Fischer [Wed, 15 Sep 2021 15:42:34 +0000 (09:42 -0600)]
Merge pull request #2755 from greg-lunarg/2748
Run update_precision() on array and matrix constructors.
Greg Fischer [Tue, 14 Sep 2021 18:17:58 +0000 (12:17 -0600)]
Run update_precision() on array and matrix constructors.
InsertAReallyCreativeNameHere [Wed, 8 Sep 2021 20:43:23 +0000 (06:43 +1000)]
Change MINGW_HAS_SECURE_API checks.
MINGW_HAS_SECURE_API can be defined as 0, but this will be ignored here without this change.
Without these *_s "safe" functions, this code will also build on Windows XP.
Greg Fischer [Thu, 2 Sep 2021 22:11:37 +0000 (16:11 -0600)]
Merge pull request #2747 from greg-lunarg/i2740
Perform update_precision on constructors and converts
Greg Fischer [Thu, 2 Sep 2021 16:49:46 +0000 (10:49 -0600)]
Perform update_precision on constructors and converts
Fixes #2740
Jeremy Hayes [Mon, 9 Aug 2021 20:41:50 +0000 (14:41 -0600)]
Fix GCC warnings
Fix -Wsign-compare warnings.
Fix -Wunused-parameter warnings.
Greg Fischer [Wed, 25 Aug 2021 21:21:08 +0000 (15:21 -0600)]
Merge pull request #2738 from greg-lunarg/kg119
Update known goods and CHANGES for 11.6.0
Greg Fischer [Wed, 25 Aug 2021 19:32:27 +0000 (13:32 -0600)]
Update known goods and CHANGES for 11.6.0
Greg Fischer [Wed, 18 Aug 2021 18:59:27 +0000 (12:59 -0600)]
Merge pull request #2718 from ZhiqianXia/AtomicOpsARB
Support the atomic_counter_xxxARB built-in functons at #extension GL_ARB_shader_atomic_counter_ops.
Greg Fischer [Fri, 13 Aug 2021 15:48:37 +0000 (09:48 -0600)]
Merge pull request #2731 from alelenv/rt_motion
Add support for GL_NV_ray_tracing_motion_blur.
alelenv [Thu, 12 Aug 2021 16:57:22 +0000 (09:57 -0700)]
Update known_good for SPV_NV_ray_tracing_motion_blur.
alelenv [Tue, 10 Aug 2021 19:02:09 +0000 (12:02 -0700)]
Merge branch 'KhronosGroup:master' into rt_motion
alelenv [Tue, 10 Aug 2021 17:40:28 +0000 (10:40 -0700)]
Add support for GL_NV_ray_tracing_motion_blur.
Greg Fischer [Tue, 10 Aug 2021 07:01:39 +0000 (01:01 -0600)]
Merge pull request #2726 from TheMindVirus/master
Update CMakeLists.txt
Greg Fischer [Tue, 10 Aug 2021 06:53:01 +0000 (00:53 -0600)]
Merge pull request #2729 from greg-lunarg/2725
Fix seperate stores to swizzled lvalue.
Greg Fischer [Mon, 9 Aug 2021 23:52:40 +0000 (17:52 -0600)]
Fix seperate stores to swizzled lvalue.
Seen with += and ++ ops on swizzled lvalues. Was using stale access chain.
Fixes 2725.
Alastair Cota [Sun, 8 Aug 2021 16:00:26 +0000 (17:00 +0100)]
Update CMakeLists.txt
Checked REGEX REPLACE for consistency failure
ZhiqianXia [Thu, 8 Jul 2021 03:12:05 +0000 (11:12 +0800)]
Support Extension GL_ARB_shader_atomic_counter_ops and relative intrisic functions.
refs:
https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_atomic_counter_ops.txt
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
Greg Fischer [Sun, 1 Aug 2021 06:13:10 +0000 (00:13 -0600)]
Merge pull request #2716 from greg-lunarg/i2689
Add support for pragma STDGL invariant(all)
Greg Fischer [Thu, 29 Jul 2021 20:58:10 +0000 (14:58 -0600)]
Add support for pragma STDGL invariant(all)
Fixes #2689
Greg Fischer [Fri, 30 Jul 2021 22:12:21 +0000 (16:12 -0600)]
Merge pull request #2715 from greg-lunarg/i2714
Allow layout(std430) uniform with GL_EXT_scalar_block_layout
Greg Fischer [Fri, 30 Jul 2021 18:03:27 +0000 (12:03 -0600)]
Merge pull request #2690 from AndreyMlashkin/make_msvc_runtime_override_optional
add possibility to not override runtime of MSVC
Greg Fischer [Fri, 30 Jul 2021 17:11:16 +0000 (11:11 -0600)]
Allow layout(std430) uniform with GL_EXT_scalar_block_layout
andrei.malashkin [Fri, 30 Jul 2021 07:12:45 +0000 (09:12 +0200)]
correct ident
Greg Fischer [Thu, 29 Jul 2021 20:51:44 +0000 (14:51 -0600)]
Merge pull request #2691 from ZhiqianXia/BugPoint
Atomic memory function can only be used for shader storage block member or shared variable.
Greg Fischer [Thu, 29 Jul 2021 20:48:24 +0000 (14:48 -0600)]
Merge branch 'master' into BugPoint
Greg Fischer [Thu, 29 Jul 2021 20:10:40 +0000 (14:10 -0600)]
Merge pull request #2700 from ZhiqianXia/u2i
Support Uint to Int implicit conversions at #extension GL_ARB_gpu_shader5.
Greg Fischer [Wed, 28 Jul 2021 22:49:27 +0000 (16:49 -0600)]
Merge pull request #2702 from jeremy-lunarg/hayes-2518
Generate separate stores for partially swizzled memory stores
Jeremy Hayes [Fri, 16 Jul 2021 21:07:16 +0000 (15:07 -0600)]
Generate separate stores for partially swizzled memory stores
Full vector and fully specified vector swizzle stores are not affected by this change, only partial swizzles ie swizzles with fewer components than the vector being stored to.
Previously the vector being stored to loaded and any components not specified in the swizzle were used to create a full store to the vector.
While this change generates more SPIR-V instructions, it is necessary for correctness.
Fixes #2518.
Nathan Reed [Wed, 28 Jul 2021 15:29:17 +0000 (08:29 -0700)]
Fix OpImageRead result type when compiling HLSL (#2706)
Fix OpImageRead result type when compiling HLSL
- Per the Vulkan spec, OpImageRead must return a 4-component vector always. When compiling HLSL, loads from a RWTexture of a template type with < 4 components would incorrectly generate an OpImageRead with a < 4 component result, resulting in validation errors.
- This was previously fixed for OpImageFetch in commit 4425f24; this commit does the same thing for OpImageRead.
- Added associated tests and expanded existing image fetch tests to check all the different types of textures, in both float and int incarnations, for completeness.
- Update other HLSL tests involving OpImageRead
Greg Fischer [Wed, 28 Jul 2021 15:27:03 +0000 (09:27 -0600)]
Merge pull request #2705 from pkasting/master
Fix some instances of -Wunused-but-set-variable.
Greg Fischer [Tue, 27 Jul 2021 21:03:35 +0000 (15:03 -0600)]
Merge pull request #2704 from YunHsiao/master
Fix per-set argument parsing in standalone
Peter Kasting [Mon, 26 Jul 2021 14:34:37 +0000 (07:34 -0700)]
Fix some instances of -Wunused-but-set-variable.
Bug: chromium:1203071
Yun Hsiao Wu [Mon, 26 Jul 2021 08:21:12 +0000 (16:21 +0800)]
Fix per-set argument parsing in standalone
ZhiqianXia [Mon, 19 Jul 2021 09:24:28 +0000 (17:24 +0800)]
Support Uint to Int implicit conversions at #extension GL_ARB_gpu_shader5.
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
Greg Fischer [Fri, 16 Jul 2021 14:40:37 +0000 (08:40 -0600)]
Merge pull request #2695 from ShabbyX/fix-bool-array-in-uniform-load
Fix loading bool arrays from interface blocks
Shahbaz Youssefi [Fri, 16 Jul 2021 02:00:51 +0000 (22:00 -0400)]
Fix loading bool arrays from interface blocks
SPIR-V disallows bool in interface blocks, which is emulated with uint.
When loading a bool variable (through accessChainLoad()), it's converted
from uint to bool if it came from an interface block.
This was handled for bool and bvecN, but not for bool arrays. This
change implements the conversion for bool arrays.
Closes #2694
andrei.malashkin [Wed, 14 Jul 2021 05:33:02 +0000 (09:33 +0400)]
make AND to upper case
andrei.malashkin [Mon, 12 Jul 2021 16:08:15 +0000 (20:08 +0400)]
add possibility to not override runtime of MSVC
ZhiqianXia [Mon, 12 Jul 2021 08:57:25 +0000 (16:57 +0800)]
Atomic memory function can only be used for shader storage block member or shared variable.
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
Kevin McCullough [Tue, 6 Jul 2021 18:50:48 +0000 (11:50 -0700)]
Fix isIoResizeArray() tessellation stage handling
Greg Fischer [Thu, 8 Jul 2021 21:15:55 +0000 (15:15 -0600)]
Merge pull request #2688 from KhronosGroup/revert-2643-master
Revert "Atomic memory function can only be used for shader storage block member or shared variable."
Greg Fischer [Thu, 8 Jul 2021 19:10:58 +0000 (13:10 -0600)]
Revert "Atomic memory function can only be used for shader storage block member or shared variable."
Greg Fischer [Wed, 7 Jul 2021 21:08:55 +0000 (15:08 -0600)]
Merge pull request #2684 from ZhiqianXia/Dev
Add support for gl_MaxVaryingVectors for ogl.
Greg Fischer [Wed, 7 Jul 2021 20:27:10 +0000 (14:27 -0600)]
Merge pull request #2643 from ZhiqianXia/master
Atomic memory function can only be used for shader storage block member or shared variable.
ZhiqianXia [Wed, 7 Jul 2021 07:32:52 +0000 (15:32 +0800)]
Add support for gl_MaxVaryingVectors for ogl.
ZhiqianXia [Wed, 7 Jul 2021 06:12:33 +0000 (14:12 +0800)]
Merge branch 'KhronosGroup:master' into master
Greg Fischer [Wed, 23 Jun 2021 20:25:17 +0000 (14:25 -0600)]
Merge pull request #2671 from greg-lunarg/kg118
Update known goods and CHANGES for 11.5.0
Greg Fischer [Wed, 23 Jun 2021 19:47:39 +0000 (13:47 -0600)]
Update known goods and CHANGES for 11.5.0
Greg Fischer [Wed, 23 Jun 2021 16:46:28 +0000 (10:46 -0600)]
Merge pull request #2670 from dneto0/fix-android-mk
Android.mk: Add SpirvIntrinsics.cpp
David Neto [Wed, 23 Jun 2021 01:57:05 +0000 (21:57 -0400)]
Android.mk: Add SpirvIntrinsics.cpp
It was missing, and was breaking the build for Android.mk.
Greg Fischer [Thu, 17 Jun 2021 21:29:34 +0000 (15:29 -0600)]
Merge pull request #2669 from sudonatalie/remove-unused-var
Remove unused variable Num_string_literal_EXTs
Greg Fischer [Thu, 17 Jun 2021 20:49:02 +0000 (14:49 -0600)]
Merge pull request #2664 from mbechard/master
only declare compatibility gl_ variables in compatibility mode
Natalie Chouinard [Thu, 17 Jun 2021 18:10:10 +0000 (11:10 -0700)]
Remove unused variable Num_string_literal_EXTs
Remove an unused variable that causes build failures in downstream
repository.
Greg Fischer [Thu, 17 Jun 2021 17:27:47 +0000 (11:27 -0600)]
Merge pull request #2668 from cmarcelo/GLSL_EXT_shader_atomic_float2
Implement GLSL_EXT_shader_atomic_float2
Greg Fischer [Wed, 16 Jun 2021 20:52:35 +0000 (14:52 -0600)]
Merge pull request #2625 from amdrexu/feature
Implement the extension GL_EXT_spirv_intrinsics
Greg Fischer [Wed, 16 Jun 2021 17:54:07 +0000 (11:54 -0600)]
Merge pull request #2667 from greg-lunarg/i2666
Remove output variables from compute regression tests
Jason Ekstrand [Wed, 13 Jan 2021 20:36:17 +0000 (14:36 -0600)]
Implement GLSL_EXT_shader_atomic_float2
Greg Fischer [Tue, 15 Jun 2021 21:56:27 +0000 (15:56 -0600)]
Remove output variables from compute regression tests
Output variables in GLCompute shaders is not supported in Vulkan.
Recent upgrade of spirv-tools revealed this problem.
Greg Fischer [Tue, 15 Jun 2021 21:00:58 +0000 (15:00 -0600)]
Merge pull request #2666 from alan-baker/update-tools
Update SPIRV-Tools and SPIRV-Headers
Alan Baker [Tue, 15 Jun 2021 15:13:35 +0000 (11:13 -0400)]
Update test expectations
Alan Baker [Tue, 15 Jun 2021 15:11:58 +0000 (11:11 -0400)]
Update known good SPIRV-Tools and SPIRV-Headers
Greg Fischer [Mon, 14 Jun 2021 16:35:29 +0000 (10:35 -0600)]
Merge pull request #2665 from JustSid/master
Fix SPIR-V remapper not remapping OpExtInst instruction set IDs