Commit Graph

3708 Commits

Author SHA1 Message Date
Wooyoung Kim
8028f75685
Merge branch 'KhronosGroup:main' into SPV_QCOM_image_processing 2024-01-08 09:36:01 -08:00
Hans-Kristian Arntzen
7eb09ee443
Merge pull request #2259 from KhronosGroup/fix-2249
Add i64/u64 spec constant to C API.
2024-01-08 14:47:47 +01:00
Hans-Kristian Arntzen
6b1b7c6da4 Add i64/u64 spec constant to C API. 2024-01-08 14:37:26 +01:00
Hans-Kristian Arntzen
a303839539
Merge pull request #2256 from KhronosGroup/fix-2250
MSL: Support variable sized descriptor arrays in argument buffers directly.
2024-01-08 14:29:19 +01:00
Hans-Kristian Arntzen
57e28e3f58 MSL: Implement spvDescriptorArray path for SSBO/UBO. 2024-01-08 14:15:23 +01:00
Hans-Kristian Arntzen
a8b1e07fde MSL: Add test for texture/sampler variable count. 2024-01-08 13:04:43 +01:00
Hans-Kristian Arntzen
e10bf53324 MSL: Support variable sized descriptor array in argument buffer. 2024-01-08 12:37:01 +01:00
Wooyoung Kim
a7b6f3a34a Add supprot for the SPV_QCOM_image_processing extension 2024-01-05 22:38:08 -08:00
Hans-Kristian Arntzen
ec87a03655 MSL: Plumb through member state to image/sampler types. 2024-01-05 16:08:29 +01:00
Hans-Kristian Arntzen
cffc08a542 Add missing reference file. 2024-01-05 14:54:21 +01:00
Hans-Kristian Arntzen
117161dd54
Merge pull request #2255 from KhronosGroup/pr-2247
HLSL: Fix issue with vec4 straddle rules in substructs.
2024-01-05 14:24:21 +01:00
Hans-Kristian Arntzen
bedc49b859 HLSL: Fix issue with vec4 straddle rules in substructs. 2024-01-05 14:07:05 +01:00
Hans-Kristian Arntzen
eabcc5e5b2
Merge pull request #2254 from KhronosGroup/roll-deps
Roll deps
2024-01-05 14:02:09 +01:00
Hans-Kristian Arntzen
ec42cb1c41 Roll deps. 2024-01-05 13:36:34 +01:00
Hans-Kristian Arntzen
d9f4280f45
Merge pull request #2252 from KhronosGroup/MoltenVK-1.2.7-for-vulkan-sdk-1.3.273
MSL: Ensure discrete runtime arrays of buffers have known length.
2024-01-05 12:05:37 +01:00
Bill Hollings
b093d271c5
Merge pull request #2248 from billhollings/msl-fix-discrete-runtime-arrays-of-buffers
MSL: Ensure discrete runtime arrays of buffers have known length.
2024-01-03 15:34:29 -05:00
Bill Hollings
d47183c0db MSL: Ensure discrete runtime arrays of buffers have known length.
An entry-point array of buffers, that is not part of a Metal argument
buffer, requires a known length, so it can be emitted as discrete buffers.
For runtime arrays of resources, this can be retrieved from the resource
binding information added via add_msl_resource_binding().

- Redefine get_resource_array_size() to consolidate array sizing using both var
  type, and runtime array sizing from resource bindings, if not found in type.
- Use get_resource_array_size() to fix issue for runtime arrays of buffers.
- Update runtime arrays of images and samplers to use get_resource_array_size().
- Add .DS_Store to .gitignore (unrelated).
2023-12-22 09:12:44 -05:00
Hans-Kristian Arntzen
f349c91274
Merge pull request #2240 from KhronosGroup/fix-2239
MSL: Remove special case for threadgroup array wrapper.
2023-12-07 14:50:19 +01:00
Hans-Kristian Arntzen
2603fbe520 MSL: Remove special case for threadgroup array wrapper.
I cannot find any evidence that this does not actually work.
The original case here was from Epic's PR series in 2019, but I cannot see why it doesn't work.
It might have been a bug in a very old compiler at some point.
2023-12-07 14:41:42 +01:00
Hans-Kristian Arntzen
13aab7f07e
Merge pull request #2243 from KhronosGroup/pr-2238
Land PR 2238
2023-12-07 14:37:24 +01:00
Hans-Kristian Arntzen
833c5936b0 Various nit fixes and improvements from review. 2023-12-07 14:31:36 +01:00
Hans-Kristian Arntzen
e3d1b9afbb Merge branch 'spirtype-refactor' of https://github.com/Hugobros3/SPIRV-Cross into pr-2238 2023-12-07 12:05:48 +01:00
Hans-Kristian Arntzen
e6b013a492
Merge pull request #2214 from KhronosGroup/fix-2206
MSL: Use powr instead of pow.
2023-12-07 11:39:26 +01:00
Hugo Devillers
5065781b15 fix more spirtype::op instances 2023-12-06 18:04:59 +01:00
Hugo Devillers
d019358ce0 fix unintialised struct in SPIRType 2023-12-06 17:54:34 +01:00
Hans-Kristian Arntzen
9da5f7ce45
Merge pull request #2242 from KhronosGroup/fix-2221
MSL: Improve PtrAccessChain handling.
2023-12-06 17:17:21 +01:00
Hans-Kristian Arntzen
ffab994ab0 MSL: Wrap dereferenced ptr-chain expressions. 2023-12-06 17:09:25 +01:00
Hans-Kristian Arntzen
4e3f66b5d5 MSL: Add test for vector-to-scalar variable pointer. 2023-12-06 17:09:25 +01:00
Hans-Kristian Arntzen
6dbec321d2 MSL: Defererence pointer expressions before traversing access chain.
Exception is struct which does -> for us.
2023-12-06 17:09:25 +01:00
Hans-Kristian Arntzen
0836c81e73 MSL: Only do address-of expression when needed. 2023-12-06 16:18:58 +01:00
Hans-Kristian Arntzen
ed7ba43062 MSL: Use LHS expression to determine whether or not to do array copy.
Makes a difference when using variable pointers.
2023-12-06 16:18:58 +01:00
Hans-Kristian Arntzen
e2886f0946 MSL: Consider PtrAccessChain on array types. 2023-12-06 16:18:58 +01:00
Hans-Kristian Arntzen
766a74dbaf
Merge pull request #2241 from Try/msl-ray-cullmask
MSL: add ray-cull mask
2023-12-06 14:26:25 +01:00
Try
22d6e2e6b6 + missing tests 2023-12-05 21:35:26 +01:00
Try
8f58b84761 MSL: add ray-cull mask 2023-12-05 20:56:48 +01:00
Hans-Kristian Arntzen
7c335edc66
Merge pull request #2237 from cdavis5e/raw-tese-input-patch-vertices
MSL: Fix patch vertex count with raw buffer tese input.
2023-12-05 14:03:29 +01:00
Chip Davis
c0760eb91f MSL: Fix patch vertex count with raw buffer tese input.
We can no longer rely on the `patch_control_point<>` array being
present, so the best we can do is use the value given us at compile
time.

This was an oversight on my part when I initially implemented the
raw-buffer tessellation evaluation input mode. The lack of tests for the
`PatchVertices` built-in almost certainly contributed, so I fixed that
in this patch.

Fixes the test
`dEQP-VK.tessellation.shader_input_output.patch_vertices_in_tes`. This
is the last failing test under `dEQP-VK.tessellation`.
2023-12-04 14:24:16 -08:00
Hugo Devillers
55e08aff31 use 'op' as the ground truth in is_array and is_pointer 2023-12-04 18:49:46 +01:00
Hugo Devillers
7c7b6e600f msl: look at the pointee type in emit_tessellation_access_chain 2023-12-04 18:49:22 +01:00
Hugo Devillers
8632f67109 msl: look at the actual variable element type in to_member_reference 2023-12-04 18:36:39 +01:00
Hugo Devillers
5b1881041e msl: make build_extended_vector_type deal with compound types better 2023-12-04 18:33:53 +01:00
Hugo Devillers
2c3734df75 msl: fix many instances of SPIRType.self being incorrectly set 2023-12-04 18:33:27 +01:00
Hugo Devillers
ee7aaaf662 msl: fix two more instances of the wrong op in SPIRType 2023-12-04 18:32:56 +01:00
Hugo Devillers
738bfd49e3 msl: fix test regressions with samplemask 2023-12-04 12:47:15 +01:00
Hugo Devillers
af92037acb fix a bunch of case where SPIRType::op is wrong/corrupted 2023-11-30 15:42:46 +01:00
Hugo Devillers
950cad5913 Added an Op field to SPIRType
This field allows telling what the 'head' of the type is, without having to look at parent types.
2023-11-30 12:28:50 +01:00
Hans-Kristian Arntzen
a3da0e87fa
Merge pull request #2235 from KhronosGroup/fix-2212
MSL: Implement MSL 3.1 image atomics natively
2023-11-29 14:48:20 +01:00
Hans-Kristian Arntzen
f3573b9f1e MSL: Throw on emulated image array atomics. 2023-11-29 14:17:57 +01:00
Hans-Kristian Arntzen
a326b3ea3b MSL: Support using the offline Metal Windows toolchain for validation. 2023-11-29 13:53:23 +01:00
Hans-Kristian Arntzen
e33670e794 MSL: Add some image atomic tests for 3.1. 2023-11-29 13:53:23 +01:00