* Add validation-windows yml for HLSL
Add workgroup size to hlsl-out
* Update Readme with Make target information
* Change runs on to windows-latest
* Remove snapshot file
* Add support for arrayLength to the wgsl frontend
* Fix clippy warning
* Add draft support for array length to the msl backend
* Finalize support for array length in msl
* Convert buffer size to array length in msl backend
* Fix clippy warning
* Fix misleading documentation
* Changes based on review of PR
* Use a fake binding for sizes buffer in msl backend if necessary
* Only generate the msl buffer size structure if globals are present that have unsized arrays
* Make sure to generate separators
* Replace uses_unsized_buffers with !self.runtime_sized_buffers.is_empty()
* Clear self.runtime_sized_buffers
* Run snapshot of shadow.msl
* Add Expression::ArrayLength support to the spirv backend
* Remove wgsl target from the access snapshot test
* Update access.msl snapshot
* Update stack size for msl backend
* Update stack size again for msl backend
* Add support for int8, int16, and int64 as well as null constant structs
* Add support for OpArrayLength to the spirv frontend
* Add hacky OpCopyMemory support to spirv frontend
* Add OpInBoundsAccessChain to spirv frontend
* Add OpLogical(Not)Equal to spirv frontend
* Fix several of the issues raised in the pr
* Fix the Op::ArrayLength match
* Validate accessing structs through pointers
* Remove extraneous type check
* [msl-out] wrap arrays in structs so that they can be returned by functions
* Fix clippy problems
* use a raw array for output fields
* Fix clippy problems
* Apply suggestions
* Remove put_initialization_component
* Check if the array is a constant size
* Don't use the pointer class