SPIRV-Cross/reference/shaders-msl-no-opt/asm/comp
Bill Hollings 5493b3030e MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff.
- Add CompilerMSL::emit_binary_ptr_op() and to_ptr_expression()
  to emit binary pointer op. Compare matrix addresses without automatic
  transpose() conversion, to avoid error taking address of temporary copy.
- Add Compiler::add_active_interface_variable() to also track active
  interface vars in the entry point for SPIR-V 1.4 and above.
- For OpPtrAccessChain that ends in array element, use Element
  as offset to existing index, otherwise it will access into
  array dimension that doesn't exist.
- Dereference pointer function call arguments. Ultimately, this
  dereferencing is actually backwards, and in future, we should aim
  to properly support passing pointer variables between functions,
  but such a refactoring was beyond the scope here.
- Use [] to declare array of pointers, as array<T*> is not supported in MSL.
- Add unit test shaders.
2022-09-14 15:19:15 -04:00
..
aliased-struct-divergent-member-name.asm.comp MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
arithmetic-conversion-signs.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
atomic-load-store.asm.comp Implement OpAtomicLoad/OpAtomicStore. 2020-04-27 12:11:46 +02:00
atomic-min-max-sign.asm.comp MSL: Handle signed atomic min/max. 2022-01-17 15:40:58 +01:00
atomic-result-temporary.asm.comp MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00
bitcast-fp16-fp32.asm.comp GLSL: Support f16x2 <-> f32 bitcast. 2020-04-21 23:27:33 +02:00
bitfield-signed-operations.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
bitscan.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
block-like-array-type-construct-2.asm.comp MSL: Handle constant construct of block-like array types. 2022-01-17 18:28:25 +01:00
block-like-array-type-construct.asm.comp MSL: Handle constant construct of block-like array types. 2022-01-17 18:28:25 +01:00
buffer-device-address-ptr-casting.msl24.asm.comp MSL: Fix various bugs with Ptr/U bitcasts. 2022-08-09 13:49:40 +02:00
composite-construct-buffer-struct.asm.comp MSL: Add test case for constructing struct with non-value-type array. 2020-06-18 12:55:59 +02:00
constant-composite-undef.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
constant-lut-name-aliasing.asm.comp Test aliased names in declared LUTs. 2022-01-18 12:39:16 +01:00
copy-logical-2.spv14.asm.comp Add test shader for OpCopyLogical with packing/unpacking. 2020-01-06 12:44:18 +01:00
copy-logical.spv14.asm.comp Basic implementation of OpCopyLogical. 2020-01-06 11:47:26 +01:00
device-array-load-temporary.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
device-array-load-temporary.force-native-array.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
device-constant-array-load-store.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
device-constant-array-load-store.force-native-array.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
eliminate-globals-not-in-entry-point.noeliminate.spv14.asm.comp Check entry point variables in is_hidden_variables. 2021-01-22 13:53:22 +01:00
glsl-signed-operations.asm.comp MSL: Support synthetic functions in function constants. 2021-09-28 19:10:16 -04:00
glsl.std450.frexp-modf-struct.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
local-size-id-override.asm.comp Add support for LocalSizeId. 2022-01-06 13:57:10 +01:00
local-size-id.asm.comp Add support for LocalSizeId. 2022-01-06 13:57:10 +01:00
modf-storage-class.asm.comp MSL: Handle non-thread storage class in Modf/Frexp pointer versions. 2021-11-07 12:51:15 +01:00
opptrdiff-basic.spv14.asm.comp MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff. 2022-09-14 15:19:15 -04:00
opptrdiff-opptraccesschain-elem-offset.spv14.asm.comp MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff. 2022-09-14 15:19:15 -04:00
opptrequal-basic.spv14.asm.comp MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff. 2022-09-14 15:19:15 -04:00
opptrequal-row-maj-mtx-bypass-transpose.spv14.asm.comp MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff. 2022-09-14 15:19:15 -04:00
opptrnotequal-basic.spv14.asm.comp MSL: Support OpPtrEqual, OpPtrNotEqual, and OpPtrDiff. 2022-09-14 15:19:15 -04:00
spec-constant-name-aliasing.asm.comp Handle aliased names in spec constants. 2022-01-18 12:31:28 +01:00
storage-buffer-basic.invalid.asm.comp MSL: Deal correctly with initializers on Private variables. 2020-04-21 11:20:49 +02:00
storage-buffer-pointer-argument.asm.comp Updates for pull request #1162 2019-09-24 14:35:25 -04:00
variable-pointers.asm.comp MSL: Do not generate UnsafeArray<> for any array inside buffer objects. 2019-10-24 12:22:30 +02:00