From 3f76b2a272fb01147bc274398400a48fc37d5ecd Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 11 Jul 2022 10:59:00 -0400 Subject: [PATCH] lavapipe: don't overwrite entire VkFormatProperties3 struct this clobbers pNext and breaks tooling, as found by Panagiotis Apostolou Fixes: f72d5a930b1 ("lavapipe: KHR_format_feature_flags2") Reviewed-by: Dave Airlie Part-of: (cherry picked from commit 276557b9c6261a26fb11932c8e51faf23893f482) --- .pick_status.json | 2 +- src/gallium/frontends/lavapipe/lvp_formats.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 0ea4044bfb7..2a0318efaaf 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -193,7 +193,7 @@ "description": "lavapipe: don't overwrite entire VkFormatProperties3 struct", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "f72d5a930b17fb287a58b1ecbc4ec1356e36160b" }, diff --git a/src/gallium/frontends/lavapipe/lvp_formats.c b/src/gallium/frontends/lavapipe/lvp_formats.c index f294d67357c..7b31d5eef5e 100644 --- a/src/gallium/frontends/lavapipe/lvp_formats.c +++ b/src/gallium/frontends/lavapipe/lvp_formats.c @@ -187,8 +187,11 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFormatProperties2( pFormatProperties->formatProperties.optimalTilingFeatures = format_props.optimalTilingFeatures & VK_ALL_FORMAT_FEATURE_FLAG_BITS; pFormatProperties->formatProperties.bufferFeatures = format_props.bufferFeatures & VK_ALL_FORMAT_FEATURE_FLAG_BITS; VkFormatProperties3 *prop3 = (void*)vk_find_struct_const(pFormatProperties->pNext, FORMAT_PROPERTIES_3); - if (prop3) - *prop3 = format_props; + if (prop3) { + prop3->linearTilingFeatures = format_props.linearTilingFeatures; + prop3->optimalTilingFeatures = format_props.optimalTilingFeatures; + prop3->bufferFeatures = format_props.bufferFeatures; + } } static VkResult lvp_get_image_format_properties(struct lvp_physical_device *physical_device, const VkPhysicalDeviceImageFormatInfo2 *info,