Mesa (master): mesa/st: calculate texture size based on EGLImage miplevel

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Sep 26 06:32:57 UTC 2019


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

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Tue Sep 24 14:34:40 2019 +0300

mesa/st: calculate texture size based on EGLImage miplevel

Fixes issues with 'egl-gl_oes_egl_image' Piglit test.

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/mesa/state_tracker/st_cb_eglimage.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/mesa/state_tracker/st_cb_eglimage.c b/src/mesa/state_tracker/st_cb_eglimage.c
index 77abe55cfb2..c4eac0ce44a 100644
--- a/src/mesa/state_tracker/st_cb_eglimage.c
+++ b/src/mesa/state_tracker/st_cb_eglimage.c
@@ -271,8 +271,11 @@ st_bind_egl_image(struct gl_context *ctx,
    }
    assert(texFormat != MESA_FORMAT_NONE);
 
-   _mesa_init_teximage_fields(ctx, texImage,
-                              stimg->texture->width0, stimg->texture->height0,
+   /* Minify texture size based on level set on the EGLImage. */
+   uint32_t width = u_minify(stimg->texture->width0, stimg->level);
+   uint32_t height = u_minify(stimg->texture->height0, stimg->level);
+
+   _mesa_init_teximage_fields(ctx, texImage, width, height,
                               1, 0, internalFormat, texFormat);
 
    pipe_resource_reference(&stObj->pt, stimg->texture);




More information about the mesa-commit mailing list