MCPcopy Create free account
hub / github.com/KhronosGroup/Vulkan-ValidationLayers / IsValidPlaneAspect

Function IsValidPlaneAspect

layers/utils/image_utils.cpp:211–222  ·  view source on GitHub ↗

vkspec.html#formats-planes-image-aspect

Source from the content-addressed store, hash-verified

209
210// vkspec.html#formats-planes-image-aspect
211bool IsValidPlaneAspect(VkFormat format, VkImageAspectFlags aspect_mask) {
212 const uint32_t planes = vkuFormatPlaneCount(format);
213 constexpr VkImageAspectFlags valid_planes =
214 VK_IMAGE_ASPECT_PLANE_0_BIT | VK_IMAGE_ASPECT_PLANE_1_BIT | VK_IMAGE_ASPECT_PLANE_2_BIT;
215
216 if (((aspect_mask & valid_planes) == aspect_mask) && (aspect_mask != 0)) {
217 if ((planes == 3) || ((planes == 2) && ((aspect_mask & VK_IMAGE_ASPECT_PLANE_2_BIT) == 0))) {
218 return true;
219 }
220 }
221 return false; // Expects calls to make sure it is a multi-planar format
222}
223
224bool IsOnlyOneValidPlaneAspect(VkFormat format, VkImageAspectFlags aspect_mask) {
225 const bool multiple_bits = aspect_mask != 0 && !IsPowerOfTwo(aspect_mask);

Callers 5

TEST_FFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected