[vulkan] Regenerate validation layer sources.
Bug: 61572
Change-Id: Ifb163d8f0346bb96ba21f3a9ab18f79b8ed13123
Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/Vulkan-ValidationLayers/+/436559
Reviewed-by: John Bauman <jbauman@google.com>
diff --git a/layers/generated/best_practices.cpp b/layers/generated/best_practices.cpp
index 800a93d..333253c 100644
--- a/layers/generated/best_practices.cpp
+++ b/layers/generated/best_practices.cpp
@@ -2660,6 +2660,23 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+void BestPractices::PostCallRecordSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo,
+ VkResult result) {
+ ValidationStateTracker::PostCallRecordSetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo, result);
+ if (result != VK_SUCCESS) {
+ static const std::vector<VkResult> error_codes = {VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY};
+ static const std::vector<VkResult> success_codes = {};
+ ValidateReturnCodes("vkSetBufferCollectionImageConstraintsFUCHSIA", result, error_codes, success_codes);
+ }
+}
+
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
void BestPractices::PostCallRecordSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -2694,6 +2711,23 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+void BestPractices::PostCallRecordGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties,
+ VkResult result) {
+ ValidationStateTracker::PostCallRecordGetBufferCollectionProperties2FUCHSIA(device, collection, pProperties, result);
+ if (result != VK_SUCCESS) {
+ static const std::vector<VkResult> error_codes = {VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY};
+ static const std::vector<VkResult> success_codes = {};
+ ValidateReturnCodes("vkGetBufferCollectionProperties2FUCHSIA", result, error_codes, success_codes);
+ }
+}
+
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
void BestPractices::PostCallRecordGetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
diff --git a/layers/generated/best_practices.h b/layers/generated/best_practices.h
index e5ddf84..9c49552 100644
--- a/layers/generated/best_practices.h
+++ b/layers/generated/best_practices.h
@@ -1539,6 +1539,17 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+void PostCallRecordSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo,
+ VkResult result);
+
+
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
void PostCallRecordSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -1561,6 +1572,17 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+void PostCallRecordGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties,
+ VkResult result);
+
+
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
void PostCallRecordGetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
diff --git a/layers/generated/chassis.cpp b/layers/generated/chassis.cpp
index 3e368b5..4bb78d6 100644
--- a/layers/generated/chassis.cpp
+++ b/layers/generated/chassis.cpp
@@ -356,6 +356,7 @@
std::vector<ValidationObject*> local_objs = {
thread_checker_obj, object_tracker_obj, parameter_validation_obj,
core_checks_obj, best_practices_obj, gpu_assisted_obj, debug_printf_obj,
+ sync_validation_obj,
};
for (auto obj : local_objs) {
if (std::find(local_object_dispatch.begin(), local_object_dispatch.end(), obj) == local_object_dispatch.end()) {
@@ -495,6 +496,7 @@
std::vector<ValidationObject *> local_objs = {
thread_safety_obj, stateless_validation_obj, object_tracker_obj,
core_checks_obj, best_practices_obj, gpu_assisted_obj, debug_printf_obj,
+ sync_validation_obj,
};
for (auto obj : local_objs) {
if (std::find(device_interceptor->object_dispatch.begin(), device_interceptor->object_dispatch.end(), obj) ==
@@ -10298,6 +10300,29 @@
return result;
}
+VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) {
+ auto layer_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
+ bool skip = false;
+ for (auto intercept : layer_data->object_dispatch) {
+ auto lock = intercept->read_lock();
+ skip |= (const_cast<const ValidationObject*>(intercept))->PreCallValidateSetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo);
+ if (skip) return VK_ERROR_VALIDATION_FAILED_EXT;
+ }
+ for (auto intercept : layer_data->object_dispatch) {
+ auto lock = intercept->write_lock();
+ intercept->PreCallRecordSetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo);
+ }
+ VkResult result = DispatchSetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo);
+ for (auto intercept : layer_data->object_dispatch) {
+ auto lock = intercept->write_lock();
+ intercept->PostCallRecordSetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo, result);
+ }
+ return result;
+}
+
VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -10365,6 +10390,29 @@
}
return result;
}
+
+VKAPI_ATTR VkResult VKAPI_CALL GetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties) {
+ auto layer_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
+ bool skip = false;
+ for (auto intercept : layer_data->object_dispatch) {
+ auto lock = intercept->read_lock();
+ skip |= (const_cast<const ValidationObject*>(intercept))->PreCallValidateGetBufferCollectionProperties2FUCHSIA(device, collection, pProperties);
+ if (skip) return VK_ERROR_VALIDATION_FAILED_EXT;
+ }
+ for (auto intercept : layer_data->object_dispatch) {
+ auto lock = intercept->write_lock();
+ intercept->PreCallRecordGetBufferCollectionProperties2FUCHSIA(device, collection, pProperties);
+ }
+ VkResult result = DispatchGetBufferCollectionProperties2FUCHSIA(device, collection, pProperties);
+ for (auto intercept : layer_data->object_dispatch) {
+ auto lock = intercept->write_lock();
+ intercept->PostCallRecordGetBufferCollectionProperties2FUCHSIA(device, collection, pProperties, result);
+ }
+ return result;
+}
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
@@ -11365,6 +11413,9 @@
{"vkSetBufferCollectionConstraintsFUCHSIA", {kFuncTypeDev, (void*)SetBufferCollectionConstraintsFUCHSIA}},
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
+ {"vkSetBufferCollectionImageConstraintsFUCHSIA", {kFuncTypeDev, (void*)SetBufferCollectionImageConstraintsFUCHSIA}},
+#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
{"vkSetBufferCollectionBufferConstraintsFUCHSIA", {kFuncTypeDev, (void*)SetBufferCollectionBufferConstraintsFUCHSIA}},
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
@@ -11374,6 +11425,9 @@
{"vkGetBufferCollectionPropertiesFUCHSIA", {kFuncTypeDev, (void*)GetBufferCollectionPropertiesFUCHSIA}},
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
+ {"vkGetBufferCollectionProperties2FUCHSIA", {kFuncTypeDev, (void*)GetBufferCollectionProperties2FUCHSIA}},
+#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
{"vkGetMemoryZirconHandleFUCHSIA", {kFuncTypeDev, (void*)GetMemoryZirconHandleFUCHSIA}},
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
diff --git a/layers/generated/chassis.h b/layers/generated/chassis.h
index 72f42fc..6599c93 100644
--- a/layers/generated/chassis.h
+++ b/layers/generated/chassis.h
@@ -2665,6 +2665,11 @@
VkBufferCollectionFUCHSIA collection,
const VkImageCreateInfo* pImageInfo);
+VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
+
VKAPI_ATTR VkResult VKAPI_CALL SetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -2679,6 +2684,11 @@
VkDevice device,
VkBufferCollectionFUCHSIA collection,
VkBufferCollectionPropertiesFUCHSIA* pProperties);
+
+VKAPI_ATTR VkResult VKAPI_CALL GetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties);
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
@@ -4501,6 +4511,11 @@
virtual void PostCallRecordSetBufferCollectionConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageCreateInfo* pImageInfo, VkResult result) {};
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
+ virtual bool PreCallValidateSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const { return false; };
+ virtual void PreCallRecordSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) {};
+ virtual void PostCallRecordSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo, VkResult result) {};
+#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
virtual bool PreCallValidateSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const { return false; };
virtual void PreCallRecordSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) {};
virtual void PostCallRecordSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo, VkResult result) {};
@@ -4516,6 +4531,11 @@
virtual void PostCallRecordGetBufferCollectionPropertiesFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties, VkResult result) {};
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
+ virtual bool PreCallValidateGetBufferCollectionProperties2FUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionProperties2FUCHSIA* pProperties) const { return false; };
+ virtual void PreCallRecordGetBufferCollectionProperties2FUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionProperties2FUCHSIA* pProperties) {};
+ virtual void PostCallRecordGetBufferCollectionProperties2FUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionProperties2FUCHSIA* pProperties, VkResult result) {};
+#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
virtual bool PreCallValidateGetMemoryZirconHandleFUCHSIA(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle) const { return false; };
virtual void PreCallRecordGetMemoryZirconHandleFUCHSIA(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle) {};
virtual void PostCallRecordGetMemoryZirconHandleFUCHSIA(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle, VkResult result) {};
diff --git a/layers/generated/layer_chassis_dispatch.cpp b/layers/generated/layer_chassis_dispatch.cpp
index 8a366b1..653ee0b 100644
--- a/layers/generated/layer_chassis_dispatch.cpp
+++ b/layers/generated/layer_chassis_dispatch.cpp
@@ -7767,6 +7767,24 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+VkResult DispatchSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo)
+{
+ auto layer_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
+ if (!wrap_handles) return layer_data->device_dispatch_table.SetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo);
+ {
+ collection = layer_data->Unwrap(collection);
+ }
+ VkResult result = layer_data->device_dispatch_table.SetBufferCollectionImageConstraintsFUCHSIA(device, collection, pImageConstraintsInfo);
+
+ return result;
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
VkResult DispatchSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -7824,6 +7842,24 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+VkResult DispatchGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties)
+{
+ auto layer_data = GetLayerDataPtr(get_dispatch_key(device), layer_data_map);
+ if (!wrap_handles) return layer_data->device_dispatch_table.GetBufferCollectionProperties2FUCHSIA(device, collection, pProperties);
+ {
+ collection = layer_data->Unwrap(collection);
+ }
+ VkResult result = layer_data->device_dispatch_table.GetBufferCollectionProperties2FUCHSIA(device, collection, pProperties);
+
+ return result;
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
VkResult DispatchGetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
diff --git a/layers/generated/layer_chassis_dispatch.h b/layers/generated/layer_chassis_dispatch.h
index ab9c056..f504096 100644
--- a/layers/generated/layer_chassis_dispatch.h
+++ b/layers/generated/layer_chassis_dispatch.h
@@ -2020,6 +2020,12 @@
const VkImageCreateInfo* pImageInfo);
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+VkResult DispatchSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
VkResult DispatchSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -2038,6 +2044,12 @@
VkBufferCollectionPropertiesFUCHSIA* pProperties);
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+VkResult DispatchGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties);
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
VkResult DispatchGetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
diff --git a/layers/generated/object_tracker.cpp b/layers/generated/object_tracker.cpp
index 25e9059..7ad8c69 100644
--- a/layers/generated/object_tracker.cpp
+++ b/layers/generated/object_tracker.cpp
@@ -5745,6 +5745,20 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+bool ObjectLifetimes::PreCallValidateSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const {
+ bool skip = false;
+ skip |= ValidateObject(device, kVulkanObjectTypeDevice, false, kVUIDUndefined, kVUIDUndefined);
+ skip |= ValidateObject(collection, kVulkanObjectTypeBufferCollectionFUCHSIA, false, kVUIDUndefined, kVUIDUndefined);
+
+ return skip;
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
bool ObjectLifetimes::PreCallValidateSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -5796,6 +5810,20 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+bool ObjectLifetimes::PreCallValidateGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties) const {
+ bool skip = false;
+ skip |= ValidateObject(device, kVulkanObjectTypeDevice, false, kVUIDUndefined, kVUIDUndefined);
+ skip |= ValidateObject(collection, kVulkanObjectTypeBufferCollectionFUCHSIA, false, kVUIDUndefined, kVUIDUndefined);
+
+ return skip;
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
bool ObjectLifetimes::PreCallValidateGetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
diff --git a/layers/generated/object_tracker.h b/layers/generated/object_tracker.h
index 7e52355..0d96af3 100644
--- a/layers/generated/object_tracker.h
+++ b/layers/generated/object_tracker.h
@@ -2570,6 +2570,13 @@
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+bool PreCallValidateSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const;
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
bool PreCallValidateSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -2595,6 +2602,13 @@
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+bool PreCallValidateGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties) const;
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
bool PreCallValidateGetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
diff --git a/layers/generated/parameter_validation.cpp b/layers/generated/parameter_validation.cpp
index f48c41d..cc2aae8 100644
--- a/layers/generated/parameter_validation.cpp
+++ b/layers/generated/parameter_validation.cpp
@@ -119,6 +119,7 @@
const DECORATE_UNUSED VkIndirectCommandsLayoutUsageFlagsNV AllVkIndirectCommandsLayoutUsageFlagBitsNV = VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV|VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV|VK_INDIRECT_COMMANDS_LAYOUT_USAGE_UNORDERED_SEQUENCES_BIT_NV;
const DECORATE_UNUSED VkIndirectStateFlagsNV AllVkIndirectStateFlagBitsNV = VK_INDIRECT_STATE_FLAG_FRONTFACE_BIT_NV;
const DECORATE_UNUSED VkDeviceDiagnosticsConfigFlagsNV AllVkDeviceDiagnosticsConfigFlagBitsNV = VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_SHADER_DEBUG_INFO_BIT_NV|VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_RESOURCE_TRACKING_BIT_NV|VK_DEVICE_DIAGNOSTICS_CONFIG_ENABLE_AUTOMATIC_CHECKPOINTS_BIT_NV;
+const DECORATE_UNUSED VkImageFormatConstraintsFlagsFUCHSIA AllVkImageFormatConstraintsFlagBitsFUCHSIA = VK_IMAGE_FORMAT_CONSTRAINTS_CPU_READ_RARELY_FUCHSIA|VK_IMAGE_FORMAT_CONSTRAINTS_CPU_READ_OFTEN_FUCHSIA|VK_IMAGE_FORMAT_CONSTRAINTS_CPU_WRITE_RARELY_FUCHSIA|VK_IMAGE_FORMAT_CONSTRAINTS_CPU_WRITE_OFTEN_FUCHSIA|VK_IMAGE_FORMAT_CONSTRAINTS_PROTECTED_OPTIONAL_FUCHSIA;
const std::vector<VkResult> AllVkResultEnums = {VK_SUCCESS, VK_NOT_READY, VK_TIMEOUT, VK_EVENT_SET, VK_EVENT_RESET, VK_INCOMPLETE, VK_ERROR_OUT_OF_HOST_MEMORY, VK_ERROR_OUT_OF_DEVICE_MEMORY, VK_ERROR_INITIALIZATION_FAILED, VK_ERROR_DEVICE_LOST, VK_ERROR_MEMORY_MAP_FAILED, VK_ERROR_LAYER_NOT_PRESENT, VK_ERROR_EXTENSION_NOT_PRESENT, VK_ERROR_FEATURE_NOT_PRESENT, VK_ERROR_INCOMPATIBLE_DRIVER, VK_ERROR_TOO_MANY_OBJECTS, VK_ERROR_FORMAT_NOT_SUPPORTED, VK_ERROR_FRAGMENTED_POOL, VK_ERROR_UNKNOWN, VK_ERROR_OUT_OF_POOL_MEMORY, VK_ERROR_INVALID_EXTERNAL_HANDLE, VK_ERROR_FRAGMENTATION, VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS, VK_ERROR_SURFACE_LOST_KHR, VK_ERROR_NATIVE_WINDOW_IN_USE_KHR, VK_SUBOPTIMAL_KHR, VK_ERROR_OUT_OF_DATE_KHR, VK_ERROR_INCOMPATIBLE_DISPLAY_KHR, VK_ERROR_VALIDATION_FAILED_EXT, VK_ERROR_INVALID_SHADER_NV, VK_ERROR_OUT_OF_POOL_MEMORY_KHR, VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR, VK_ERROR_INCOMPATIBLE_VERSION_KHR, VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT, VK_ERROR_FRAGMENTATION_EXT, VK_ERROR_NOT_PERMITTED_EXT, VK_ERROR_INVALID_DEVICE_ADDRESS_EXT, VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT, VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS_KHR, VK_THREAD_IDLE_KHR, VK_THREAD_DONE_KHR, VK_OPERATION_DEFERRED_KHR, VK_OPERATION_NOT_DEFERRED_KHR, VK_PIPELINE_COMPILE_REQUIRED_EXT, VK_ERROR_PIPELINE_COMPILE_REQUIRED_EXT, };
const std::vector<VkImageLayout> AllVkImageLayoutEnums = {VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_GENERAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_PREINITIALIZED, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_LAYOUT_PRESENT_SRC_KHR, VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL_KHR, VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV, VK_IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT, VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL_KHR, VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL_KHR, VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL_KHR, VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL_KHR, };
@@ -12051,6 +12052,7 @@
const VkAllocationCallbacks* pAllocator,
VkBufferCollectionFUCHSIA* pCollection) const {
bool skip = false;
+ if (!device_extensions.vk_khr_sampler_ycbcr_conversion) skip |= OutputExtensionError("vkCreateBufferCollectionFUCHSIA", VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_external_memory) skip |= OutputExtensionError("vkCreateBufferCollectionFUCHSIA", VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_buffer_collection) skip |= OutputExtensionError("vkCreateBufferCollectionFUCHSIA", VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME);
skip |= validate_struct_type("vkCreateBufferCollectionFUCHSIA", "pImportInfo", "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA", pImportInfo, VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA, true, kVUIDUndefined, kVUIDUndefined);
@@ -12087,6 +12089,7 @@
VkBufferCollectionFUCHSIA collection,
const VkImageCreateInfo* pImageInfo) const {
bool skip = false;
+ if (!device_extensions.vk_khr_sampler_ycbcr_conversion) skip |= OutputExtensionError("vkSetBufferCollectionConstraintsFUCHSIA", VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_external_memory) skip |= OutputExtensionError("vkSetBufferCollectionConstraintsFUCHSIA", VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_buffer_collection) skip |= OutputExtensionError("vkSetBufferCollectionConstraintsFUCHSIA", VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME);
skip |= validate_required_handle("vkSetBufferCollectionConstraintsFUCHSIA", "collection", collection);
@@ -12118,11 +12121,80 @@
return skip;
}
+bool StatelessValidation::PreCallValidateSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const {
+ bool skip = false;
+ if (!device_extensions.vk_khr_sampler_ycbcr_conversion) skip |= OutputExtensionError("vkSetBufferCollectionImageConstraintsFUCHSIA", VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME);
+ if (!device_extensions.vk_fuchsia_external_memory) skip |= OutputExtensionError("vkSetBufferCollectionImageConstraintsFUCHSIA", VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME);
+ if (!device_extensions.vk_fuchsia_buffer_collection) skip |= OutputExtensionError("vkSetBufferCollectionImageConstraintsFUCHSIA", VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME);
+ skip |= validate_required_handle("vkSetBufferCollectionImageConstraintsFUCHSIA", "collection", collection);
+ skip |= validate_struct_type("vkSetBufferCollectionImageConstraintsFUCHSIA", "pImageConstraintsInfo", "VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA", pImageConstraintsInfo, VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA, true, kVUIDUndefined, kVUIDUndefined);
+ if (pImageConstraintsInfo != NULL)
+ {
+ skip |= validate_struct_pnext("vkSetBufferCollectionImageConstraintsFUCHSIA", "pImageConstraintsInfo->pNext", NULL, pImageConstraintsInfo->pNext, 0, NULL, GeneratedVulkanHeaderVersion, kVUIDUndefined, kVUIDUndefined);
+
+ skip |= validate_struct_type_array("vkSetBufferCollectionImageConstraintsFUCHSIA", "pImageConstraintsInfo->createInfoCount", "pImageConstraintsInfo->pCreateInfos", "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO", pImageConstraintsInfo->createInfoCount, pImageConstraintsInfo->pCreateInfos, VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, true, true, "VUID-VkImageCreateInfo-sType-sType", kVUIDUndefined, kVUIDUndefined);
+
+ if (pImageConstraintsInfo->pCreateInfos != NULL)
+ {
+ for (uint32_t createInfoIndex = 0; createInfoIndex < pImageConstraintsInfo->createInfoCount; ++createInfoIndex)
+ {
+ const VkStructureType allowed_structs_VkImageCreateInfo[] = { VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA, VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV, VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID, VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO, VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV, VK_STRUCTURE_TYPE_FUCHSIA_IMAGE_FORMAT_FUCHSIA, VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT, VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT, VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO, VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO, VK_STRUCTURE_TYPE_IMAGE_SWAPCHAIN_CREATE_INFO_KHR };
+
+ skip |= validate_struct_pnext("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].pNext", ParameterName::IndexVector{ createInfoIndex }), "VkBufferCollectionImageCreateInfoFUCHSIA, VkDedicatedAllocationImageCreateInfoNV, VkExternalFormatANDROID, VkExternalMemoryImageCreateInfo, VkExternalMemoryImageCreateInfoNV, VkFuchsiaImageFormatFUCHSIA, VkImageDrmFormatModifierExplicitCreateInfoEXT, VkImageDrmFormatModifierListCreateInfoEXT, VkImageFormatListCreateInfo, VkImageStencilUsageCreateInfo, VkImageSwapchainCreateInfoKHR", pImageConstraintsInfo->pCreateInfos[createInfoIndex].pNext, ARRAY_SIZE(allowed_structs_VkImageCreateInfo), allowed_structs_VkImageCreateInfo, GeneratedVulkanHeaderVersion, "VUID-VkImageCreateInfo-pNext-pNext", "VUID-VkImageCreateInfo-sType-unique");
+
+ skip |= validate_flags("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].flags", ParameterName::IndexVector{ createInfoIndex }), "VkImageCreateFlagBits", AllVkImageCreateFlagBits, pImageConstraintsInfo->pCreateInfos[createInfoIndex].flags, kOptionalFlags, "VUID-VkImageCreateInfo-flags-parameter");
+
+ skip |= validate_ranged_enum("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].imageType", ParameterName::IndexVector{ createInfoIndex }), "VkImageType", AllVkImageTypeEnums, pImageConstraintsInfo->pCreateInfos[createInfoIndex].imageType, "VUID-VkImageCreateInfo-imageType-parameter");
+
+ skip |= validate_ranged_enum("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].format", ParameterName::IndexVector{ createInfoIndex }), "VkFormat", AllVkFormatEnums, pImageConstraintsInfo->pCreateInfos[createInfoIndex].format, "VUID-VkImageCreateInfo-format-parameter");
+
+ // No xml-driven validation
+
+ skip |= validate_flags("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].samples", ParameterName::IndexVector{ createInfoIndex }), "VkSampleCountFlagBits", AllVkSampleCountFlagBits, pImageConstraintsInfo->pCreateInfos[createInfoIndex].samples, kRequiredSingleBit, "VUID-VkImageCreateInfo-samples-parameter", "VUID-VkImageCreateInfo-samples-parameter");
+
+ skip |= validate_ranged_enum("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].tiling", ParameterName::IndexVector{ createInfoIndex }), "VkImageTiling", AllVkImageTilingEnums, pImageConstraintsInfo->pCreateInfos[createInfoIndex].tiling, "VUID-VkImageCreateInfo-tiling-parameter");
+
+ skip |= validate_flags("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].usage", ParameterName::IndexVector{ createInfoIndex }), "VkImageUsageFlagBits", AllVkImageUsageFlagBits, pImageConstraintsInfo->pCreateInfos[createInfoIndex].usage, kRequiredFlags, "VUID-VkImageCreateInfo-usage-parameter", "VUID-VkImageCreateInfo-usage-requiredbitmask");
+
+ skip |= validate_ranged_enum("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].sharingMode", ParameterName::IndexVector{ createInfoIndex }), "VkSharingMode", AllVkSharingModeEnums, pImageConstraintsInfo->pCreateInfos[createInfoIndex].sharingMode, "VUID-VkImageCreateInfo-sharingMode-parameter");
+
+ skip |= validate_ranged_enum("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pCreateInfos[%i].initialLayout", ParameterName::IndexVector{ createInfoIndex }), "VkImageLayout", AllVkImageLayoutEnums, pImageConstraintsInfo->pCreateInfos[createInfoIndex].initialLayout, "VUID-VkImageCreateInfo-initialLayout-parameter");
+ }
+ }
+
+ skip |= validate_struct_type_array("vkSetBufferCollectionImageConstraintsFUCHSIA", "pImageConstraintsInfo->createInfoCount", "pImageConstraintsInfo->pFormatConstraints", "VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA", pImageConstraintsInfo->createInfoCount, pImageConstraintsInfo->pFormatConstraints, VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA, true, false, kVUIDUndefined, kVUIDUndefined, kVUIDUndefined);
+
+ if (pImageConstraintsInfo->pFormatConstraints != NULL)
+ {
+ for (uint32_t createInfoIndex = 0; createInfoIndex < pImageConstraintsInfo->createInfoCount; ++createInfoIndex)
+ {
+ skip |= validate_struct_pnext("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pFormatConstraints[%i].pNext", ParameterName::IndexVector{ createInfoIndex }), NULL, pImageConstraintsInfo->pFormatConstraints[createInfoIndex].pNext, 0, NULL, GeneratedVulkanHeaderVersion, kVUIDUndefined, kVUIDUndefined);
+
+ skip |= validate_flags("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pFormatConstraints[%i].requiredFormatFeatures", ParameterName::IndexVector{ createInfoIndex }), "VkFormatFeatureFlagBits", AllVkFormatFeatureFlagBits, pImageConstraintsInfo->pFormatConstraints[createInfoIndex].requiredFormatFeatures, kOptionalFlags, kVUIDUndefined);
+
+ skip |= validate_flags("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pFormatConstraints[%i].flags", ParameterName::IndexVector{ createInfoIndex }), "VkImageFormatConstraintsFlagBitsFUCHSIA", AllVkImageFormatConstraintsFlagBitsFUCHSIA, pImageConstraintsInfo->pFormatConstraints[createInfoIndex].flags, kOptionalFlags, kVUIDUndefined);
+
+ skip |= validate_struct_type("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pFormatConstraints[%i].pColorSpaces", ParameterName::IndexVector{ createInfoIndex }), "VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA", pImageConstraintsInfo->pFormatConstraints[createInfoIndex].pColorSpaces, VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA, false, kVUIDUndefined, kVUIDUndefined);
+
+ if (pImageConstraintsInfo->pFormatConstraints[createInfoIndex].pColorSpaces != NULL)
+ {
+ skip |= validate_struct_pnext("vkSetBufferCollectionImageConstraintsFUCHSIA", ParameterName("pImageConstraintsInfo->pFormatConstraints[%i].pColorSpaces->pNext", ParameterName::IndexVector{ createInfoIndex }), NULL, pImageConstraintsInfo->pFormatConstraints[createInfoIndex].pColorSpaces->pNext, 0, NULL, GeneratedVulkanHeaderVersion, kVUIDUndefined, kVUIDUndefined);
+ }
+ }
+ }
+ }
+ return skip;
+}
+
bool StatelessValidation::PreCallValidateSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) const {
bool skip = false;
+ if (!device_extensions.vk_khr_sampler_ycbcr_conversion) skip |= OutputExtensionError("vkSetBufferCollectionBufferConstraintsFUCHSIA", VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_external_memory) skip |= OutputExtensionError("vkSetBufferCollectionBufferConstraintsFUCHSIA", VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_buffer_collection) skip |= OutputExtensionError("vkSetBufferCollectionBufferConstraintsFUCHSIA", VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME);
skip |= validate_required_handle("vkSetBufferCollectionBufferConstraintsFUCHSIA", "collection", collection);
@@ -12146,7 +12218,7 @@
skip |= validate_ranged_enum("vkSetBufferCollectionBufferConstraintsFUCHSIA", "pBufferConstraintsInfo->pBufferCreateInfo->sharingMode", "VkSharingMode", AllVkSharingModeEnums, pBufferConstraintsInfo->pBufferCreateInfo->sharingMode, "VUID-VkBufferCreateInfo-sharingMode-parameter");
}
- skip |= validate_flags("vkSetBufferCollectionBufferConstraintsFUCHSIA", "pBufferConstraintsInfo->requiredFormatFeatures", "VkFormatFeatureFlagBits", AllVkFormatFeatureFlagBits, pBufferConstraintsInfo->requiredFormatFeatures, kRequiredFlags, kVUIDUndefined, kVUIDUndefined);
+ skip |= validate_flags("vkSetBufferCollectionBufferConstraintsFUCHSIA", "pBufferConstraintsInfo->requiredFormatFeatures", "VkFormatFeatureFlagBits", AllVkFormatFeatureFlagBits, pBufferConstraintsInfo->requiredFormatFeatures, kOptionalFlags, kVUIDUndefined);
}
return skip;
}
@@ -12156,6 +12228,7 @@
VkBufferCollectionFUCHSIA collection,
const VkAllocationCallbacks* pAllocator) const {
bool skip = false;
+ if (!device_extensions.vk_khr_sampler_ycbcr_conversion) skip |= OutputExtensionError("vkDestroyBufferCollectionFUCHSIA", VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_external_memory) skip |= OutputExtensionError("vkDestroyBufferCollectionFUCHSIA", VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_buffer_collection) skip |= OutputExtensionError("vkDestroyBufferCollectionFUCHSIA", VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME);
skip |= validate_required_handle("vkDestroyBufferCollectionFUCHSIA", "collection", collection);
@@ -12187,6 +12260,7 @@
VkBufferCollectionFUCHSIA collection,
VkBufferCollectionPropertiesFUCHSIA* pProperties) const {
bool skip = false;
+ if (!device_extensions.vk_khr_sampler_ycbcr_conversion) skip |= OutputExtensionError("vkGetBufferCollectionPropertiesFUCHSIA", VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_external_memory) skip |= OutputExtensionError("vkGetBufferCollectionPropertiesFUCHSIA", VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME);
if (!device_extensions.vk_fuchsia_buffer_collection) skip |= OutputExtensionError("vkGetBufferCollectionPropertiesFUCHSIA", VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME);
skip |= validate_required_handle("vkGetBufferCollectionPropertiesFUCHSIA", "collection", collection);
@@ -12194,6 +12268,19 @@
return skip;
}
+bool StatelessValidation::PreCallValidateGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties) const {
+ bool skip = false;
+ if (!device_extensions.vk_khr_sampler_ycbcr_conversion) skip |= OutputExtensionError("vkGetBufferCollectionProperties2FUCHSIA", VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME);
+ if (!device_extensions.vk_fuchsia_external_memory) skip |= OutputExtensionError("vkGetBufferCollectionProperties2FUCHSIA", VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME);
+ if (!device_extensions.vk_fuchsia_buffer_collection) skip |= OutputExtensionError("vkGetBufferCollectionProperties2FUCHSIA", VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME);
+ skip |= validate_required_handle("vkGetBufferCollectionProperties2FUCHSIA", "collection", collection);
+ skip |= validate_struct_type("vkGetBufferCollectionProperties2FUCHSIA", "pProperties", "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA", pProperties, VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA, true, kVUIDUndefined, kVUIDUndefined);
+ return skip;
+}
+
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
diff --git a/layers/generated/parameter_validation.h b/layers/generated/parameter_validation.h
index 178b9fd..3897875 100644
--- a/layers/generated/parameter_validation.h
+++ b/layers/generated/parameter_validation.h
@@ -1984,6 +1984,12 @@
const VkImageCreateInfo* pImageInfo) const;
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
+bool PreCallValidateSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) const;
+#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
bool PreCallValidateSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -2002,6 +2008,12 @@
VkBufferCollectionPropertiesFUCHSIA* pProperties) const;
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
+bool PreCallValidateGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties) const;
+#endif
+#ifdef VK_USE_PLATFORM_FUCHSIA
bool PreCallValidateGetMemoryZirconHandleFUCHSIA(
VkDevice device,
const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo,
diff --git a/layers/generated/thread_safety.cpp b/layers/generated/thread_safety.cpp
index f8bdc3d..cd5dcb1 100644
--- a/layers/generated/thread_safety.cpp
+++ b/layers/generated/thread_safety.cpp
@@ -7150,6 +7150,23 @@
FinishReadObject(collection, "vkSetBufferCollectionConstraintsFUCHSIA");
}
+void ThreadSafety::PreCallRecordSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) {
+ StartReadObjectParentInstance(device, "vkSetBufferCollectionImageConstraintsFUCHSIA");
+ StartReadObject(collection, "vkSetBufferCollectionImageConstraintsFUCHSIA");
+}
+
+void ThreadSafety::PostCallRecordSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo,
+ VkResult result) {
+ FinishReadObjectParentInstance(device, "vkSetBufferCollectionImageConstraintsFUCHSIA");
+ FinishReadObject(collection, "vkSetBufferCollectionImageConstraintsFUCHSIA");
+}
+
void ThreadSafety::PreCallRecordSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -7199,6 +7216,23 @@
FinishReadObjectParentInstance(device, "vkGetBufferCollectionPropertiesFUCHSIA");
FinishReadObject(collection, "vkGetBufferCollectionPropertiesFUCHSIA");
}
+
+void ThreadSafety::PreCallRecordGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties) {
+ StartReadObjectParentInstance(device, "vkGetBufferCollectionProperties2FUCHSIA");
+ StartReadObject(collection, "vkGetBufferCollectionProperties2FUCHSIA");
+}
+
+void ThreadSafety::PostCallRecordGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties,
+ VkResult result) {
+ FinishReadObjectParentInstance(device, "vkGetBufferCollectionProperties2FUCHSIA");
+ FinishReadObject(collection, "vkGetBufferCollectionProperties2FUCHSIA");
+}
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
diff --git a/layers/generated/thread_safety.h b/layers/generated/thread_safety.h
index e29b750..a52ed65 100644
--- a/layers/generated/thread_safety.h
+++ b/layers/generated/thread_safety.h
@@ -4874,6 +4874,17 @@
const VkImageCreateInfo* pImageInfo,
VkResult result);
+void PreCallRecordSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo);
+
+void PostCallRecordSetBufferCollectionImageConstraintsFUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo,
+ VkResult result);
+
void PreCallRecordSetBufferCollectionBufferConstraintsFUCHSIA(
VkDevice device,
VkBufferCollectionFUCHSIA collection,
@@ -4905,6 +4916,17 @@
VkBufferCollectionFUCHSIA collection,
VkBufferCollectionPropertiesFUCHSIA* pProperties,
VkResult result);
+
+void PreCallRecordGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties);
+
+void PostCallRecordGetBufferCollectionProperties2FUCHSIA(
+ VkDevice device,
+ VkBufferCollectionFUCHSIA collection,
+ VkBufferCollectionProperties2FUCHSIA* pProperties,
+ VkResult result);
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
diff --git a/layers/generated/vk_dispatch_table_helper.h b/layers/generated/vk_dispatch_table_helper.h
index b2cc5a6..b824462 100644
--- a/layers/generated/vk_dispatch_table_helper.h
+++ b/layers/generated/vk_dispatch_table_helper.h
@@ -392,6 +392,9 @@
static VKAPI_ATTR VkResult VKAPI_CALL StubSetBufferCollectionConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageCreateInfo* pImageInfo) { return VK_SUCCESS; };
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+static VKAPI_ATTR VkResult VKAPI_CALL StubSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkImageConstraintsInfoFUCHSIA* pImageConstraintsInfo) { return VK_SUCCESS; };
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
static VKAPI_ATTR VkResult VKAPI_CALL StubSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, const VkBufferConstraintsInfoFUCHSIA* pBufferConstraintsInfo) { return VK_SUCCESS; };
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
@@ -401,6 +404,9 @@
static VKAPI_ATTR VkResult VKAPI_CALL StubGetBufferCollectionPropertiesFUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionPropertiesFUCHSIA* pProperties) { return VK_SUCCESS; };
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+static VKAPI_ATTR VkResult VKAPI_CALL StubGetBufferCollectionProperties2FUCHSIA(VkDevice device, VkBufferCollectionFUCHSIA collection, VkBufferCollectionProperties2FUCHSIA* pProperties) { return VK_SUCCESS; };
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
static VKAPI_ATTR VkResult VKAPI_CALL StubGetMemoryZirconHandleFUCHSIA(VkDevice device, const VkMemoryGetZirconHandleInfoFUCHSIA* pGetZirconHandleInfo, zx_handle_t* pZirconHandle) { return VK_SUCCESS; };
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
@@ -600,6 +606,7 @@
{"vkGetAccelerationStructureMemoryRequirementsKHR", "VK_KHR_ray_tracing"},
{"vkGetAccelerationStructureMemoryRequirementsNV", "VK_NV_ray_tracing"},
{"vkGetAndroidHardwareBufferPropertiesANDROID", "VK_ANDROID_external_memory_android_hardware_buffer"},
+ {"vkGetBufferCollectionProperties2FUCHSIA", "VK_FUCHSIA_buffer_collection"},
{"vkGetBufferCollectionPropertiesFUCHSIA", "VK_FUCHSIA_buffer_collection"},
{"vkGetBufferDeviceAddress", "VK_VERSION_1_2"},
{"vkGetBufferDeviceAddressEXT", "VK_EXT_buffer_device_address"},
@@ -686,6 +693,7 @@
{"vkResetQueryPoolEXT", "VK_EXT_host_query_reset"},
{"vkSetBufferCollectionBufferConstraintsFUCHSIA", "VK_FUCHSIA_buffer_collection"},
{"vkSetBufferCollectionConstraintsFUCHSIA", "VK_FUCHSIA_buffer_collection"},
+ {"vkSetBufferCollectionImageConstraintsFUCHSIA", "VK_FUCHSIA_buffer_collection"},
{"vkSetDebugUtilsObjectNameEXT", "VK_EXT_debug_utils"},
{"vkSetDebugUtilsObjectTagEXT", "VK_EXT_debug_utils"},
{"vkSetHdrMetadataEXT", "VK_EXT_hdr_metadata"},
@@ -1289,6 +1297,10 @@
if (table->SetBufferCollectionConstraintsFUCHSIA == nullptr) { table->SetBufferCollectionConstraintsFUCHSIA = (PFN_vkSetBufferCollectionConstraintsFUCHSIA)StubSetBufferCollectionConstraintsFUCHSIA; }
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+ table->SetBufferCollectionImageConstraintsFUCHSIA = (PFN_vkSetBufferCollectionImageConstraintsFUCHSIA) gpa(device, "vkSetBufferCollectionImageConstraintsFUCHSIA");
+ if (table->SetBufferCollectionImageConstraintsFUCHSIA == nullptr) { table->SetBufferCollectionImageConstraintsFUCHSIA = (PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)StubSetBufferCollectionImageConstraintsFUCHSIA; }
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
table->SetBufferCollectionBufferConstraintsFUCHSIA = (PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA) gpa(device, "vkSetBufferCollectionBufferConstraintsFUCHSIA");
if (table->SetBufferCollectionBufferConstraintsFUCHSIA == nullptr) { table->SetBufferCollectionBufferConstraintsFUCHSIA = (PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)StubSetBufferCollectionBufferConstraintsFUCHSIA; }
#endif // VK_USE_PLATFORM_FUCHSIA
@@ -1301,6 +1313,10 @@
if (table->GetBufferCollectionPropertiesFUCHSIA == nullptr) { table->GetBufferCollectionPropertiesFUCHSIA = (PFN_vkGetBufferCollectionPropertiesFUCHSIA)StubGetBufferCollectionPropertiesFUCHSIA; }
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+ table->GetBufferCollectionProperties2FUCHSIA = (PFN_vkGetBufferCollectionProperties2FUCHSIA) gpa(device, "vkGetBufferCollectionProperties2FUCHSIA");
+ if (table->GetBufferCollectionProperties2FUCHSIA == nullptr) { table->GetBufferCollectionProperties2FUCHSIA = (PFN_vkGetBufferCollectionProperties2FUCHSIA)StubGetBufferCollectionProperties2FUCHSIA; }
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
table->GetMemoryZirconHandleFUCHSIA = (PFN_vkGetMemoryZirconHandleFUCHSIA) gpa(device, "vkGetMemoryZirconHandleFUCHSIA");
if (table->GetMemoryZirconHandleFUCHSIA == nullptr) { table->GetMemoryZirconHandleFUCHSIA = (PFN_vkGetMemoryZirconHandleFUCHSIA)StubGetMemoryZirconHandleFUCHSIA; }
#endif // VK_USE_PLATFORM_FUCHSIA
diff --git a/layers/generated/vk_enum_string_helper.h b/layers/generated/vk_enum_string_helper.h
index d745b05..df5b4af 100644
--- a/layers/generated/vk_enum_string_helper.h
+++ b/layers/generated/vk_enum_string_helper.h
@@ -200,6 +200,8 @@
return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA:
return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA";
+ case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA:
+ return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA:
return "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA";
case VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA:
@@ -432,6 +434,8 @@
return "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA:
return "VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA";
+ case VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA:
+ return "VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO:
return "VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO";
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT:
@@ -440,6 +444,8 @@
return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT";
case VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT:
return "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT";
+ case VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA:
+ return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO:
return "VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO";
case VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2:
@@ -998,6 +1004,8 @@
return "VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR";
case VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD:
return "VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD";
+ case VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA:
+ return "VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA";
case VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA:
return "VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA";
case VK_STRUCTURE_TYPE_TEMP_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA:
@@ -6796,6 +6804,45 @@
}
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
+static inline const char* string_VkImageFormatConstraintsFlagBitsFUCHSIA(VkImageFormatConstraintsFlagBitsFUCHSIA input_value)
+{
+ switch ((VkImageFormatConstraintsFlagBitsFUCHSIA)input_value)
+ {
+ case VK_IMAGE_FORMAT_CONSTRAINTS_CPU_READ_OFTEN_FUCHSIA:
+ return "VK_IMAGE_FORMAT_CONSTRAINTS_CPU_READ_OFTEN_FUCHSIA";
+ case VK_IMAGE_FORMAT_CONSTRAINTS_CPU_READ_RARELY_FUCHSIA:
+ return "VK_IMAGE_FORMAT_CONSTRAINTS_CPU_READ_RARELY_FUCHSIA";
+ case VK_IMAGE_FORMAT_CONSTRAINTS_CPU_WRITE_OFTEN_FUCHSIA:
+ return "VK_IMAGE_FORMAT_CONSTRAINTS_CPU_WRITE_OFTEN_FUCHSIA";
+ case VK_IMAGE_FORMAT_CONSTRAINTS_CPU_WRITE_RARELY_FUCHSIA:
+ return "VK_IMAGE_FORMAT_CONSTRAINTS_CPU_WRITE_RARELY_FUCHSIA";
+ case VK_IMAGE_FORMAT_CONSTRAINTS_PROTECTED_OPTIONAL_FUCHSIA:
+ return "VK_IMAGE_FORMAT_CONSTRAINTS_PROTECTED_OPTIONAL_FUCHSIA";
+ default:
+ return "Unhandled VkImageFormatConstraintsFlagBitsFUCHSIA";
+ }
+}
+
+static inline std::string string_VkImageFormatConstraintsFlagsFUCHSIA(VkImageFormatConstraintsFlagsFUCHSIA input_value)
+{
+ std::string ret;
+ int index = 0;
+ while(input_value) {
+ if (input_value & 1) {
+ if( !ret.empty()) ret.append("|");
+ ret.append(string_VkImageFormatConstraintsFlagBitsFUCHSIA(static_cast<VkImageFormatConstraintsFlagBitsFUCHSIA>(1 << index)));
+ }
+ ++index;
+ input_value >>= 1;
+ }
+ if( ret.empty()) ret.append(string_VkImageFormatConstraintsFlagBitsFUCHSIA(static_cast<VkImageFormatConstraintsFlagBitsFUCHSIA>(0)));
+ return ret;
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+
#ifdef VK_ENABLE_BETA_EXTENSIONS
static inline const char* string_VkAccelerationStructureBuildTypeKHR(VkAccelerationStructureBuildTypeKHR input_value)
diff --git a/layers/generated/vk_extension_helper.h b/layers/generated/vk_extension_helper.h
index 2d47931..6c95de1 100644
--- a/layers/generated/vk_extension_helper.h
+++ b/layers/generated/vk_extension_helper.h
@@ -661,7 +661,8 @@
{&DeviceExtensions::vk_khr_sampler_ycbcr_conversion, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME}}})),
#ifdef VK_USE_PLATFORM_FUCHSIA
std::make_pair(VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_fuchsia_buffer_collection, {{
- {&DeviceExtensions::vk_fuchsia_external_memory, VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME}}})),
+ {&DeviceExtensions::vk_fuchsia_external_memory, VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME},
+ {&DeviceExtensions::vk_khr_sampler_ycbcr_conversion, VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME}}})),
#endif
#ifdef VK_USE_PLATFORM_FUCHSIA
std::make_pair(VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME, DeviceInfo(&DeviceExtensions::vk_fuchsia_external_memory, {{
diff --git a/layers/generated/vk_layer_dispatch_table.h b/layers/generated/vk_layer_dispatch_table.h
index e287718..fd24160 100644
--- a/layers/generated/vk_layer_dispatch_table.h
+++ b/layers/generated/vk_layer_dispatch_table.h
@@ -731,6 +731,9 @@
PFN_vkSetBufferCollectionConstraintsFUCHSIA SetBufferCollectionConstraintsFUCHSIA;
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+ PFN_vkSetBufferCollectionImageConstraintsFUCHSIA SetBufferCollectionImageConstraintsFUCHSIA;
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA SetBufferCollectionBufferConstraintsFUCHSIA;
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
@@ -739,6 +742,9 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
PFN_vkGetBufferCollectionPropertiesFUCHSIA GetBufferCollectionPropertiesFUCHSIA;
#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
+ PFN_vkGetBufferCollectionProperties2FUCHSIA GetBufferCollectionProperties2FUCHSIA;
+#endif // VK_USE_PLATFORM_FUCHSIA
// ---- VK_FUCHSIA_external_memory extension commands
#ifdef VK_USE_PLATFORM_FUCHSIA
diff --git a/layers/generated/vk_safe_struct.cpp b/layers/generated/vk_safe_struct.cpp
index 0717a0a..e3ef808 100644
--- a/layers/generated/vk_safe_struct.cpp
+++ b/layers/generated/vk_safe_struct.cpp
@@ -33177,6 +33177,424 @@
#ifdef VK_USE_PLATFORM_FUCHSIA
+safe_VkSysmemColorSpaceFUCHSIA::safe_VkSysmemColorSpaceFUCHSIA(const VkSysmemColorSpaceFUCHSIA* in_struct) :
+ sType(in_struct->sType),
+ colorSpace(in_struct->colorSpace)
+{
+ pNext = SafePnextCopy(in_struct->pNext);
+}
+
+safe_VkSysmemColorSpaceFUCHSIA::safe_VkSysmemColorSpaceFUCHSIA() :
+ sType(VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA),
+ pNext(nullptr)
+{}
+
+safe_VkSysmemColorSpaceFUCHSIA::safe_VkSysmemColorSpaceFUCHSIA(const safe_VkSysmemColorSpaceFUCHSIA& copy_src)
+{
+ sType = copy_src.sType;
+ colorSpace = copy_src.colorSpace;
+ pNext = SafePnextCopy(copy_src.pNext);
+}
+
+safe_VkSysmemColorSpaceFUCHSIA& safe_VkSysmemColorSpaceFUCHSIA::operator=(const safe_VkSysmemColorSpaceFUCHSIA& copy_src)
+{
+ if (©_src == this) return *this;
+
+ if (pNext)
+ FreePnextChain(pNext);
+
+ sType = copy_src.sType;
+ colorSpace = copy_src.colorSpace;
+ pNext = SafePnextCopy(copy_src.pNext);
+
+ return *this;
+}
+
+safe_VkSysmemColorSpaceFUCHSIA::~safe_VkSysmemColorSpaceFUCHSIA()
+{
+ if (pNext)
+ FreePnextChain(pNext);
+}
+
+void safe_VkSysmemColorSpaceFUCHSIA::initialize(const VkSysmemColorSpaceFUCHSIA* in_struct)
+{
+ sType = in_struct->sType;
+ colorSpace = in_struct->colorSpace;
+ pNext = SafePnextCopy(in_struct->pNext);
+}
+
+void safe_VkSysmemColorSpaceFUCHSIA::initialize(const safe_VkSysmemColorSpaceFUCHSIA* copy_src)
+{
+ sType = copy_src->sType;
+ colorSpace = copy_src->colorSpace;
+ pNext = SafePnextCopy(copy_src->pNext);
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
+
+safe_VkBufferCollectionProperties2FUCHSIA::safe_VkBufferCollectionProperties2FUCHSIA(const VkBufferCollectionProperties2FUCHSIA* in_struct) :
+ sType(in_struct->sType),
+ memoryTypeBits(in_struct->memoryTypeBits),
+ bufferCount(in_struct->bufferCount),
+ createInfoIndex(in_struct->createInfoIndex),
+ sysmemFormat(in_struct->sysmemFormat),
+ formatFeatures(in_struct->formatFeatures),
+ colorSpace(&in_struct->colorSpace),
+ samplerYcbcrConversionComponents(in_struct->samplerYcbcrConversionComponents),
+ suggestedYcbcrModel(in_struct->suggestedYcbcrModel),
+ suggestedYcbcrRange(in_struct->suggestedYcbcrRange),
+ suggestedXChromaOffset(in_struct->suggestedXChromaOffset),
+ suggestedYChromaOffset(in_struct->suggestedYChromaOffset)
+{
+ pNext = SafePnextCopy(in_struct->pNext);
+}
+
+safe_VkBufferCollectionProperties2FUCHSIA::safe_VkBufferCollectionProperties2FUCHSIA() :
+ sType(VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA),
+ pNext(nullptr)
+{}
+
+safe_VkBufferCollectionProperties2FUCHSIA::safe_VkBufferCollectionProperties2FUCHSIA(const safe_VkBufferCollectionProperties2FUCHSIA& copy_src)
+{
+ sType = copy_src.sType;
+ memoryTypeBits = copy_src.memoryTypeBits;
+ bufferCount = copy_src.bufferCount;
+ createInfoIndex = copy_src.createInfoIndex;
+ sysmemFormat = copy_src.sysmemFormat;
+ formatFeatures = copy_src.formatFeatures;
+ colorSpace.initialize(©_src.colorSpace);
+ samplerYcbcrConversionComponents = copy_src.samplerYcbcrConversionComponents;
+ suggestedYcbcrModel = copy_src.suggestedYcbcrModel;
+ suggestedYcbcrRange = copy_src.suggestedYcbcrRange;
+ suggestedXChromaOffset = copy_src.suggestedXChromaOffset;
+ suggestedYChromaOffset = copy_src.suggestedYChromaOffset;
+ pNext = SafePnextCopy(copy_src.pNext);
+}
+
+safe_VkBufferCollectionProperties2FUCHSIA& safe_VkBufferCollectionProperties2FUCHSIA::operator=(const safe_VkBufferCollectionProperties2FUCHSIA& copy_src)
+{
+ if (©_src == this) return *this;
+
+ if (pNext)
+ FreePnextChain(pNext);
+
+ sType = copy_src.sType;
+ memoryTypeBits = copy_src.memoryTypeBits;
+ bufferCount = copy_src.bufferCount;
+ createInfoIndex = copy_src.createInfoIndex;
+ sysmemFormat = copy_src.sysmemFormat;
+ formatFeatures = copy_src.formatFeatures;
+ colorSpace.initialize(©_src.colorSpace);
+ samplerYcbcrConversionComponents = copy_src.samplerYcbcrConversionComponents;
+ suggestedYcbcrModel = copy_src.suggestedYcbcrModel;
+ suggestedYcbcrRange = copy_src.suggestedYcbcrRange;
+ suggestedXChromaOffset = copy_src.suggestedXChromaOffset;
+ suggestedYChromaOffset = copy_src.suggestedYChromaOffset;
+ pNext = SafePnextCopy(copy_src.pNext);
+
+ return *this;
+}
+
+safe_VkBufferCollectionProperties2FUCHSIA::~safe_VkBufferCollectionProperties2FUCHSIA()
+{
+ if (pNext)
+ FreePnextChain(pNext);
+}
+
+void safe_VkBufferCollectionProperties2FUCHSIA::initialize(const VkBufferCollectionProperties2FUCHSIA* in_struct)
+{
+ sType = in_struct->sType;
+ memoryTypeBits = in_struct->memoryTypeBits;
+ bufferCount = in_struct->bufferCount;
+ createInfoIndex = in_struct->createInfoIndex;
+ sysmemFormat = in_struct->sysmemFormat;
+ formatFeatures = in_struct->formatFeatures;
+ colorSpace.initialize(&in_struct->colorSpace);
+ samplerYcbcrConversionComponents = in_struct->samplerYcbcrConversionComponents;
+ suggestedYcbcrModel = in_struct->suggestedYcbcrModel;
+ suggestedYcbcrRange = in_struct->suggestedYcbcrRange;
+ suggestedXChromaOffset = in_struct->suggestedXChromaOffset;
+ suggestedYChromaOffset = in_struct->suggestedYChromaOffset;
+ pNext = SafePnextCopy(in_struct->pNext);
+}
+
+void safe_VkBufferCollectionProperties2FUCHSIA::initialize(const safe_VkBufferCollectionProperties2FUCHSIA* copy_src)
+{
+ sType = copy_src->sType;
+ memoryTypeBits = copy_src->memoryTypeBits;
+ bufferCount = copy_src->bufferCount;
+ createInfoIndex = copy_src->createInfoIndex;
+ sysmemFormat = copy_src->sysmemFormat;
+ formatFeatures = copy_src->formatFeatures;
+ colorSpace.initialize(©_src->colorSpace);
+ samplerYcbcrConversionComponents = copy_src->samplerYcbcrConversionComponents;
+ suggestedYcbcrModel = copy_src->suggestedYcbcrModel;
+ suggestedYcbcrRange = copy_src->suggestedYcbcrRange;
+ suggestedXChromaOffset = copy_src->suggestedXChromaOffset;
+ suggestedYChromaOffset = copy_src->suggestedYChromaOffset;
+ pNext = SafePnextCopy(copy_src->pNext);
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
+
+safe_VkImageFormatConstraintsInfoFUCHSIA::safe_VkImageFormatConstraintsInfoFUCHSIA(const VkImageFormatConstraintsInfoFUCHSIA* in_struct) :
+ sType(in_struct->sType),
+ requiredFormatFeatures(in_struct->requiredFormatFeatures),
+ flags(in_struct->flags),
+ sysmemFormat(in_struct->sysmemFormat),
+ colorSpaceCount(in_struct->colorSpaceCount),
+ pColorSpaces(nullptr)
+{
+ pNext = SafePnextCopy(in_struct->pNext);
+ if (in_struct->pColorSpaces)
+ pColorSpaces = new safe_VkSysmemColorSpaceFUCHSIA(in_struct->pColorSpaces);
+}
+
+safe_VkImageFormatConstraintsInfoFUCHSIA::safe_VkImageFormatConstraintsInfoFUCHSIA() :
+ sType(VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA),
+ pNext(nullptr),
+ pColorSpaces(nullptr)
+{}
+
+safe_VkImageFormatConstraintsInfoFUCHSIA::safe_VkImageFormatConstraintsInfoFUCHSIA(const safe_VkImageFormatConstraintsInfoFUCHSIA& copy_src)
+{
+ sType = copy_src.sType;
+ requiredFormatFeatures = copy_src.requiredFormatFeatures;
+ flags = copy_src.flags;
+ sysmemFormat = copy_src.sysmemFormat;
+ colorSpaceCount = copy_src.colorSpaceCount;
+ pColorSpaces = nullptr;
+ pNext = SafePnextCopy(copy_src.pNext);
+ if (copy_src.pColorSpaces)
+ pColorSpaces = new safe_VkSysmemColorSpaceFUCHSIA(*copy_src.pColorSpaces);
+}
+
+safe_VkImageFormatConstraintsInfoFUCHSIA& safe_VkImageFormatConstraintsInfoFUCHSIA::operator=(const safe_VkImageFormatConstraintsInfoFUCHSIA& copy_src)
+{
+ if (©_src == this) return *this;
+
+ if (pColorSpaces)
+ delete pColorSpaces;
+ if (pNext)
+ FreePnextChain(pNext);
+
+ sType = copy_src.sType;
+ requiredFormatFeatures = copy_src.requiredFormatFeatures;
+ flags = copy_src.flags;
+ sysmemFormat = copy_src.sysmemFormat;
+ colorSpaceCount = copy_src.colorSpaceCount;
+ pColorSpaces = nullptr;
+ pNext = SafePnextCopy(copy_src.pNext);
+ if (copy_src.pColorSpaces)
+ pColorSpaces = new safe_VkSysmemColorSpaceFUCHSIA(*copy_src.pColorSpaces);
+
+ return *this;
+}
+
+safe_VkImageFormatConstraintsInfoFUCHSIA::~safe_VkImageFormatConstraintsInfoFUCHSIA()
+{
+ if (pColorSpaces)
+ delete pColorSpaces;
+ if (pNext)
+ FreePnextChain(pNext);
+}
+
+void safe_VkImageFormatConstraintsInfoFUCHSIA::initialize(const VkImageFormatConstraintsInfoFUCHSIA* in_struct)
+{
+ sType = in_struct->sType;
+ requiredFormatFeatures = in_struct->requiredFormatFeatures;
+ flags = in_struct->flags;
+ sysmemFormat = in_struct->sysmemFormat;
+ colorSpaceCount = in_struct->colorSpaceCount;
+ pColorSpaces = nullptr;
+ pNext = SafePnextCopy(in_struct->pNext);
+ if (in_struct->pColorSpaces)
+ pColorSpaces = new safe_VkSysmemColorSpaceFUCHSIA(in_struct->pColorSpaces);
+}
+
+void safe_VkImageFormatConstraintsInfoFUCHSIA::initialize(const safe_VkImageFormatConstraintsInfoFUCHSIA* copy_src)
+{
+ sType = copy_src->sType;
+ requiredFormatFeatures = copy_src->requiredFormatFeatures;
+ flags = copy_src->flags;
+ sysmemFormat = copy_src->sysmemFormat;
+ colorSpaceCount = copy_src->colorSpaceCount;
+ pColorSpaces = nullptr;
+ pNext = SafePnextCopy(copy_src->pNext);
+ if (copy_src->pColorSpaces)
+ pColorSpaces = new safe_VkSysmemColorSpaceFUCHSIA(*copy_src->pColorSpaces);
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
+
+safe_VkImageConstraintsInfoFUCHSIA::safe_VkImageConstraintsInfoFUCHSIA(const VkImageConstraintsInfoFUCHSIA* in_struct) :
+ sType(in_struct->sType),
+ createInfoCount(in_struct->createInfoCount),
+ pCreateInfos(nullptr),
+ pFormatConstraints(nullptr),
+ minBufferCount(in_struct->minBufferCount),
+ maxBufferCount(in_struct->maxBufferCount),
+ minBufferCountForCamping(in_struct->minBufferCountForCamping),
+ minBufferCountForDedicatedSlack(in_struct->minBufferCountForDedicatedSlack),
+ minBufferCountForSharedSlack(in_struct->minBufferCountForSharedSlack)
+{
+ pNext = SafePnextCopy(in_struct->pNext);
+ if (createInfoCount && in_struct->pCreateInfos) {
+ pCreateInfos = new safe_VkImageCreateInfo[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pCreateInfos[i].initialize(&in_struct->pCreateInfos[i]);
+ }
+ }
+ if (createInfoCount && in_struct->pFormatConstraints) {
+ pFormatConstraints = new safe_VkImageFormatConstraintsInfoFUCHSIA[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pFormatConstraints[i].initialize(&in_struct->pFormatConstraints[i]);
+ }
+ }
+}
+
+safe_VkImageConstraintsInfoFUCHSIA::safe_VkImageConstraintsInfoFUCHSIA() :
+ sType(VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA),
+ pNext(nullptr),
+ pCreateInfos(nullptr),
+ pFormatConstraints(nullptr)
+{}
+
+safe_VkImageConstraintsInfoFUCHSIA::safe_VkImageConstraintsInfoFUCHSIA(const safe_VkImageConstraintsInfoFUCHSIA& copy_src)
+{
+ sType = copy_src.sType;
+ createInfoCount = copy_src.createInfoCount;
+ pCreateInfos = nullptr;
+ pFormatConstraints = nullptr;
+ minBufferCount = copy_src.minBufferCount;
+ maxBufferCount = copy_src.maxBufferCount;
+ minBufferCountForCamping = copy_src.minBufferCountForCamping;
+ minBufferCountForDedicatedSlack = copy_src.minBufferCountForDedicatedSlack;
+ minBufferCountForSharedSlack = copy_src.minBufferCountForSharedSlack;
+ pNext = SafePnextCopy(copy_src.pNext);
+ if (createInfoCount && copy_src.pCreateInfos) {
+ pCreateInfos = new safe_VkImageCreateInfo[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pCreateInfos[i].initialize(©_src.pCreateInfos[i]);
+ }
+ }
+ if (createInfoCount && copy_src.pFormatConstraints) {
+ pFormatConstraints = new safe_VkImageFormatConstraintsInfoFUCHSIA[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pFormatConstraints[i].initialize(©_src.pFormatConstraints[i]);
+ }
+ }
+}
+
+safe_VkImageConstraintsInfoFUCHSIA& safe_VkImageConstraintsInfoFUCHSIA::operator=(const safe_VkImageConstraintsInfoFUCHSIA& copy_src)
+{
+ if (©_src == this) return *this;
+
+ if (pCreateInfos)
+ delete[] pCreateInfos;
+ if (pFormatConstraints)
+ delete[] pFormatConstraints;
+ if (pNext)
+ FreePnextChain(pNext);
+
+ sType = copy_src.sType;
+ createInfoCount = copy_src.createInfoCount;
+ pCreateInfos = nullptr;
+ pFormatConstraints = nullptr;
+ minBufferCount = copy_src.minBufferCount;
+ maxBufferCount = copy_src.maxBufferCount;
+ minBufferCountForCamping = copy_src.minBufferCountForCamping;
+ minBufferCountForDedicatedSlack = copy_src.minBufferCountForDedicatedSlack;
+ minBufferCountForSharedSlack = copy_src.minBufferCountForSharedSlack;
+ pNext = SafePnextCopy(copy_src.pNext);
+ if (createInfoCount && copy_src.pCreateInfos) {
+ pCreateInfos = new safe_VkImageCreateInfo[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pCreateInfos[i].initialize(©_src.pCreateInfos[i]);
+ }
+ }
+ if (createInfoCount && copy_src.pFormatConstraints) {
+ pFormatConstraints = new safe_VkImageFormatConstraintsInfoFUCHSIA[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pFormatConstraints[i].initialize(©_src.pFormatConstraints[i]);
+ }
+ }
+
+ return *this;
+}
+
+safe_VkImageConstraintsInfoFUCHSIA::~safe_VkImageConstraintsInfoFUCHSIA()
+{
+ if (pCreateInfos)
+ delete[] pCreateInfos;
+ if (pFormatConstraints)
+ delete[] pFormatConstraints;
+ if (pNext)
+ FreePnextChain(pNext);
+}
+
+void safe_VkImageConstraintsInfoFUCHSIA::initialize(const VkImageConstraintsInfoFUCHSIA* in_struct)
+{
+ sType = in_struct->sType;
+ createInfoCount = in_struct->createInfoCount;
+ pCreateInfos = nullptr;
+ pFormatConstraints = nullptr;
+ minBufferCount = in_struct->minBufferCount;
+ maxBufferCount = in_struct->maxBufferCount;
+ minBufferCountForCamping = in_struct->minBufferCountForCamping;
+ minBufferCountForDedicatedSlack = in_struct->minBufferCountForDedicatedSlack;
+ minBufferCountForSharedSlack = in_struct->minBufferCountForSharedSlack;
+ pNext = SafePnextCopy(in_struct->pNext);
+ if (createInfoCount && in_struct->pCreateInfos) {
+ pCreateInfos = new safe_VkImageCreateInfo[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pCreateInfos[i].initialize(&in_struct->pCreateInfos[i]);
+ }
+ }
+ if (createInfoCount && in_struct->pFormatConstraints) {
+ pFormatConstraints = new safe_VkImageFormatConstraintsInfoFUCHSIA[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pFormatConstraints[i].initialize(&in_struct->pFormatConstraints[i]);
+ }
+ }
+}
+
+void safe_VkImageConstraintsInfoFUCHSIA::initialize(const safe_VkImageConstraintsInfoFUCHSIA* copy_src)
+{
+ sType = copy_src->sType;
+ createInfoCount = copy_src->createInfoCount;
+ pCreateInfos = nullptr;
+ pFormatConstraints = nullptr;
+ minBufferCount = copy_src->minBufferCount;
+ maxBufferCount = copy_src->maxBufferCount;
+ minBufferCountForCamping = copy_src->minBufferCountForCamping;
+ minBufferCountForDedicatedSlack = copy_src->minBufferCountForDedicatedSlack;
+ minBufferCountForSharedSlack = copy_src->minBufferCountForSharedSlack;
+ pNext = SafePnextCopy(copy_src->pNext);
+ if (createInfoCount && copy_src->pCreateInfos) {
+ pCreateInfos = new safe_VkImageCreateInfo[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pCreateInfos[i].initialize(©_src->pCreateInfos[i]);
+ }
+ }
+ if (createInfoCount && copy_src->pFormatConstraints) {
+ pFormatConstraints = new safe_VkImageFormatConstraintsInfoFUCHSIA[createInfoCount];
+ for (uint32_t i = 0; i < createInfoCount; ++i) {
+ pFormatConstraints[i].initialize(©_src->pFormatConstraints[i]);
+ }
+ }
+}
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+
+
safe_VkImportMemoryZirconHandleInfoFUCHSIA::safe_VkImportMemoryZirconHandleInfoFUCHSIA(const VkImportMemoryZirconHandleInfoFUCHSIA* in_struct) :
sType(in_struct->sType),
handleType(in_struct->handleType),
diff --git a/layers/generated/vk_safe_struct.h b/layers/generated/vk_safe_struct.h
index f51de8b..50c6223 100644
--- a/layers/generated/vk_safe_struct.h
+++ b/layers/generated/vk_safe_struct.h
@@ -7755,6 +7755,95 @@
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+struct safe_VkSysmemColorSpaceFUCHSIA {
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t colorSpace;
+ safe_VkSysmemColorSpaceFUCHSIA(const VkSysmemColorSpaceFUCHSIA* in_struct);
+ safe_VkSysmemColorSpaceFUCHSIA(const safe_VkSysmemColorSpaceFUCHSIA& copy_src);
+ safe_VkSysmemColorSpaceFUCHSIA& operator=(const safe_VkSysmemColorSpaceFUCHSIA& copy_src);
+ safe_VkSysmemColorSpaceFUCHSIA();
+ ~safe_VkSysmemColorSpaceFUCHSIA();
+ void initialize(const VkSysmemColorSpaceFUCHSIA* in_struct);
+ void initialize(const safe_VkSysmemColorSpaceFUCHSIA* copy_src);
+ VkSysmemColorSpaceFUCHSIA *ptr() { return reinterpret_cast<VkSysmemColorSpaceFUCHSIA *>(this); }
+ VkSysmemColorSpaceFUCHSIA const *ptr() const { return reinterpret_cast<VkSysmemColorSpaceFUCHSIA const *>(this); }
+};
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+struct safe_VkBufferCollectionProperties2FUCHSIA {
+ VkStructureType sType;
+ void* pNext;
+ uint32_t memoryTypeBits;
+ uint32_t bufferCount;
+ uint32_t createInfoIndex;
+ uint64_t sysmemFormat;
+ VkFormatFeatureFlags formatFeatures;
+ safe_VkSysmemColorSpaceFUCHSIA colorSpace;
+ VkComponentMapping samplerYcbcrConversionComponents;
+ VkSamplerYcbcrModelConversion suggestedYcbcrModel;
+ VkSamplerYcbcrRange suggestedYcbcrRange;
+ VkChromaLocation suggestedXChromaOffset;
+ VkChromaLocation suggestedYChromaOffset;
+ safe_VkBufferCollectionProperties2FUCHSIA(const VkBufferCollectionProperties2FUCHSIA* in_struct);
+ safe_VkBufferCollectionProperties2FUCHSIA(const safe_VkBufferCollectionProperties2FUCHSIA& copy_src);
+ safe_VkBufferCollectionProperties2FUCHSIA& operator=(const safe_VkBufferCollectionProperties2FUCHSIA& copy_src);
+ safe_VkBufferCollectionProperties2FUCHSIA();
+ ~safe_VkBufferCollectionProperties2FUCHSIA();
+ void initialize(const VkBufferCollectionProperties2FUCHSIA* in_struct);
+ void initialize(const safe_VkBufferCollectionProperties2FUCHSIA* copy_src);
+ VkBufferCollectionProperties2FUCHSIA *ptr() { return reinterpret_cast<VkBufferCollectionProperties2FUCHSIA *>(this); }
+ VkBufferCollectionProperties2FUCHSIA const *ptr() const { return reinterpret_cast<VkBufferCollectionProperties2FUCHSIA const *>(this); }
+};
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+struct safe_VkImageFormatConstraintsInfoFUCHSIA {
+ VkStructureType sType;
+ const void* pNext;
+ VkFormatFeatureFlags requiredFormatFeatures;
+ VkImageFormatConstraintsFlagsFUCHSIA flags;
+ uint64_t sysmemFormat;
+ uint32_t colorSpaceCount;
+ safe_VkSysmemColorSpaceFUCHSIA* pColorSpaces;
+ safe_VkImageFormatConstraintsInfoFUCHSIA(const VkImageFormatConstraintsInfoFUCHSIA* in_struct);
+ safe_VkImageFormatConstraintsInfoFUCHSIA(const safe_VkImageFormatConstraintsInfoFUCHSIA& copy_src);
+ safe_VkImageFormatConstraintsInfoFUCHSIA& operator=(const safe_VkImageFormatConstraintsInfoFUCHSIA& copy_src);
+ safe_VkImageFormatConstraintsInfoFUCHSIA();
+ ~safe_VkImageFormatConstraintsInfoFUCHSIA();
+ void initialize(const VkImageFormatConstraintsInfoFUCHSIA* in_struct);
+ void initialize(const safe_VkImageFormatConstraintsInfoFUCHSIA* copy_src);
+ VkImageFormatConstraintsInfoFUCHSIA *ptr() { return reinterpret_cast<VkImageFormatConstraintsInfoFUCHSIA *>(this); }
+ VkImageFormatConstraintsInfoFUCHSIA const *ptr() const { return reinterpret_cast<VkImageFormatConstraintsInfoFUCHSIA const *>(this); }
+};
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
+struct safe_VkImageConstraintsInfoFUCHSIA {
+ VkStructureType sType;
+ const void* pNext;
+ uint32_t createInfoCount;
+ safe_VkImageCreateInfo* pCreateInfos;
+ safe_VkImageFormatConstraintsInfoFUCHSIA* pFormatConstraints;
+ uint32_t minBufferCount;
+ uint32_t maxBufferCount;
+ uint32_t minBufferCountForCamping;
+ uint32_t minBufferCountForDedicatedSlack;
+ uint32_t minBufferCountForSharedSlack;
+ safe_VkImageConstraintsInfoFUCHSIA(const VkImageConstraintsInfoFUCHSIA* in_struct);
+ safe_VkImageConstraintsInfoFUCHSIA(const safe_VkImageConstraintsInfoFUCHSIA& copy_src);
+ safe_VkImageConstraintsInfoFUCHSIA& operator=(const safe_VkImageConstraintsInfoFUCHSIA& copy_src);
+ safe_VkImageConstraintsInfoFUCHSIA();
+ ~safe_VkImageConstraintsInfoFUCHSIA();
+ void initialize(const VkImageConstraintsInfoFUCHSIA* in_struct);
+ void initialize(const safe_VkImageConstraintsInfoFUCHSIA* copy_src);
+ VkImageConstraintsInfoFUCHSIA *ptr() { return reinterpret_cast<VkImageConstraintsInfoFUCHSIA *>(this); }
+ VkImageConstraintsInfoFUCHSIA const *ptr() const { return reinterpret_cast<VkImageConstraintsInfoFUCHSIA const *>(this); }
+};
+#endif // VK_USE_PLATFORM_FUCHSIA
+
+#ifdef VK_USE_PLATFORM_FUCHSIA
struct safe_VkImportMemoryZirconHandleInfoFUCHSIA {
VkStructureType sType;
const void* pNext;
diff --git a/layers/generated/vk_typemap_helper.h b/layers/generated/vk_typemap_helper.h
index 68d3401..5b8dcf9 100644
--- a/layers/generated/vk_typemap_helper.h
+++ b/layers/generated/vk_typemap_helper.h
@@ -3984,6 +3984,50 @@
#endif // VK_USE_PLATFORM_FUCHSIA
#ifdef VK_USE_PLATFORM_FUCHSIA
+// Map type VkSysmemColorSpaceFUCHSIA to id VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA
+template <> struct LvlTypeMap<VkSysmemColorSpaceFUCHSIA> {
+ static const VkStructureType kSType = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA;
+};
+
+template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA> {
+ typedef VkSysmemColorSpaceFUCHSIA Type;
+};
+
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
+// Map type VkBufferCollectionProperties2FUCHSIA to id VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA
+template <> struct LvlTypeMap<VkBufferCollectionProperties2FUCHSIA> {
+ static const VkStructureType kSType = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA;
+};
+
+template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIA> {
+ typedef VkBufferCollectionProperties2FUCHSIA Type;
+};
+
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
+// Map type VkImageFormatConstraintsInfoFUCHSIA to id VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA
+template <> struct LvlTypeMap<VkImageFormatConstraintsInfoFUCHSIA> {
+ static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA;
+};
+
+template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA> {
+ typedef VkImageFormatConstraintsInfoFUCHSIA Type;
+};
+
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
+// Map type VkImageConstraintsInfoFUCHSIA to id VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA
+template <> struct LvlTypeMap<VkImageConstraintsInfoFUCHSIA> {
+ static const VkStructureType kSType = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA;
+};
+
+template <> struct LvlSTypeMap<VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA> {
+ typedef VkImageConstraintsInfoFUCHSIA Type;
+};
+
+#endif // VK_USE_PLATFORM_FUCHSIA
+#ifdef VK_USE_PLATFORM_FUCHSIA
// Map type VkImportMemoryZirconHandleInfoFUCHSIA to id VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA
template <> struct LvlTypeMap<VkImportMemoryZirconHandleInfoFUCHSIA> {
static const VkStructureType kSType = VK_STRUCTURE_TYPE_TEMP_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA;