diff options
author | Marek Olšák <[email protected]> | 2017-06-20 13:44:31 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-06-22 01:48:30 +0200 |
commit | d28cc798bdf10c7e85189dc2dc3461d63e2fbfc7 (patch) | |
tree | f731f897bb0b20368c8f093410f1229c885dd1b3 | |
parent | 6a86795a3d1cc50b38c8c10c951037d39bd42e79 (diff) |
meta: do the full FBO completeness check in decompress_texture_image
_mesa_update_state will no longer recompute Width/Height if the framebuffer
is complete. We now rely on the FBO completeness check to do it.
The only code that needs to be fixed seems to be this one.
Reviewed-by: Ian Romanick <[email protected]>
Tested-by: Ian Romanick <[email protected]>
-rw-r--r-- | src/mesa/drivers/common/meta.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 39499c736bb..87f656062bd 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -3064,6 +3064,11 @@ decompress_texture_image(struct gl_context *ctx, if (width > decompress_fbo->Width || height > decompress_fbo->Height) { _mesa_renderbuffer_storage(ctx, decompress_fbo->rb, rbFormat, width, height, 0); + + /* Do the full completeness check to recompute + * ctx->DrawBuffer->Width/Height. + */ + ctx->DrawBuffer->_Status = GL_FRAMEBUFFER_UNDEFINED; status = _mesa_check_framebuffer_status(ctx, ctx->DrawBuffer); if (status != GL_FRAMEBUFFER_COMPLETE) { /* If the framebuffer isn't complete then we'll leave |