1766 Commits

Author SHA1 Message Date
Greg Fischer
b9d06bdb01
Merge pull request #2668 from cmarcelo/GLSL_EXT_shader_atomic_float2
Implement GLSL_EXT_shader_atomic_float2
2021-06-17 11:27:47 -06:00
Greg Fischer
71612a7e5d
Merge pull request #2625 from amdrexu/feature
Implement the extension GL_EXT_spirv_intrinsics
2021-06-16 14:52:35 -06:00
Jason Ekstrand
d352577a99 Implement GLSL_EXT_shader_atomic_float2 2021-06-16 09:11:14 -07:00
Greg Fischer
cd6b2382d0 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.
2021-06-15 15:56:27 -06:00
Alan Baker
3d9a31c6d1 Update test expectations 2021-06-15 11:13:35 -04:00
Greg Fischer
fe15158676
Merge pull request #2662 from greg-lunarg/spec1
Add support for float spec const vector initialization
2021-06-09 13:09:28 -06:00
Greg Fischer
230168d5d9 Add support for float spec const vector initialization
Fixes #2025
2021-06-09 10:07:03 -06:00
Rex Xu
65a7fb7054 Implement the extension GL_EXT_spirv_intrinsics
- Add support of SPIR-V execution mode qualifiers.
- Add support of SPIR-V storage class qualifier.
- Add support of SPIR-V decorate qualifiers.
- Add support of SPIR-V type specifier.
- Add support of SPIR-V intruction qualifiers.
- Add support of spirv_by_reference/spirv_literal parameter qualifier.
- Add shader stage macros introduced by this extension.
2021-06-09 14:18:06 +08:00
Jaebaek Seo
02f1c80d77 Fix unit test failures 2021-06-08 10:39:55 -04:00
John Kessenich
848d3a9447 Implement GL_EXT_subgroup_uniform_control_flow. 2021-06-07 10:21:05 -04:00
Greg Fischer
11c24e9adb Do true SPV type check for function array arg linkage
Previous check was missing type difference between uniform array
actual arg with stride decoration and the formal arg without. Now
does logical or component-wise copy where needed.

Fixes #2637
2021-05-20 10:51:14 -06:00
John Stiles
9724ee42df Fix mat4x2(scalar) constructor. 2021-05-18 12:13:41 -04:00
tgfrerer
adfa0938a2
fix error message for hlslGrammar::acceptConstructor
Fix the error message for when an erroneous HLSL constructor statement
is detected.

Prior to this change, such error messages would not show correct file
path and line number information.

Additionally, update test data to account for updated error messages.
2021-05-11 09:42:11 +01:00
Greg Fischer
1464d036b8 Fix arrays dimensioned with spec constant sized gl_WorkGroupSize 2021-05-06 18:05:16 -06:00
Panagiotis Christopoulos Charitos
6113723e40 Add support for 64bit integer types and 64bit integer vector types to bitCount() builtin.
Fixes #2630
2021-05-03 14:26:11 +02:00
Robin Quint
e50b0a857c Added usage hint for --auto-sampled-textures, added test cases 2021-04-22 13:13:38 +02:00
Georg Lehmann
498d74d84c Add some basic --depfile tests 2021-04-20 18:12:39 +02:00
Greg Fischer
60ce877de0
Merge pull request #2609 from ZhiqianXia/Feature2
TextureOffset not support sampler2DArrayShadow sampler until 430.
2021-04-19 12:03:05 -06:00
Greg Fischer
12f3eb8e3f Fix and enable textureOffset_samper2darrayshadow test 2021-04-19 09:37:45 -06:00
ZhiqianXia
41992e432c TextureOffset not support sampler2DArrayShadow sampler until 430.
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
2021-04-15 21:38:35 +08:00
Jeremy Hayes
4b900778c3 Issue error when declaration rule fails
Fix #2514.
2021-04-09 16:55:23 -06:00
Greg Fischer
186e66c1a3
Revert "Update minimum SPIR-V requirement for GL_EXT_buffer_reference" 2021-04-07 15:20:16 -06:00
Greg Fischer
02132406bc Do not propagate packing qualifiers to scalars or vectors
Packing qualifiers have no practical effect on scalars or vectors
so this is unnecessary and its confusing tools downstream that
consume the AST.
2021-04-06 15:40:22 -06:00
Greg Fischer
5878bcb17e
Merge pull request #2593 from jeremy-lunarg/hayes-update-min-spv-requirement
Update minimum SPIR-V requirement for GL_EXT_buffer_reference
2021-04-01 12:32:57 -06:00
Greg Fischer
7fbaca0d06 Fix SPIR-V for HLSL EvaluateAttribute* of interpolants in structs
Generate load of interpolant for first operand to GLSLstd450
InterpolateAt* SPIR-V ops. This allows the interpolants to
propagate from the input struct in the wrapper around main
into the shader during HLSL legalization. A new pass has been
added to legalization which will remove the load and replace
with the pointer of the load to create valid external
interpolate op.

Fixes #2584
2021-04-01 00:31:31 -06:00
Pankaj Mistry
18cfc3f106 For bug #2580: sparseTextureGatherOffsetsARB should only take constant offsets. 2021-03-29 14:27:17 -07:00
Jeremy Hayes
97dfbe2c4b Update minimum SPIR-V requirement
Require SPIR-V 1.3 when using GL_EXT_buffer_reference.
Migrate tests to SPIR-V 1.3 fixture as necessary.
Fix extension table key.
Fix whitespace.
2021-03-29 15:10:43 -06:00
Jeremy Hayes
13e27f9dd0 Default to KHR extension
Fix #2530.
2021-03-22 13:42:43 -06:00
greg-lunarg
847a19cd2b
Merge pull request #2581 from mbechard/InconsistentGLPerVertex
Partial fix for inconsistencies re: #2578
2021-03-19 17:38:51 -06:00
Malcolm Bechard
9b962f611c Partial fix for inconsistencies re: #2578
gl_SecondaryPositionNV and gl_PositionPerViewNV are inconsistently
declared inside and outside of gl_PerVertex. This breaks interface block
matching. For now ignore these errors since it should be fixed with how
they are declared.
2021-03-19 16:18:42 -04:00
Malcolm Bechard
5340752190 Fix issue with remapping global uniform blocks
Avoid adding global uniform blocks to stages that don't already have it.
Otherwise multiple stages point to the same block object, and a
remapping that occurs later on will change the mapping on multiple
stages.
2021-03-17 19:30:22 -04:00
greg-lunarg
4e064eef46
Revert "Revert "GL_ext_vulkan_glsl_relaxed extension support, and cross stage aware IO mapper"" 2021-03-15 11:26:11 -06:00
greg-lunarg
e063363878
Revert "GL_ext_vulkan_glsl_relaxed extension support, and cross stage aware IO mapper" 2021-03-10 11:26:43 -07:00
greg-lunarg
84e11a858c
Merge pull request #2565 from greg-lunarg/i2564
Pass correct proxy type for atomicStore
2021-03-09 02:15:26 -07:00
Greg Fischer
b5c8fd4fcf Pass correct proxy type for atomicStore
Fixes #2564
2021-03-08 14:19:31 -07:00
will brown
ecc9b9149f Implement GL_EXT_vulkan_glsl_relaxed option 2021-03-08 13:31:39 -05:00
Greg Fischer
b479ce0bfa Allow DepthUnchanged and DepthReplaced Modes in same SPIR-V module.
Fixes #2555
2021-03-01 17:45:03 -07:00
Greg Fischer
740def238e Allow grad texture ops in all shaders
Fixes #2551
2021-03-01 12:34:53 -07:00
Greg Fischer
051fbbb69c Fix off-by-1 bug in gl_MaxCombinedTextureImageUnits check
The problem was only with arrays of samplers.

Fixed #2552
2021-02-26 17:07:52 -07:00
Greg Fischer
c176085909 Fix precision propagation around shifts
Fixes #2541
2021-02-26 14:25:38 -07:00
Jeremy Hayes
1c62806468 Require fixed workgroup size declaration
Fix 2479.
2021-02-24 14:49:31 -07:00
greg-lunarg
b0f8a0c3ab
Merge pull request #2458 from ShchchowAMD/unique_id-fix
Fix issue for new unique id system.
2021-02-15 13:22:14 -07:00
Chow
93b400f267 Fix issue for new unique id system. Add level bits to help verifying symbols and split symbol tables.
For intermediates rebuilding, now need manually amending level bits for redeclaring built-ins.
2021-02-15 20:35:20 +08:00
Caio Marcelo de Oliveira Filho
4bfbf62794 Add support for GL_EXT_shared_memory_block
Uses SPV_KHR_workgroup_memory_explicit_layout.  Note that if
GL_EXT_scalar_block_layout is enabled, Workgroup blocks can also use
scalar layout.
2021-01-29 11:23:05 -08:00
Caio Marcelo de Oliveira Filho
3785ddd59a Update known_good.json to pick up SPV_KHR_workgroup_memory_explicit_layout
Also update the test expectations regarding validation accordingly and
the in-tree spirv.hpp copy.
2021-01-29 11:22:22 -08:00
Caio Marcelo de Oliveira Filho
a38df83d3e Consider GL_EXT_scalar_block_layout when validating SPIR-V
If GL_EXT_scalar_block_layout is requested by the shader, set the
option to allow scalar blocks in the SPIR-V validator.

Fix the existing tests using scalar layout to not expect "Validation
failed".

Fixes #2400.
2021-01-28 14:11:24 -08:00
Jeff Bolz
bfd84a39f2 Add missing capability when QueueFamily scope is used
Also, if this capability is added and the memory model is not
otherwise enabled by pragma, enable it as part of postprocessing.
2021-01-27 13:14:34 -06:00
John Kessenich
c739e03748 Implement GL_EXT_null_initializer
Adds null initializer syntax (empty braces)
Allows null initialization of shared variables
2021-01-25 15:54:52 -05:00
Greg Fischer
e453088a8a Fix debugInfo test to target vulkan1.1 as intended
Fixes #2494
2021-01-05 14:45:11 -07:00
rdb
589aaff11c Don't use roundEven() to implement round() in DX9 compatibility mode 2020-12-16 18:35:42 +01:00