i965: Use create_for_dri_image in intel_update_image_buffer
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 16 Jun 2017 17:28:39 +0000 (10:28 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 13 Jul 2017 04:15:46 +0000 (21:15 -0700)
Reviewed-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
src/mesa/drivers/dri/i965/brw_context.c

index c1a429bfcbee5fa85105cfa82264932fb8a4add2..5c57b864c29d7e1b8fcc5a3c480cd38ff3485f02 100644 (file)
@@ -1581,16 +1581,21 @@ intel_update_image_buffer(struct brw_context *intel,
    if (last_mt && last_mt->bo == buffer->bo)
       return;
 
+   enum isl_colorspace colorspace;
+   switch (_mesa_get_format_color_encoding(intel_rb_format(rb))) {
+   case GL_SRGB:
+      colorspace = ISL_COLORSPACE_SRGB;
+      break;
+   case GL_LINEAR:
+      colorspace = ISL_COLORSPACE_LINEAR;
+      break;
+   default:
+      unreachable("Invalid color encoding");
+   }
+
    struct intel_mipmap_tree *mt =
-      intel_miptree_create_for_bo(intel,
-                                  buffer->bo,
-                                  intel_rb_format(rb),
-                                  0,
-                                  buffer->width,
-                                  buffer->height,
-                                  1,
-                                  buffer->pitch,
-                                  MIPTREE_LAYOUT_FOR_SCANOUT);
+      intel_miptree_create_for_dri_image(intel, buffer, GL_TEXTURE_2D,
+                                         colorspace, true);
    if (!mt)
       return;