<div dir="ltr">Reviewed-by: Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 24, 2017 at 9:42 AM, Jason Ekstrand <span dir="ltr"><<a href="mailto:jason@jlekstrand.net" target="_blank">jason@jlekstrand.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">As of VK_KHR_maintenance1, these are supposed to be reported for any<br>
formats on which we support transfer operations.  For us, this is<br>
anything that we can texture from.<br>
<br>
</span>Reviewed-by: Iago Toral Quiroga <<a href="mailto:itoral@igalia.com">itoral@igalia.com</a>><br>
Reviewed-by: Lionel Landwerlin <<a href="mailto:lionel.g.landwerlin@intel.com">lionel.g.landwerlin@intel.com</a><wbr>><br>
<br>
v2: Add the flags to buffer_format_properties as well.<br>
---<br>
 src/intel/vulkan/anv_formats.c | 14 +++++++++++++-<br>
 1 file changed, 13 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/src/intel/vulkan/anv_<wbr>formats.c b/src/intel/vulkan/anv_<wbr>formats.c<br>
index a5d783e..f4183f0 100644<br>
<span class="">--- a/src/intel/vulkan/anv_<wbr>formats.c<br>
+++ b/src/intel/vulkan/anv_<wbr>formats.c<br>
@@ -348,6 +348,11 @@ get_image_format_properties(<wbr>const struct gen_device_info *devinfo,<br>
    if (base == ISL_FORMAT_R32_SINT || base == ISL_FORMAT_R32_UINT)<br>
       flags |= VK_FORMAT_FEATURE_STORAGE_<wbr>IMAGE_ATOMIC_BIT;<br>
<br>
+   if (flags) {<br>
+      flags |= VK_FORMAT_FEATURE_TRANSFER_<wbr>SRC_BIT_KHR |<br>
+               VK_FORMAT_FEATURE_TRANSFER_<wbr>DST_BIT_KHR;<br>
+   }<br>
+<br>
    return flags;<br>
 }<br>
<br>
</span>@@ -372,6 +377,11 @@ get_buffer_format_properties(<wbr>const struct gen_device_info *devinfo,<br>
    if (format == ISL_FORMAT_R32_SINT || format == ISL_FORMAT_R32_UINT)<br>
       flags |= VK_FORMAT_FEATURE_STORAGE_<wbr>TEXEL_BUFFER_ATOMIC_BIT;<br>
<span class=""><br>
+   if (flags) {<br>
+      flags |= VK_FORMAT_FEATURE_TRANSFER_<wbr>SRC_BIT_KHR |<br>
+               VK_FORMAT_FEATURE_TRANSFER_<wbr>DST_BIT_KHR;<br>
+   }<br>
+<br>
    return flags;<br>
 }<br>
<br>
</span>@@ -393,7 +403,9 @@ anv_physical_device_get_<wbr>format_properties(struct anv_physical_device *physical_d<br>
<div class="HOEnZb"><div class="h5">          tiled |= VK_FORMAT_FEATURE_SAMPLED_<wbr>IMAGE_BIT;<br>
<br>
       tiled |= VK_FORMAT_FEATURE_BLIT_SRC_BIT |<br>
-               VK_FORMAT_FEATURE_BLIT_DST_<wbr>BIT;<br>
+               VK_FORMAT_FEATURE_BLIT_DST_BIT |<br>
+               VK_FORMAT_FEATURE_TRANSFER_<wbr>SRC_BIT_KHR |<br>
+               VK_FORMAT_FEATURE_TRANSFER_<wbr>DST_BIT_KHR;<br>
    } else {<br>
       struct anv_format linear_fmt, tiled_fmt;<br>
       linear_fmt = anv_get_format(&physical_<wbr>device->info, format,<br>
--<br>
2.5.0.400.gff86faf<br>
<br>
</div></div></blockquote></div><br></div>