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,