Commit Graph

25 Commits

Author SHA1 Message Date
wangshi 668af1a8df 适配v2021.1版本
Signed-off-by: wangshi <wangshi@kaihong.com>
2023-01-13 14:52:09 +08:00
wangshi 8a4efca23a 移植spirv-tools,适配vkgl测试套件的编译
Signed-off-by: wangshi <wangshi@kaihong.com>
2022-11-15 15:44:19 +08:00
sfricke-samsung bbd8780a12 spirv-val: Label and add test for PSB Aligned (#4756) 2022-03-23 11:08:21 -04:00
alan-baker 1130cefbe5 Fix bad order of checks in atomic validation (#4524)
Fixes https://crbug.com/38625

* Check the type is an integer before checking it's bit width
2021-09-13 11:16:37 -04:00
Jason Ekstrand d4f7a21a1f Add validation for SPV_EXT_shader_atomic_float16_add (#4325) 2021-06-24 08:59:43 -04:00
Jason Ekstrand 8a07a5c458 Add validation for SPV_EXT_shader_atomic_float_min_max (#4105)
* Add an "extra_defs" parameter to GenerateShaderCode in atomics_test

* Add validation for SPV_EXT_shader_atomic_float_min_max
2021-03-24 08:49:21 -04:00
sfricke-samsung 410694a8b3 spirv-val: Refactor of atomic pass (#4200) 2021-03-19 09:23:02 -04:00
sfricke-samsung ea19ab7257 spirv-val: Fix Int64Atomics check (#4192) 2021-03-18 10:50:16 -04:00
sfricke-samsung 9d88d9eebc spirv-val: Add Vulkan Invocation Sematics check (#4182) 2021-03-16 10:53:37 -04:00
sfricke-samsung 934f288a59 spirv-val: Vulkan 64-bit OpAtomicStore check (#4163) 2021-03-08 14:34:06 -05:00
sfricke-samsung 6b17b537c6 spirv-val: Vulkan atomic storage class (#4079)
* spirv-val: Vulkan atomic storage class

* Add PhysicalStorageBuffer
2021-01-14 09:41:18 -05:00
Tobski b3dad144f5 Add SPV_EXT_shader_image_int64 (#3852)
* Add SPV_EXT_shader_image_atomic_int64
* Added 64-bit image tests


Co-authored-by: Arkadiusz Sarwa <arkadiusz.sarwa@amd.com>
2020-10-20 11:55:26 -04:00
vkushwaha-nv 56d87c6448 Add changes for SPV_EXT_shader_atomic_float (#3562) 2020-07-21 10:31:05 -04:00
Kévin Petit 4a8b67ec9c Validate storage class OpenCL environment rules for atomics (#2750)
This change refactors all storage class validation for atomics
to reflect the similar refactoring in the specification.

It is currently not possible to write a test for the check
rejecting Generic in an OpenCL 1.2 environment as the required
GenericPointer capability isn't allowed there. I've decided
to keep the check nonetheless to guard against the capability
becoming available without the rules for atomics being updated.

The ID changes in existing tests aren't ideal but introducing
names drags in a substantial refactoring of this file.

Contributes to #2595.

Signed-off-by: Kevin Petit <kevin.petit@arm.com>
2019-07-22 08:38:42 -04:00
alan-baker af10048cea Validate Volatile memory semantics bit (#2672)
* Can only be used with Vulkan memory model
* Can only be used with atomics
* Bit setting must match for compare exchange opcodes
* Updated memory semantics checks to allow constant instructions
generally with CooperativeMatrixNV
2019-06-17 13:35:40 -04:00
Jeff Bolz ac75865478 SPV_EXT_physical_storage_buffer (#2267) 2019-01-07 13:19:24 -05:00
Ryan Harrison 8173af0646 Merge two implementations of ValidateMemorySemantics (#2175)
Fixes #2170
2018-12-06 14:38:15 -05:00
alan-baker 6d09cab913 Clean uses of EvalInt32IfConst (#2145)
Fixes #2133

* Don't return OpSpecConstant* as constants in that method
 * cleaned up uses
* added tests to catch shader semantics and scope bugs
2018-11-30 14:00:56 -05:00
Ryan Harrison b2e843ed81 Merging two ValidateMemoryScope implementations (#2132)
Fixes #2125
2018-11-29 14:51:17 -05:00
Alan Baker dd2ba7636d Vulkan memory model: semantics validation
Ban sequentially consistent with VulkanKHR

* Added validation check that SequentiallyConsistent memory semantics
are not used if the memory model is VulkanKHR
 * Added tests
* Fixed a bug in evaluating constant 32-bit integers and updated some
handling to avoid inferring a value from a spec constant default

Remaining memory semantics validation

* Adds checks that OutputMemoryKHR, MakeAvailableKHR and MakeVisibleKHR
are only used if the VulkanMemoryModelKHR capabailty is present
* Added checks that MakeAvailableKHR requires release semantics
* Added checks that MakeVisibleKHR requires acquire semantics
* Added checks that MakeAvailableKHR and MakeVisibleKHR require a
storage class
2018-11-19 11:44:20 -05:00
Ben Ashbaugh b06c38af91 allow atomics on Function pointers for OpenCL (#1955) 2018-10-09 11:33:01 -04:00
Lei Zhang 1dd8eac33a VK_KHR_shader_atomic_int64 covers OpAtomic{Load|Store} 2018-09-26 16:45:37 -04:00
Lei Zhang b5c3c5550e Add support for VK_KHR_shader_atomic_int64 in validator 2018-09-14 14:07:25 -04:00
dan sinclair 3de109fbd1 Update diag() in validate_atomics (#1753)
This CL updates validate_atomics to explicitly provide the instruction
when caling diag().
2018-07-31 17:20:43 -04:00
dan sinclair 7f211c6b44 Move validation files to val/ directory (#1692)
This CL moves the various validate files into the val/ directory with
the rest of the validation infrastructure. This matches how opt/ is
setup with the passes with the infrastructure.
2018-07-11 10:27:34 -04:00