aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2019-03-07 10:22:31 -0700
committerMark Lobodzinski <mark@lunarg.com>2019-03-08 10:37:56 -0700
commit60e79032d29580d0dbdf4f73835c294fafa7a54a (patch)
tree3ed9905dcf311f5f12815749a9e4980610fb5557
parent97f83f7f0c58037be1a10e11aa0f2207506b7523 (diff)
downloadvulkan-validation-layers-60e79032d29580d0dbdf4f73835c294fafa7a54a.tar.gz
layers: Update Features/Extensions helper funcs
Change-Id: I7f59e14c0681a98dfb1c15a78d237e400a8a100e
-rw-r--r--layers/buffer_validation.cpp95
-rw-r--r--layers/core_validation.cpp30
-rw-r--r--layers/core_validation.h4
-rw-r--r--layers/descriptor_sets.cpp4
-rw-r--r--layers/shader_validation.cpp14
5 files changed, 72 insertions, 75 deletions
diff --git a/layers/buffer_validation.cpp b/layers/buffer_validation.cpp
index b5c71f86d..d9bad017a 100644
--- a/layers/buffer_validation.cpp
+++ b/layers/buffer_validation.cpp
@@ -72,7 +72,7 @@ void CoreChecks::SetLayout(layer_data *device_data, OBJECT *pObject, VkImage ima
SetLayout(device_data, pObject, imgpair, layout, VK_IMAGE_ASPECT_DEPTH_BIT);
SetLayout(device_data, pObject, imgpair, layout, VK_IMAGE_ASPECT_STENCIL_BIT);
SetLayout(device_data, pObject, imgpair, layout, VK_IMAGE_ASPECT_METADATA_BIT);
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
SetLayout(device_data, pObject, imgpair, layout, VK_IMAGE_ASPECT_PLANE_0_BIT_KHR);
SetLayout(device_data, pObject, imgpair, layout, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR);
SetLayout(device_data, pObject, imgpair, layout, VK_IMAGE_ASPECT_PLANE_2_BIT_KHR);
@@ -160,7 +160,7 @@ bool CoreChecks::FindCmdBufLayout(layer_data const *device_data, GLOBAL_CB_NODE
FindLayoutVerifyNode(device_data, pCB, imgpair, node, VK_IMAGE_ASPECT_DEPTH_BIT);
FindLayoutVerifyNode(device_data, pCB, imgpair, node, VK_IMAGE_ASPECT_STENCIL_BIT);
FindLayoutVerifyNode(device_data, pCB, imgpair, node, VK_IMAGE_ASPECT_METADATA_BIT);
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
FindLayoutVerifyNode(device_data, pCB, imgpair, node, VK_IMAGE_ASPECT_PLANE_0_BIT_KHR);
FindLayoutVerifyNode(device_data, pCB, imgpair, node, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR);
FindLayoutVerifyNode(device_data, pCB, imgpair, node, VK_IMAGE_ASPECT_PLANE_2_BIT_KHR);
@@ -182,7 +182,7 @@ bool CoreChecks::FindGlobalLayout(layer_data *device_data, ImageSubresourcePair
FindLayoutVerifyLayout(device_data, imgpair, layout, VK_IMAGE_ASPECT_DEPTH_BIT);
FindLayoutVerifyLayout(device_data, imgpair, layout, VK_IMAGE_ASPECT_STENCIL_BIT);
FindLayoutVerifyLayout(device_data, imgpair, layout, VK_IMAGE_ASPECT_METADATA_BIT);
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
FindLayoutVerifyLayout(device_data, imgpair, layout, VK_IMAGE_ASPECT_PLANE_0_BIT_KHR);
FindLayoutVerifyLayout(device_data, imgpair, layout, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR);
FindLayoutVerifyLayout(device_data, imgpair, layout, VK_IMAGE_ASPECT_PLANE_2_BIT_KHR);
@@ -239,7 +239,7 @@ bool CoreChecks::FindLayout(layer_data *device_data,
FindLayout(imageLayoutMap, imgpair, layout, VK_IMAGE_ASPECT_DEPTH_BIT);
FindLayout(imageLayoutMap, imgpair, layout, VK_IMAGE_ASPECT_STENCIL_BIT);
FindLayout(imageLayoutMap, imgpair, layout, VK_IMAGE_ASPECT_METADATA_BIT);
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
FindLayout(imageLayoutMap, imgpair, layout, VK_IMAGE_ASPECT_PLANE_0_BIT_KHR);
FindLayout(imageLayoutMap, imgpair, layout, VK_IMAGE_ASPECT_PLANE_1_BIT_KHR);
FindLayout(imageLayoutMap, imgpair, layout, VK_IMAGE_ASPECT_PLANE_2_BIT_KHR);
@@ -299,7 +299,7 @@ void CoreChecks::SetImageLayout(layer_data *device_data, GLOBAL_CB_NODE *cb_node
}
}
// For multiplane images, IMAGE_ASPECT_COLOR is an alias for all of the plane bits
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
if (FormatIsMultiplane(image_state->createInfo.format)) {
if (sub.aspectMask & VK_IMAGE_ASPECT_COLOR_BIT) {
sub.aspectMask &= ~VK_IMAGE_ASPECT_COLOR_BIT;
@@ -419,7 +419,7 @@ bool CoreChecks::ValidateRenderPassLayoutAgainstFramebufferImageUsage(layer_data
report_data->FormatHandle(renderpass).c_str(), report_data->FormatHandle(image_view).c_str());
}
- if (GetDeviceExtensions(device_data)->vk_khr_maintenance2) {
+ if (GetDeviceExtensions()->vk_khr_maintenance2) {
if ((layout == VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL ||
layout == VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL ||
layout == VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL ||
@@ -837,7 +837,7 @@ bool CoreChecks::ValidateBarriersToImages(layer_data *device_data, GLOBAL_CB_NOD
skip |= ValidateImageAspectLayout(device_data, cb_state, img_barrier, level, layer, VK_IMAGE_ASPECT_DEPTH_BIT);
skip |= ValidateImageAspectLayout(device_data, cb_state, img_barrier, level, layer, VK_IMAGE_ASPECT_STENCIL_BIT);
skip |= ValidateImageAspectLayout(device_data, cb_state, img_barrier, level, layer, VK_IMAGE_ASPECT_METADATA_BIT);
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
skip |= ValidateImageAspectLayout(device_data, cb_state, img_barrier, level, layer,
VK_IMAGE_ASPECT_PLANE_0_BIT_KHR);
skip |= ValidateImageAspectLayout(device_data, cb_state, img_barrier, level, layer,
@@ -1081,7 +1081,7 @@ void CoreChecks::TransitionImageLayouts(layer_data *device_data, GLOBAL_CB_NODE
// For multiplanar formats, IMAGE_ASPECT_COLOR is equivalent to adding the aspect of the individual planes
VkImageAspectFlags aspect_mask = mem_barrier->subresourceRange.aspectMask;
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
if (FormatIsMultiplane(image_create_info->format)) {
if (aspect_mask & VK_IMAGE_ASPECT_COLOR_BIT) {
aspect_mask &= ~VK_IMAGE_ASPECT_COLOR_BIT;
@@ -1105,7 +1105,7 @@ void CoreChecks::TransitionImageLayouts(layer_data *device_data, GLOBAL_CB_NODE
VK_IMAGE_ASPECT_STENCIL_BIT);
TransitionImageAspectLayout(device_data, cb_state, mem_barrier, level, layer, aspect_mask,
VK_IMAGE_ASPECT_METADATA_BIT);
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
TransitionImageAspectLayout(device_data, cb_state, mem_barrier, level, layer, aspect_mask,
VK_IMAGE_ASPECT_PLANE_0_BIT_KHR);
TransitionImageAspectLayout(device_data, cb_state, mem_barrier, level, layer, aspect_mask,
@@ -1152,7 +1152,7 @@ bool CoreChecks::VerifyImageLayout(layer_data const *device_data, GLOBAL_CB_NODE
"%s: For optimal performance image %s layout should be %s instead of GENERAL.", caller,
report_data->FormatHandle(image).c_str(), string_VkImageLayout(optimal_layout));
}
- } else if (GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image) {
+ } else if (GetDeviceExtensions()->vk_khr_shared_presentable_image) {
if (image_state->shared_presentable) {
if (VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR != explicit_layout) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
@@ -1369,7 +1369,7 @@ bool CoreChecks::PreCallValidateCreateImage(VkDevice device, const VkImageCreate
layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
bool skip = false;
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
skip |= ValidateCreateImageANDROID(device_data, report_data, pCreateInfo);
} else { // These checks are omitted or replaced when Android HW Buffer extension is active
if (pCreateInfo->format == VK_FORMAT_UNDEFINED) {
@@ -1451,15 +1451,14 @@ bool CoreChecks::PreCallValidateCreateImage(VkDevice device, const VkImageCreate
}
}
- if ((pCreateInfo->flags & VK_IMAGE_CREATE_SPARSE_ALIASED_BIT) &&
- (!GetEnabledFeatures(device_data)->core.sparseResidencyAliased)) {
+ if ((pCreateInfo->flags & VK_IMAGE_CREATE_SPARSE_ALIASED_BIT) && (!GetEnabledFeatures()->core.sparseResidencyAliased)) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
"VUID-VkImageCreateInfo-flags-01924",
"vkCreateImage(): the sparseResidencyAliased device feature is disabled: Images cannot be created with the "
"VK_IMAGE_CREATE_SPARSE_ALIASED_BIT set.");
}
- if (GetDeviceExtensions(device_data)->vk_khr_maintenance2) {
+ if (GetDeviceExtensions()->vk_khr_maintenance2) {
if (pCreateInfo->flags & VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR) {
if (!(FormatIsCompressed_BC(pCreateInfo->format) || FormatIsCompressed_ASTC_LDR(pCreateInfo->format) ||
FormatIsCompressed_ETC2_EAC(pCreateInfo->format))) {
@@ -1498,7 +1497,7 @@ void CoreChecks::PostCallRecordCreateImage(VkDevice device, const VkImageCreateI
image_state.layout = pCreateInfo->initialLayout;
image_state.format = pCreateInfo->format;
IMAGE_STATE *is_node = new IMAGE_STATE(*pImage, pCreateInfo);
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
RecordCreateImageANDROID(pCreateInfo, is_node);
}
GetImageMap(device_data)->insert(std::make_pair(*pImage, std::unique_ptr<IMAGE_STATE>(is_node)));
@@ -1607,7 +1606,7 @@ bool CoreChecks::VerifyClearImageLayout(layer_data *device_data, GLOBAL_CB_NODE
"%s: Layout for cleared image should be TRANSFER_DST_OPTIMAL instead of GENERAL.", func_name);
}
} else if (VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR == dest_image_layout) {
- if (!GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image) {
+ if (!GetDeviceExtensions()->vk_khr_shared_presentable_image) {
// TODO: Add unique error id when available.
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT,
HandleToUint64(image_state->image), 0,
@@ -1697,7 +1696,7 @@ bool CoreChecks::PreCallValidateCmdClearColorImage(VkCommandBuffer commandBuffer
skip |= ValidateCmdQueueFlags(device_data, cb_node, "vkCmdClearColorImage()", VK_QUEUE_GRAPHICS_BIT | VK_QUEUE_COMPUTE_BIT,
"VUID-vkCmdClearColorImage-commandBuffer-cmdpool");
skip |= ValidateCmd(device_data, cb_node, CMD_CLEARCOLORIMAGE, "vkCmdClearColorImage()");
- if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions()->vk_khr_maintenance1) {
skip |= ValidateImageFormatFeatureFlags(device_data, image_state, VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
"vkCmdClearColorImage", "VUID-vkCmdClearColorImage-image-01993",
"VUID-vkCmdClearColorImage-image-01993");
@@ -1743,7 +1742,7 @@ bool CoreChecks::PreCallValidateCmdClearDepthStencilImage(VkCommandBuffer comman
skip |= ValidateCmdQueueFlags(device_data, cb_node, "vkCmdClearDepthStencilImage()", VK_QUEUE_GRAPHICS_BIT,
"VUID-vkCmdClearDepthStencilImage-commandBuffer-cmdpool");
skip |= ValidateCmd(device_data, cb_node, CMD_CLEARDEPTHSTENCILIMAGE, "vkCmdClearDepthStencilImage()");
- if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions()->vk_khr_maintenance1) {
skip |= ValidateImageFormatFeatureFlags(device_data, image_state, VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
"vkCmdClearDepthStencilImage", "VUID-vkCmdClearDepthStencilImage-image-01994",
"VUID-vkCmdClearDepthStencilImage-image-01994");
@@ -2181,7 +2180,7 @@ bool CoreChecks::ValidateImageCopyData(const layer_data *device_data, const debu
region.srcOffset.z);
}
- if (GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetDeviceExtensions()->vk_khr_maintenance1) {
if (src_state->createInfo.imageType == VK_IMAGE_TYPE_3D) {
if ((0 != region.srcSubresource.baseArrayLayer) || (1 != region.srcSubresource.layerCount)) {
skip |=
@@ -2206,7 +2205,7 @@ bool CoreChecks::ValidateImageCopyData(const layer_data *device_data, const debu
}
// Source checks that apply only to compressed images (or to _422 images if ycbcr enabled)
- bool ext_ycbcr = GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion;
+ bool ext_ycbcr = GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion;
if (FormatIsCompressed(src_state->createInfo.format) ||
(ext_ycbcr && FormatIsSinglePlane_422(src_state->createInfo.format))) {
const VkExtent3D block_size = FormatTexelBlockExtent(src_state->createInfo.format);
@@ -2298,7 +2297,7 @@ bool CoreChecks::ValidateImageCopyData(const layer_data *device_data, const debu
}
}
// VU01199 changed with mnt1
- if (GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetDeviceExtensions()->vk_khr_maintenance1) {
if (dst_state->createInfo.imageType == VK_IMAGE_TYPE_3D) {
if ((0 != region.dstSubresource.baseArrayLayer) || (1 != region.dstSubresource.layerCount)) {
skip |=
@@ -2499,7 +2498,7 @@ bool CoreChecks::PreCallValidateCmdCopyImage(VkCommandBuffer commandBuffer, VkIm
region.dstSubresource.layerCount, i, "vkCmdCopyImage", "dstSubresource",
"VUID-vkCmdCopyImage-dstSubresource-01699");
- if (GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetDeviceExtensions()->vk_khr_maintenance1) {
// No chance of mismatch if we're overriding depth slice count
if (!slice_override) {
// The number of depth slices in srcSubresource and dstSubresource must match
@@ -2530,11 +2529,11 @@ bool CoreChecks::PreCallValidateCmdCopyImage(VkCommandBuffer commandBuffer, VkIm
}
// Do multiplane-specific checks, if extension enabled
- if (GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
skip |= CopyImageMultiplaneValidation(device_data, command_buffer, src_image_state, dst_image_state, region);
}
- if (!GetDeviceExtensions(device_data)->vk_khr_sampler_ycbcr_conversion) {
+ if (!GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
// not multi-plane, the aspectMask member of srcSubresource and dstSubresource must match
if (region.srcSubresource.aspectMask != region.dstSubresource.aspectMask) {
char const str[] = "vkCmdCopyImage(): Src and dest aspectMasks for each region must match";
@@ -2691,7 +2690,7 @@ bool CoreChecks::PreCallValidateCmdCopyImage(VkCommandBuffer commandBuffer, VkIm
"VUID-vkCmdCopyImage-srcImage-00126", "vkCmdCopyImage()", "VK_IMAGE_USAGE_TRANSFER_SRC_BIT");
skip |= ValidateImageUsageFlags(device_data, dst_image_state, VK_IMAGE_USAGE_TRANSFER_DST_BIT, true,
"VUID-vkCmdCopyImage-dstImage-00131", "vkCmdCopyImage()", "VK_IMAGE_USAGE_TRANSFER_DST_BIT");
- if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions()->vk_khr_maintenance1) {
skip |=
ValidateImageFormatFeatureFlags(device_data, src_image_state, VK_FORMAT_FEATURE_TRANSFER_SRC_BIT, "vkCmdCopyImage()",
"VUID-vkCmdCopyImage-srcImage-01995", "VUID-vkCmdCopyImage-srcImage-01995");
@@ -2706,11 +2705,11 @@ bool CoreChecks::PreCallValidateCmdCopyImage(VkCommandBuffer commandBuffer, VkIm
skip |= InsideRenderPass(device_data, cb_node, "vkCmdCopyImage()", "VUID-vkCmdCopyImage-renderpass");
bool hit_error = false;
const char *invalid_src_layout_vuid =
- (src_image_state->shared_presentable && GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image)
+ (src_image_state->shared_presentable && GetDeviceExtensions()->vk_khr_shared_presentable_image)
? "VUID-vkCmdCopyImage-srcImageLayout-01917"
: "VUID-vkCmdCopyImage-srcImageLayout-00129";
const char *invalid_dst_layout_vuid =
- (dst_image_state->shared_presentable && GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image)
+ (dst_image_state->shared_presentable && GetDeviceExtensions()->vk_khr_shared_presentable_image)
? "VUID-vkCmdCopyImage-dstImageLayout-01395"
: "VUID-vkCmdCopyImage-dstImageLayout-00134";
for (uint32_t i = 0; i < regionCount; ++i) {
@@ -2943,11 +2942,11 @@ bool CoreChecks::PreCallValidateCmdResolveImage(VkCommandBuffer commandBuffer, V
bool hit_error = false;
const char *invalid_src_layout_vuid =
- (src_image_state->shared_presentable && GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image)
+ (src_image_state->shared_presentable && GetDeviceExtensions()->vk_khr_shared_presentable_image)
? "VUID-vkCmdResolveImage-srcImageLayout-01400"
: "VUID-vkCmdResolveImage-srcImageLayout-00261";
const char *invalid_dst_layout_vuid =
- (dst_image_state->shared_presentable && GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image)
+ (dst_image_state->shared_presentable && GetDeviceExtensions()->vk_khr_shared_presentable_image)
? "VUID-vkCmdResolveImage-dstImageLayout-01401"
: "VUID-vkCmdResolveImage-dstImageLayout-00263";
// For each region, the number of layers in the image subresource should not be zero
@@ -3141,11 +3140,11 @@ bool CoreChecks::PreCallValidateCmdBlitImage(VkCommandBuffer commandBuffer, VkIm
// Do per-region checks
const char *invalid_src_layout_vuid =
- (src_image_state->shared_presentable && GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image)
+ (src_image_state->shared_presentable && GetDeviceExtensions()->vk_khr_shared_presentable_image)
? "VUID-vkCmdBlitImage-srcImageLayout-01398"
: "VUID-vkCmdBlitImage-srcImageLayout-00222";
const char *invalid_dst_layout_vuid =
- (dst_image_state->shared_presentable && GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image)
+ (dst_image_state->shared_presentable && GetDeviceExtensions()->vk_khr_shared_presentable_image)
? "VUID-vkCmdBlitImage-dstImageLayout-01399"
: "VUID-vkCmdBlitImage-dstImageLayout-00227";
for (uint32_t i = 0; i < regionCount; i++) {
@@ -3526,7 +3525,7 @@ bool CoreChecks::ValidateLayouts(layer_data *device_data, RenderPassCreateVersio
case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR:
case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR:
- if (GetDeviceExtensions(device_data)->vk_khr_maintenance2) {
+ if (GetDeviceExtensions()->vk_khr_maintenance2) {
break;
} else {
// Intentionally fall through to generic error message
@@ -3642,7 +3641,7 @@ bool CoreChecks::ValidateLayouts(layer_data *device_data, RenderPassCreateVersio
case VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR:
case VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR:
- if (GetDeviceExtensions(device_data)->vk_khr_maintenance2) {
+ if (GetDeviceExtensions()->vk_khr_maintenance2) {
break;
} else {
// Intentionally fall through to generic error message
@@ -3872,23 +3871,21 @@ bool CoreChecks::PreCallValidateCreateBuffer(VkDevice device, const VkBufferCrea
// TODO: Add check for "VUID-vkCreateBuffer-flags-00911" (sparse address space accounting)
- if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_BINDING_BIT) && (!GetEnabledFeatures(device_data)->core.sparseBinding)) {
+ if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_BINDING_BIT) && (!GetEnabledFeatures()->core.sparseBinding)) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
"VUID-VkBufferCreateInfo-flags-00915",
"vkCreateBuffer(): the sparseBinding device feature is disabled: Buffers cannot be created with the "
"VK_BUFFER_CREATE_SPARSE_BINDING_BIT set.");
}
- if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT) &&
- (!GetEnabledFeatures(device_data)->core.sparseResidencyBuffer)) {
+ if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT) && (!GetEnabledFeatures()->core.sparseResidencyBuffer)) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
"VUID-VkBufferCreateInfo-flags-00916",
"vkCreateBuffer(): the sparseResidencyBuffer device feature is disabled: Buffers cannot be created with "
"the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT set.");
}
- if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_ALIASED_BIT) &&
- (!GetEnabledFeatures(device_data)->core.sparseResidencyAliased)) {
+ if ((pCreateInfo->flags & VK_BUFFER_CREATE_SPARSE_ALIASED_BIT) && (!GetEnabledFeatures()->core.sparseResidencyAliased)) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
"VUID-VkBufferCreateInfo-flags-00917",
"vkCreateBuffer(): the sparseResidencyAliased device feature is disabled: Buffers cannot be created with "
@@ -3907,7 +3904,7 @@ bool CoreChecks::PreCallValidateCreateBuffer(VkDevice device, const VkBufferCrea
}
if ((pCreateInfo->flags & VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_EXT) &&
- !GetEnabledFeatures(device_data)->buffer_address.bufferDeviceAddressCaptureReplay) {
+ !GetEnabledFeatures()->buffer_address.bufferDeviceAddressCaptureReplay) {
skip |= log_msg(
report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
"VUID-VkBufferCreateInfo-flags-02605",
@@ -3916,7 +3913,7 @@ bool CoreChecks::PreCallValidateCreateBuffer(VkDevice device, const VkBufferCrea
}
if ((pCreateInfo->usage & VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT_EXT) &&
- !GetEnabledFeatures(device_data)->buffer_address.bufferDeviceAddress) {
+ !GetEnabledFeatures()->buffer_address.bufferDeviceAddress) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
"VUID-VkBufferCreateInfo-usage-02606",
"vkCreateBuffer(): the bufferDeviceAddress device feature is disabled: Buffers cannot be created with "
@@ -4119,7 +4116,7 @@ bool CoreChecks::ValidateImageSubresourceRange(const layer_data *device_data, co
bool CoreChecks::ValidateCreateImageViewSubresourceRange(const layer_data *device_data, const IMAGE_STATE *image_state,
bool is_imageview_2d_type,
const VkImageSubresourceRange &subresourceRange) {
- bool is_khr_maintenance1 = GetDeviceExtensions(device_data)->vk_khr_maintenance1;
+ bool is_khr_maintenance1 = GetDeviceExtensions()->vk_khr_maintenance1;
bool is_image_slicable = image_state->createInfo.imageType == VK_IMAGE_TYPE_3D &&
(image_state->createInfo.flags & VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR);
bool is_3D_to_2D_map = is_khr_maintenance1 && is_image_slicable && is_imageview_2d_type;
@@ -4260,7 +4257,7 @@ bool CoreChecks::PreCallValidateCreateImageView(VkDevice device, const VkImageVi
ss.str().c_str());
}
} else {
- if ((!GetDeviceExtensions(device_data)->vk_khr_maintenance2 ||
+ if ((!GetDeviceExtensions()->vk_khr_maintenance2 ||
!(image_flags & VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR))) {
// Format MUST be compatible (in the same format compatibility class) as the format the image was created with
if (FormatCompatibilityClass(image_format) != FormatCompatibilityClass(view_format)) {
@@ -4318,7 +4315,7 @@ bool CoreChecks::PreCallValidateCreateImageView(VkDevice device, const VkImageVi
}
break;
case VK_IMAGE_TYPE_3D:
- if (GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetDeviceExtensions()->vk_khr_maintenance1) {
if (view_type != VK_IMAGE_VIEW_TYPE_3D) {
if ((view_type == VK_IMAGE_VIEW_TYPE_2D || view_type == VK_IMAGE_VIEW_TYPE_2D_ARRAY)) {
if (!(image_flags & VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR)) {
@@ -4358,7 +4355,7 @@ bool CoreChecks::PreCallValidateCreateImageView(VkDevice device, const VkImageVi
}
// External format checks needed when VK_ANDROID_external_memory_android_hardware_buffer enabled
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
skip |= ValidateCreateImageViewANDROID(device_data, pCreateInfo);
}
@@ -4917,7 +4914,7 @@ bool CoreChecks::PreCallValidateCmdCopyImageToBuffer(VkCommandBuffer commandBuff
skip |= ValidateBufferUsageFlags(device_data, dst_buffer_state, VK_BUFFER_USAGE_TRANSFER_DST_BIT, true,
"VUID-vkCmdCopyImageToBuffer-dstBuffer-00191", "vkCmdCopyImageToBuffer()",
"VK_BUFFER_USAGE_TRANSFER_DST_BIT");
- if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions()->vk_khr_maintenance1) {
skip |= ValidateImageFormatFeatureFlags(device_data, src_image_state, VK_FORMAT_FEATURE_TRANSFER_SRC_BIT,
"vkCmdCopyImageToBuffer()", "VUID-vkCmdCopyImageToBuffer-srcImage-01998",
"VUID-vkCmdCopyImageToBuffer-srcImage-01998");
@@ -4925,7 +4922,7 @@ bool CoreChecks::PreCallValidateCmdCopyImageToBuffer(VkCommandBuffer commandBuff
skip |= InsideRenderPass(device_data, cb_node, "vkCmdCopyImageToBuffer()", "VUID-vkCmdCopyImageToBuffer-renderpass");
bool hit_error = false;
const char *src_invalid_layout_vuid =
- (src_image_state->shared_presentable && GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image)
+ (src_image_state->shared_presentable && GetDeviceExtensions()->vk_khr_shared_presentable_image)
? "VUID-vkCmdCopyImageToBuffer-srcImageLayout-01397"
: "VUID-vkCmdCopyImageToBuffer-srcImageLayout-00190";
for (uint32_t i = 0; i < regionCount; ++i) {
@@ -5001,7 +4998,7 @@ bool CoreChecks::PreCallValidateCmdCopyBufferToImage(VkCommandBuffer commandBuff
skip |= ValidateImageUsageFlags(device_data, dst_image_state, VK_IMAGE_USAGE_TRANSFER_DST_BIT, true,
"VUID-vkCmdCopyBufferToImage-dstImage-00177", "vkCmdCopyBufferToImage()",
"VK_IMAGE_USAGE_TRANSFER_DST_BIT");
- if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions(device_data)->vk_khr_maintenance1) {
+ if (GetApiVersion(device_data) >= VK_API_VERSION_1_1 || GetDeviceExtensions()->vk_khr_maintenance1) {
skip |= ValidateImageFormatFeatureFlags(device_data, dst_image_state, VK_FORMAT_FEATURE_TRANSFER_DST_BIT,
"vkCmdCopyBufferToImage()", "VUID-vkCmdCopyBufferToImage-dstImage-01997",
"VUID-vkCmdCopyBufferToImage-dstImage-01997");
@@ -5009,7 +5006,7 @@ bool CoreChecks::PreCallValidateCmdCopyBufferToImage(VkCommandBuffer commandBuff
skip |= InsideRenderPass(device_data, cb_node, "vkCmdCopyBufferToImage()", "VUID-vkCmdCopyBufferToImage-renderpass");
bool hit_error = false;
const char *dst_invalid_layout_vuid =
- (dst_image_state->shared_presentable && GetDeviceExtensions(device_data)->vk_khr_shared_presentable_image)
+ (dst_image_state->shared_presentable && GetDeviceExtensions()->vk_khr_shared_presentable_image)
? "VUID-vkCmdCopyBufferToImage-dstImageLayout-01396"
: "VUID-vkCmdCopyBufferToImage-dstImageLayout-00181";
for (uint32_t i = 0; i < regionCount; ++i) {
@@ -5123,7 +5120,7 @@ bool CoreChecks::PreCallValidateGetImageSubresourceLayout(VkDevice device, VkIma
}
}
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
skip |= ValidateGetImageSubresourceLayoutANDROID(device_data, image);
}
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index 73498997f..51b66c793 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -3708,7 +3708,7 @@ bool CoreChecks::PreCallValidateAllocateMemory(VkDevice device, const VkMemoryAl
device_data->phys_dev_props.limits.maxMemoryAllocationCount);
}
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
skip |= ValidateAllocateMemoryANDROID(device_data, pAllocateInfo);
} else {
if (0 == pAllocateInfo->allocationSize) {
@@ -4524,7 +4524,7 @@ void CoreChecks::PostCallRecordGetBufferMemoryRequirements2KHR(VkDevice device,
bool CoreChecks::ValidateGetImageMemoryRequirements2(layer_data *dev_data, const VkImageMemoryRequirementsInfo2 *pInfo) {
bool skip = false;
- if (GetDeviceExtensions(dev_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
skip |= ValidateGetImageMemoryRequirements2ANDROID(dev_data, pInfo->image);
}
return skip;
@@ -5059,9 +5059,9 @@ std::unordered_map<VkImageView, std::unique_ptr<IMAGE_VIEW_STATE>> *CoreChecks::
return &device_data->imageViewMap;
}
-const DeviceFeatures *CoreChecks::GetEnabledFeatures(const layer_data *device_data) { return &device_data->enabled_features; }
+const DeviceFeatures *CoreChecks::GetEnabledFeatures() { return &enabled_features; }
-const DeviceExtensions *CoreChecks::GetDeviceExtensions(const layer_data *device_data) { return &device_data->device_extensions; }
+const DeviceExtensions *CoreChecks::GetDeviceExtensions() { return &device_extensions; }
GpuValidationState *CoreChecks::GetGpuValidationState(layer_data *device_data) { return &device_data->gpu_validation_state; }
const GpuValidationState *CoreChecks::GetGpuValidationState(const layer_data *device_data) {
@@ -6545,7 +6545,7 @@ bool CoreChecks::PreCallValidateCmdSetExclusiveScissorNV(VkCommandBuffer command
"vkCmdSetExclusiveScissorNV(): pipeline was created without VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV flag.");
}
- if (!GetEnabledFeatures(device_data)->exclusive_scissor.exclusiveScissor) {
+ if (!GetEnabledFeatures()->exclusive_scissor.exclusiveScissor) {
skip |= log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
HandleToUint64(commandBuffer), "VUID-vkCmdSetExclusiveScissorNV-None-02031",
"vkCmdSetExclusiveScissorNV: The exclusiveScissor feature is disabled.");
@@ -6572,7 +6572,7 @@ bool CoreChecks::PreCallValidateCmdBindShadingRateImageNV(VkCommandBuffer comman
skip |= ValidateCmd(device_data, cb_state, CMD_BINDSHADINGRATEIMAGE, "vkCmdBindShadingRateImageNV()");
- if (!GetEnabledFeatures(device_data)->shading_rate_image.shadingRateImage) {
+ if (!GetEnabledFeatures()->shading_rate_image.shadingRateImage) {
skip |= log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
HandleToUint64(commandBuffer), "VUID-vkCmdBindShadingRateImageNV-None-02058",
"vkCmdBindShadingRateImageNV: The shadingRateImage feature is disabled.");
@@ -6648,7 +6648,7 @@ bool CoreChecks::PreCallValidateCmdSetViewportShadingRatePaletteNV(VkCommandBuff
skip |= ValidateCmd(device_data, cb_state, CMD_SETVIEWPORTSHADINGRATEPALETTE, "vkCmdSetViewportShadingRatePaletteNV()");
- if (!GetEnabledFeatures(device_data)->shading_rate_image.shadingRateImage) {
+ if (!GetEnabledFeatures()->shading_rate_image.shadingRateImage) {
skip |= log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_BUFFER_EXT,
HandleToUint64(commandBuffer), "VUID-vkCmdSetViewportShadingRatePaletteNV-None-02064",
"vkCmdSetViewportShadingRatePaletteNV: The shadingRateImage feature is disabled.");
@@ -7739,7 +7739,7 @@ bool CoreChecks::ValidateImageBarrierImage(layer_data *device_data, const char *
if (sub_desc.pDepthStencilAttachment && sub_desc.pDepthStencilAttachment->attachment == attach_index) {
sub_image_layout = sub_desc.pDepthStencilAttachment->layout;
sub_image_found = true;
- } else if (GetDeviceExtensions(device_data)->vk_khr_depth_stencil_resolve) {
+ } else if (GetDeviceExtensions()->vk_khr_depth_stencil_resolve) {
const auto *resolve = lvl_find_in_chain<VkSubpassDescriptionDepthStencilResolveKHR>(sub_desc.pNext);
if (resolve && resolve->pDepthStencilResolveAttachment &&
resolve->pDepthStencilResolveAttachment->attachment == attach_index) {
@@ -10174,7 +10174,7 @@ bool CoreChecks::PreCallValidateCreateRenderPass2KHR(VkDevice device, const VkRe
layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
bool skip = false;
- if (GetDeviceExtensions(device_data)->vk_khr_depth_stencil_resolve) {
+ if (GetDeviceExtensions()->vk_khr_depth_stencil_resolve) {
skip |= ValidateDepthStencilResolve(device_data->report_data, device_data->phys_dev_ext_props.depth_stencil_resolve_props,
pCreateInfo);
}
@@ -13411,7 +13411,7 @@ void CoreChecks::PreCallRecordCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer co
bool CoreChecks::ValidateCreateSamplerYcbcrConversion(const layer_data *device_data, const char *func_name,
const VkSamplerYcbcrConversionCreateInfo *create_info) {
bool skip = false;
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
skip |= ValidateCreateSamplerYcbcrConversionANDROID(device_data, create_info);
} else { // Not android hardware buffer
if (VK_FORMAT_UNDEFINED == create_info->format) {
@@ -13442,7 +13442,7 @@ bool CoreChecks::PreCallValidateCreateSamplerYcbcrConversionKHR(VkDevice device,
void CoreChecks::RecordCreateSamplerYcbcrConversionState(layer_data *device_data,
const VkSamplerYcbcrConversionCreateInfo *create_info,
VkSamplerYcbcrConversion ycbcr_conversion) {
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
RecordCreateSamplerYcbcrConversionANDROID(device_data, create_info, ycbcr_conversion);
}
}
@@ -13468,7 +13468,7 @@ void CoreChecks::PostCallRecordDestroySamplerYcbcrConversion(VkDevice device, Vk
const VkAllocationCallbacks *pAllocator) {
layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
if (!ycbcrConversion) return;
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
RecordDestroySamplerYcbcrConversionANDROID(device_data, ycbcrConversion);
}
}
@@ -13477,7 +13477,7 @@ void CoreChecks::PostCallRecordDestroySamplerYcbcrConversionKHR(VkDevice device,
const VkAllocationCallbacks *pAllocator) {
layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
if (!ycbcrConversion) return;
- if (GetDeviceExtensions(device_data)->vk_android_external_memory_android_hardware_buffer) {
+ if (GetDeviceExtensions()->vk_android_external_memory_android_hardware_buffer) {
RecordDestroySamplerYcbcrConversionANDROID(device_data, ycbcrConversion);
}
}
@@ -13486,13 +13486,13 @@ bool CoreChecks::PreCallValidateGetBufferDeviceAddressEXT(VkDevice device, const
layer_data *device_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
bool skip = false;
- if (!GetEnabledFeatures(device_data)->buffer_address.bufferDeviceAddress) {
+ if (!GetEnabledFeatures()->buffer_address.bufferDeviceAddress) {
skip |= log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
HandleToUint64(pInfo->buffer), "VUID-vkGetBufferDeviceAddressEXT-None-02598",
"The bufferDeviceAddress feature must: be enabled.");
}
- if (device_data->physical_device_count > 1 && !GetEnabledFeatures(device_data)->buffer_address.bufferDeviceAddressMultiDevice) {
+ if (device_data->physical_device_count > 1 && !GetEnabledFeatures()->buffer_address.bufferDeviceAddressMultiDevice) {
skip |= log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT,
HandleToUint64(pInfo->buffer), "VUID-vkGetBufferDeviceAddressEXT-device-02599",
"If device was created with multiple physical devices, then the "
diff --git a/layers/core_validation.h b/layers/core_validation.h
index e330e59e1..3756aaeb8 100644
--- a/layers/core_validation.h
+++ b/layers/core_validation.h
@@ -262,7 +262,7 @@ class CoreChecks : public ValidationObject {
FRAMEBUFFER_STATE* GetFramebufferState(VkFramebuffer framebuffer);
COMMAND_POOL_NODE* GetCommandPoolNode(VkCommandPool pool);
shader_module const* GetShaderModuleState(VkShaderModule module);
- const DeviceFeatures* GetEnabledFeatures(const layer_data* device_data);
+ const DeviceFeatures* GetEnabledFeatures();
FENCE_NODE* GetFenceNode(layer_data* dev_data, VkFence fence);
EVENT_STATE* GetEventNode(layer_data* dev_data, VkEvent event);
QUERY_POOL_NODE* GetQueryPoolNode(layer_data* dev_data, VkQueryPool query_pool);
@@ -529,7 +529,7 @@ class CoreChecks : public ValidationObject {
std::unordered_map<VkSamplerYcbcrConversion, uint64_t>* GetYcbcrConversionFormatMap(layer_data*);
std::unordered_set<uint64_t>* GetAHBExternalFormatsSet(layer_data*);
- const DeviceExtensions* GetDeviceExtensions(const layer_data*);
+ const DeviceExtensions* GetDeviceExtensions();
GpuValidationState* GetGpuValidationState(layer_data*);
const GpuValidationState* GetGpuValidationState(const layer_data*);
VkDevice GetDevice(const layer_data*);
diff --git a/layers/descriptor_sets.cpp b/layers/descriptor_sets.cpp
index f1172abb4..cda469501 100644
--- a/layers/descriptor_sets.cpp
+++ b/layers/descriptor_sets.cpp
@@ -2194,7 +2194,7 @@ bool cvdescriptorset::DescriptorSet::VerifyWriteUpdateContents(const VkWriteDesc
*error_msg = error_str.str();
return false;
}
- if (device_data_->GetDeviceExtensions(device_data_)->vk_khr_sampler_ycbcr_conversion) {
+ if (device_data_->GetDeviceExtensions()->vk_khr_sampler_ycbcr_conversion) {
ImageSamplerDescriptor *desc = (ImageSamplerDescriptor *)descriptors_[index].get();
if (desc->IsImmutableSampler()) {
auto sampler_state = device_data_->GetSamplerState(desc->GetSampler());
@@ -2467,7 +2467,7 @@ bool CoreChecks::ValidateAllocateDescriptorSets(const layer_data *dev_data, cons
}
}
}
- if (!GetDeviceExtensions(dev_data)->vk_khr_maintenance1) {
+ if (!GetDeviceExtensions()->vk_khr_maintenance1) {
// Track number of descriptorSets allowable in this pool
if (pool_state->availableSets < p_alloc_info->descriptorSetCount) {
skip |= log_msg(report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT,
diff --git a/layers/shader_validation.cpp b/layers/shader_validation.cpp
index 3e2ac0310..5e4ca59e8 100644
--- a/layers/shader_validation.cpp
+++ b/layers/shader_validation.cpp
@@ -1424,8 +1424,8 @@ bool CoreChecks::ValidateShaderCapabilities(layer_data *dev_data, shader_module
bool skip = false;
auto report_data = GetReportData(dev_data);
- auto const &features = GetEnabledFeatures(dev_data);
- auto const &extensions = GetDeviceExtensions(dev_data);
+ auto const &features = GetEnabledFeatures();
+ auto const &extensions = GetDeviceExtensions();
struct FeaturePointer {
// Callable object to test if this feature is enabled in the given aggregate feature struct
@@ -1972,7 +1972,7 @@ bool CoreChecks::ValidatePointListShaderState(const layer_data *dev_data, const
}
if ((stage == VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT || stage == VK_SHADER_STAGE_GEOMETRY_BIT) &&
- !GetEnabledFeatures(dev_data)->core.shaderTessellationAndGeometryPointSize) {
+ !GetEnabledFeatures()->core.shaderTessellationAndGeometryPointSize) {
if (pointsize_written) {
skip |= log_msg(GetReportData(dev_data), VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
HandleToUint64(pipeline->pipeline), kVUID_Core_Shader_PointSizeBuiltInOverSpecified,
@@ -2283,7 +2283,7 @@ bool CoreChecks::PreCallValidateCreateShaderModule(VkDevice device, const VkShad
return false;
}
- auto have_glsl_shader = GetDeviceExtensions(device_data)->vk_nv_glsl_shader;
+ auto have_glsl_shader = GetDeviceExtensions()->vk_nv_glsl_shader;
if (!have_glsl_shader && (pCreateInfo->codeSize % 4)) {
skip |= log_msg(device_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0,
@@ -2307,11 +2307,11 @@ bool CoreChecks::PreCallValidateCreateShaderModule(VkDevice device, const VkShad
spv_const_binary_t binary{pCreateInfo->pCode, pCreateInfo->codeSize / sizeof(uint32_t)};
spv_diagnostic diag = nullptr;
spv_validator_options options = spvValidatorOptionsCreate();
- if (GetDeviceExtensions(device_data)->vk_khr_relaxed_block_layout) {
+ if (GetDeviceExtensions()->vk_khr_relaxed_block_layout) {
spvValidatorOptionsSetRelaxBlockLayout(options, true);
}
- if (GetDeviceExtensions(device_data)->vk_ext_scalar_block_layout &&
- GetEnabledFeatures(device_data)->scalar_block_layout_features.scalarBlockLayout == VK_TRUE) {
+ if (GetDeviceExtensions()->vk_ext_scalar_block_layout &&
+ GetEnabledFeatures()->scalar_block_layout_features.scalarBlockLayout == VK_TRUE) {
spvValidatorOptionsSetScalarBlockLayout(options, true);
}
spv_valid = spvValidateWithOptions(ctx, options, &binary, &diag);