## C Specification

Bits which can be set in VkImageConstraintsInfoFlagBitsFUCHSIA::flags include:

// Provided by VK_FUCHSIA_buffer_collection
typedef enum VkImageConstraintsInfoFlagBitsFUCHSIA {
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA = 0x00000004,
VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA = 0x00000008,
VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = 0x00000010,
} VkImageConstraintsInfoFlagBitsFUCHSIA;

## Description

General hints about the type of memory that should be allocated by Sysmem based on the expected usage of the images in the buffer collection include:

• VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA

• VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA

• VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA

• VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA

For protected memory:

• VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA specifies that protected memory is optional for the buffer collection.

Note that if all participants in the buffer collection (Vulkan or otherwise) specify that protected memory is optional, Sysmem will not allocate protected memory.