From 7eda897bf05dc572dbe83f3a1075b773b0c65708 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tapani=20P=C3=A4lli?= Date: Thu, 20 Aug 2015 10:25:59 +0300 Subject: [PATCH] mesa: update fbo state in glTexStorage MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We have to re-validate FBOs rendering to the texture like is done with TexImage and CopyTexImage. Signed-off-by: Tapani Pälli Reviewed-by: Anuj Phogat Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91673 Cc: "10.6" --- src/mesa/main/texstorage.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/mesa/main/texstorage.c b/src/mesa/main/texstorage.c index db2b63d8ac2..51f49b33fcf 100644 --- a/src/mesa/main/texstorage.c +++ b/src/mesa/main/texstorage.c @@ -189,6 +189,20 @@ clear_texture_fields(struct gl_context *ctx, } +/** + * Update/re-validate framebuffer object. + */ +static void +update_fbo_texture(struct gl_context *ctx, struct gl_texture_object *texObj) +{ + const unsigned numFaces = _mesa_num_tex_faces(texObj->Target); + for (int level = 0; level < ARRAY_SIZE(texObj->Image[0]); level++) { + for (unsigned face = 0; face < numFaces; face++) + _mesa_update_fbo_texture(ctx, texObj, face, level); + } +} + + GLboolean _mesa_is_legal_tex_storage_format(struct gl_context *ctx, GLenum internalformat) { @@ -446,6 +460,7 @@ _mesa_texture_storage(struct gl_context *ctx, GLuint dims, _mesa_set_texture_view_state(ctx, texObj, target, levels); + update_fbo_texture(ctx, texObj); } } -- 2.30.2