Both patches:

Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>

On 07.10.2017 22:42, Kenneth Graunke wrote:
From: Karol Herbst <karolher...@gmail.com>

Fixes 'KHR-GL45.copy_image.functional' on Nouveau and i965.

v2: (by Kenneth Graunke)
     Rewrite patch according to Jason Ekstrand's review feedback.
     This makes it handle differing strides, which i965 needed.

Signed-off-by: Karol Herbst <karolher...@gmail.com>
---
  src/mesa/main/format_utils.c | 14 ++++++++++++++
  1 file changed, 14 insertions(+)

diff --git a/src/mesa/main/format_utils.c b/src/mesa/main/format_utils.c
index d16d69c3795..31580750bd4 100644
--- a/src/mesa/main/format_utils.c
+++ b/src/mesa/main/format_utils.c
@@ -312,6 +312,20 @@ _mesa_format_convert(void *void_dst, uint32_t dst_format, 
size_t dst_stride,
      * enable it for specific combinations that are known to work.
      */
     if (!rebase_swizzle) {
+      /* Do a direct memcpy where possible */
+      if ((dst_format_is_mesa_array_format &&
+           src_format_is_mesa_array_format &&
+           src_array_format == dst_array_format) ||
+          src_format == dst_format) {
+         int format_size = _mesa_get_format_bytes(src_format);
+         for (row = 0; row < height; row++) {
+            memcpy(dst, src, width * format_size);
+            src += src_stride;
+            dst += dst_stride;
+         }
+         return;
+      }
+
        /* Handle the cases where we can directly unpack */
        if (!src_format_is_mesa_array_format) {
           if (dst_array_format == RGBA32_FLOAT) {



--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to