Commit Graph

4296 Commits

Author SHA1 Message Date
Malcolm Bechard
3f04389a18
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
2021-09-22 11:41:10 -06:00
Greg Fischer
c2604615f4
Merge pull request #2685 from kevin-mccullough/FixIsIoResizeArrayTesselationStageHandling
Fix isIoResizeArray() tessellation stage handling
2021-09-21 16:29:30 -06:00
Greg Fischer
6baa85f6ce
Merge pull request #2762 from greg-lunarg/2757
Fix SPIR-V for HLSL SampleBias
2021-09-20 10:14:47 -06:00
Greg Fischer
8b87b84001 Fix SPIR-V for SampleBias
Fixes #2757
2021-09-17 17:22:39 -06:00
Greg Fischer
0f886fe7d3
Merge pull request #2759 from mbechard/vkRelaxed-RetargetID
GL_EXT_vulkan_glsl_relaxed - retarget gl_VertexID to gl_VertexIndex
2021-09-17 13:58:48 -06:00
Greg Fischer
cce85320a8
Merge pull request #2756 from mbechard/vkRelaxed-AvoidDuplicateUniform
GL_EXT_vulkan_glsl_relaxed - avoid growing the global uniform block with duplicates
2021-09-17 13:58:04 -06:00
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
14943d4e7d
Merge pull request #2752 from InsertAReallyCreativeNameHere/master
Change MINGW_HAS_SECURE_API checks.
2021-09-15 10:57:44 -06:00
Greg Fischer
07c5392f50
Merge pull request #2755 from greg-lunarg/2748
Run update_precision() on array and matrix constructors.
2021-09-15 09:42:34 -06:00
Greg Fischer
62ed14518f Run update_precision() on array and matrix constructors. 2021-09-14 12:17:58 -06:00
InsertAReallyCreativeNameHere
12e27e17de
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.
2021-09-09 06:43:23 +10:00
Greg Fischer
e0771b5d4c
Merge pull request #2747 from greg-lunarg/i2740
Perform update_precision on constructors and converts
2021-09-02 16:11:37 -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
2fb89a0072
Merge pull request #2738 from greg-lunarg/kg119
Update known goods and CHANGES for 11.6.0
2021-08-25 15:21:08 -06:00
Greg Fischer
e49ae91c9d Update known goods and CHANGES for 11.6.0 2021-08-25 13:32:27 -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
Greg Fischer
7ca4dfa061
Merge pull request #2731 from alelenv/rt_motion
Add support for GL_NV_ray_tracing_motion_blur.
2021-08-13 09:48:37 -06:00
alelenv
35af9ea58e Update known_good for SPV_NV_ray_tracing_motion_blur. 2021-08-12 09:57:22 -07:00
alelenv
da8027a9df
Merge branch 'KhronosGroup:master' into rt_motion 2021-08-10 12:02:09 -07:00
alelenv
fc60f77aa2 Add support for GL_NV_ray_tracing_motion_blur. 2021-08-10 10:40:28 -07:00
Greg Fischer
aa2d4bd2f4
Merge pull request #2726 from TheMindVirus/master
Update CMakeLists.txt
2021-08-10 01:01:39 -06:00
Greg Fischer
675bd38bfa
Merge pull request #2729 from greg-lunarg/2725
Fix seperate stores to swizzled lvalue.
2021-08-10 00:53:01 -06:00
Greg Fischer
9f18258e41 Fix seperate stores to swizzled lvalue.
Seen with += and ++ ops on swizzled lvalues. Was using stale access chain.

Fixes 2725.
2021-08-09 17:58:57 -06:00
Alastair Cota
48937f931a
Update CMakeLists.txt
Checked REGEX REPLACE for consistency failure
2021-08-08 17:00:26 +01: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
50849374cb
Merge pull request #2715 from greg-lunarg/i2714
Allow layout(std430) uniform with GL_EXT_scalar_block_layout
2021-07-30 16:12:21 -06:00
Greg Fischer
c94ec9356f
Merge pull request #2690 from AndreyMlashkin/make_msvc_runtime_override_optional
add possibility to not override runtime of MSVC
2021-07-30 12:03:27 -06:00
Greg Fischer
27384e04f6 Allow layout(std430) uniform with GL_EXT_scalar_block_layout 2021-07-30 11:11:16 -06:00
andrei.malashkin
0784c41300 correct ident 2021-07-30 09:12:45 +02:00
Greg Fischer
0db0010d3c
Merge pull request #2691 from ZhiqianXia/BugPoint
Atomic memory function can only be used for shader storage block member or shared variable.
2021-07-29 14:51:44 -06:00
Greg Fischer
9ff6cd0bd6
Merge branch 'master' into BugPoint 2021-07-29 14:48:24 -06:00
Greg Fischer
ba540202cd
Merge pull request #2700 from ZhiqianXia/u2i
Support Uint to Int implicit conversions at #extension GL_ARB_gpu_shader5.
2021-07-29 14:10:40 -06:00
Greg Fischer
d433cccb8a
Merge pull request #2702 from jeremy-lunarg/hayes-2518
Generate separate stores for partially swizzled memory stores
2021-07-28 16:49:27 -06:00
Jeremy Hayes
6d5b40f051 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.
2021-07-28 14:55:45 -06:00
Nathan Reed
fc9897d1ba
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
2021-07-28 09:29:17 -06:00
Greg Fischer
4a12ee1ae3
Merge pull request #2705 from pkasting/master
Fix some instances of -Wunused-but-set-variable.
2021-07-28 09:27:03 -06:00
Greg Fischer
1978c7692f
Merge pull request #2704 from YunHsiao/master
Fix per-set argument parsing in standalone
2021-07-27 15:03:35 -06:00
Peter Kasting
e8cffa5b7f Fix some instances of -Wunused-but-set-variable.
Bug: chromium:1203071
2021-07-26 07:34:37 -07:00
Yun Hsiao Wu
ae4305da91 Fix per-set argument parsing in standalone 2021-07-26 16:21:12 +08: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
Greg Fischer
9158061398
Merge pull request #2695 from ShabbyX/fix-bool-array-in-uniform-load
Fix loading bool arrays from interface blocks
2021-07-16 08:40:37 -06:00
Shahbaz Youssefi
097215f618 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
2021-07-15 22:29:48 -04:00
andrei.malashkin
fda1c58350 make AND to upper case 2021-07-14 09:33:02 +04:00
andrei.malashkin
22d19b963c add possibility to not override runtime of MSVC 2021-07-14 06:35:03 +04: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