alan-baker
alan-baker
In Vulkan, available subgroup operations are queried through the VkPhysicalDeviceSubgroupProperties struct. Within that struct is the field `supportedOperations`. It is a [bitmask](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VkSubgroupFeatureFlagBits) indicating which operations are supported. This should be...
It would be nice to point to another file when specifying the shader in Amber. I find it useful when handwriting SPIR-V to have direct access to the shader separate...
Fixes #2118 * Set a limit of 64k bytes for an array size
As discussed in the [February VF2F](https://docs.google.com/document/d/1r5QbKsqwZxZzD2CqbpteTGJ2bQwTHje_coZ8UCIAyik/edit#bookmark=id.tm3u39mz3uzh), Google proposes that we make specifying several types of attributes more concise. In particular, we would like to promote the arguments of `stage`, `interpolate`,...
* Adds a null initializer syntax (empty braces) that can be used to initialize variables * Allows shared variables to use null initializers
Vulkan SPIR-V and HLSL both support marking buffers as coherent. In SPIR-V, the `Coherent` decoration can be applied to variables or structure members. In HLSL the `globallycoherent` modifier can be...
This was discussed in the 2021-04-28 office hours and relates to #1674. An implementation needs to know which samplers could be used with which textures in order to validate a...
LLVM has started inferring `llvm.is_fpclass` (see https://llvm.org/docs/LangRef.html#llvm-is-fpclass) in some cases including the following CTS tests: * half/vstore_half_rtp * half/vstorea_half_rtp In those cases it only used 0x40 (positive zero). Those tests...
LLVM now canonicalizes some (constant) GEPs to perform address calculations in terms of bytes. This is part of larger change of moving towards `ptradd` instead of `getelementptr`. This will require...
In the SPIRVProducer, constant-initialized global variables are rewritten to be private variables. This seems to work out in practice, but actually leads to invalid IR. Run the following IR as...