Commit graph

1738 commits

Author SHA1 Message Date
Malcolm Bechard
05794b46a7 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.
2021-09-16 17:40:49 -04:00
Malcolm Bechard
d3bff63cae 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.
2021-09-15 23:39:02 -04:00
Greg Fischer
80dcc36907
Merge pull request #2745 from jeremy-lunarg/hayes-fix-warnings
Fix GCC warnings
2021-09-15 11:09:14 -06:00
Greg Fischer
62ed14518f Run update_precision() on array and matrix constructors. 2021-09-14 12:17:58 -06:00
Greg Fischer
8ef6a4cb4d Perform update_precision on constructors and converts
Fixes #2740
2021-09-02 14:18:51 -06:00
Jeremy Hayes
012436d680 Fix GCC warnings
Fix -Wsign-compare warnings.
Fix -Wunused-parameter warnings.
2021-08-31 16:40:35 -06:00
Greg Fischer
a4599ef756
Merge pull request #2718 from ZhiqianXia/AtomicOpsARB
Support the atomic_counter_xxxARB  built-in functons at #extension GL_ARB_shader_atomic_counter_ops.
2021-08-18 12:59:27 -06:00
alelenv
fc60f77aa2 Add support for GL_NV_ray_tracing_motion_blur. 2021-08-10 10:40:28 -07:00
ZhiqianXia
78de10954e Support the textureQueryLOD at #extension GL_ARB_texture_query_lod.
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
2021-08-02 16:20:02 +08:00
ZhiqianXia
bf56773517 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>
2021-08-02 10:16:25 +08:00
Greg Fischer
e0f3fdf433
Merge pull request #2716 from greg-lunarg/i2689
Add support for pragma STDGL invariant(all)
2021-08-01 00:13:10 -06:00
Greg Fischer
715f5c6cf1 Add support for pragma STDGL invariant(all)
Fixes #2689
2021-07-31 15:55:25 -06:00
Greg Fischer
27384e04f6 Allow layout(std430) uniform with GL_EXT_scalar_block_layout 2021-07-30 11:11:16 -06:00
Greg Fischer
9ff6cd0bd6
Merge branch 'master' into BugPoint 2021-07-29 14:48:24 -06:00
ZhiqianXia
8cd85272ad Support Uint to Int implicit conversions at #extension GL_ARB_gpu_shader5.
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
2021-07-19 17:24:28 +08:00
ZhiqianXia
cf52f73a0c Atomic memory function can only be used for shader storage block member or shared variable.
Signed-off-by: ZhiqianXia <xzq0528@outlook.com>
2021-07-12 16:57:25 +08:00
Kevin McCullough
5597c8d7cf Fix isIoResizeArray() tessellation stage handling 2021-07-09 09:51:16 -07:00
Greg Fischer
263e50f6aa
Revert "Atomic memory function can only be used for shader storage block member or shared variable." 2021-07-08 13:10:58 -06:00
Greg Fischer
9e707294f1
Merge pull request #2684 from ZhiqianXia/Dev
Add support for gl_MaxVaryingVectors for ogl.
2021-07-07 15:08:55 -06:00
ZhiqianXia
5531fbc662 Add support for gl_MaxVaryingVectors for ogl. 2021-07-07 15:32:52 +08:00
ZhiqianXia
8a5c5e8210
Merge branch 'KhronosGroup:master' into master 2021-07-07 14:12:33 +08:00
Greg Fischer
b38100f6bc
Merge pull request #2669 from sudonatalie/remove-unused-var
Remove unused variable Num_string_literal_EXTs
2021-06-17 15:29:34 -06:00
Greg Fischer
e74b35f3f5
Merge pull request #2664 from mbechard/master
only declare compatibility gl_ variables in compatibility mode
2021-06-17 14:49:02 -06:00
Natalie Chouinard
c5f30ff6fe Remove unused variable Num_string_literal_EXTs
Remove an unused variable that causes build failures in downstream
repository.
2021-06-17 11:10:10 -07:00
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
Malcolm Bechard
275d7ae882 only declare compatibility gl_ variables in compatibility mode
avoid declaring them in GLSL 1.50+ if core profile is chosen by the
version statement

fixes #2663
2021-06-10 21:52:09 -04: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
John Kessenich
848d3a9447 Implement GL_EXT_subgroup_uniform_control_flow. 2021-06-07 10:21:05 -04:00
Greg Fischer
de2cb9db15
Merge pull request #2655 from ShabbyX/fix-ubsan
Fix UBSAN error with negating 0x8000'0000
2021-06-04 10:45:48 -06:00
Shahbaz Youssefi
10a7137dc9 Fix UBSAN error with negating 0x8000'0000
Signed-off-by: Shahbaz Youssefi <ShabbyX@gmail.com>
2021-06-03 17:18:12 -04:00
John Stiles
9724ee42df Fix mat4x2(scalar) constructor. 2021-05-18 12:13:41 -04:00
ZhiqianXia
587261a817 Atomic memory function can only be used for shader storage block member or shared variable.
The glsl spec says:A shader will fail to compile if the value passed to the mem argument of an atomic memory function does not
correspond to a buffer or shared variable.
2021-05-15 00:13:43 +08: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
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
100457e095 Add missing builtins for GL_EXT_explicit_arithmetic_types for es 2021-04-16 15:39:11 -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
Greg Fischer
e7e4a8eecb
Merge pull request #2522 from dneto0/intlog2
Add IntLog2 and use it
2021-04-14 15:16:04 -06:00
David Neto
fa6e3c2737 Add IntLog2 and use it
Replace uses of floating point log2 when we want an integer result from
an integer operand.  This avoids concerns about accuracy of floating
point library functions.
2021-04-13 14:09:44 -06:00
Jeremy Hayes
634ba4743d Fix table key and whitespace
These got lost in the wash with my last revert but are still relevant.
2021-04-09 17:00:40 -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
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
Malcolm Bechard
8bbd41f274 Don't check precision qualifiers on cross-stage checks
Fixes #2586
2021-03-22 15:06:44 -04:00
greg-lunarg
979319b9b1
Merge pull request #2579 from mbechard/master
Fix issue with remapping global uniform blocks
2021-03-18 17:22:13 -06:00
greg-lunarg
d18bcd64fa
Merge pull request #2574 from feifei14119/master
fix typo for u64vec2/3/4 type define value
2021-03-17 18:21:16 -06:00