drivers/meta: Accept GL_TEXTURE_3D as target for tex image decompression
[mesa.git] / src / mesa / drivers / common / meta_copy_image.c
index 18b9681b71009ac94171fad55e6670b6a34dcc9e..e1c90a372d2d6317d584120100910049b2b26398 100644 (file)
@@ -101,9 +101,9 @@ make_view(struct gl_context *ctx, struct gl_texture_image *tex_image,
                                            0, internal_format,
                                            GL_NONE, GL_NONE);
 
-   if (!ctx->Driver.TestProxyTexImage(ctx, tex_obj->Target, 0, tex_format,
-                                      tex_image->Width, tex_image->Height,
-                                      tex_image->Depth, 0)) {
+   if (!ctx->Driver.TestProxyTexImage(ctx, tex_obj->Target, 1, 0, tex_format,
+                                      1, tex_image->Width, tex_image->Height,
+                                      tex_image->Depth)) {
       _mesa_DeleteTextures(1, view_tex_name);
       *view_tex_name = 0;
       return false;
@@ -168,7 +168,7 @@ _mesa_meta_CopyImageSubData_uncompressed(struct gl_context *ctx,
    GLuint src_view_texture = 0;
    struct gl_texture_image *src_view_tex_image;
    struct gl_framebuffer *readFb;
-   struct gl_framebuffer *drawFb;
+   struct gl_framebuffer *drawFb = NULL;
    bool success = false;
    GLbitfield mask;
    GLenum status, attachment;
@@ -269,6 +269,9 @@ _mesa_meta_CopyImageSubData_uncompressed(struct gl_context *ctx,
    if (status != GL_FRAMEBUFFER_COMPLETE)
       goto meta_end;
 
+   /* Explicitly disable sRGB encoding */
+   ctx->DrawBuffer->Visual.sRGBCapable = false;
+
    /* Since we've bound a new draw framebuffer, we need to update its
     * derived state -- _Xmin, etc -- for BlitFramebuffer's clipping to
     * be correct.