Mesa (master): v3dv: ignore filter in TFU blit path

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Dec 1 11:33:22 UTC 2020


Module: Mesa
Branch: master
Commit: fd4016f978292e1576e28086eeab44eb1225ab25
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fd4016f978292e1576e28086eeab44eb1225ab25

Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Tue Dec  1 10:49:27 2020 +0100

v3dv: ignore filter in TFU blit path

The filter is only relevant to handle blits that invole scaling, but
our TFU path doesn't handle any kind of scaling so we can safely
ignore it.

Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7845>

---

 src/broadcom/vulkan/v3dv_meta_copy.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/broadcom/vulkan/v3dv_meta_copy.c b/src/broadcom/vulkan/v3dv_meta_copy.c
index 9aba1a9ed25..7ec0a108fc9 100644
--- a/src/broadcom/vulkan/v3dv_meta_copy.c
+++ b/src/broadcom/vulkan/v3dv_meta_copy.c
@@ -4001,21 +4001,19 @@ compute_blit_3d_layers(const VkOffset3D *offsets,
 /**
  * Returns true if the implementation supports the requested operation (even if
  * it failed to process it, for example, due to an out-of-memory error).
+ *
+ * The TFU blit path doesn't handle scaling so the blit filter parameter can
+ * be ignored.
  */
 static bool
 blit_tfu(struct v3dv_cmd_buffer *cmd_buffer,
          struct v3dv_image *dst,
          struct v3dv_image *src,
-         const VkImageBlit *region,
-         VkFilter filter)
+         const VkImageBlit *region)
 {
    assert(dst->samples == VK_SAMPLE_COUNT_1_BIT);
    assert(src->samples == VK_SAMPLE_COUNT_1_BIT);
 
-   /* FIXME: The v3d driver seems to ignore filtering completely! */
-   if (filter != VK_FILTER_NEAREST)
-      return false;
-
    /* Format must match */
    if (src->vk_format != dst->vk_format)
       return false;
@@ -5444,7 +5442,7 @@ v3dv_CmdBlitImage(VkCommandBuffer commandBuffer,
    assert(!vk_format_is_compressed(dst->vk_format));
 
    for (uint32_t i = 0; i < regionCount; i++) {
-      if (blit_tfu(cmd_buffer, dst, src, &pRegions[i], filter))
+      if (blit_tfu(cmd_buffer, dst, src, &pRegions[i]))
          continue;
       if (blit_shader(cmd_buffer,
                       dst, dst->vk_format,



More information about the mesa-commit mailing list