st/mesa: Finalize texture on render-to-texture.
This makes sure that stObj->pt exists and is up to date. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=39193 and piglit fbo-incomplete-texture-03. Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Brian Paul <brianp@vmware.com> NOTE: This is a candidate for the 7.11 branch.
This commit is contained in:
committed by
Michel Dänzer
parent
4beb8f9e9d
commit
de414f4915
@@ -47,6 +47,7 @@
|
||||
#include "st_context.h"
|
||||
#include "st_cb_fbo.h"
|
||||
#include "st_cb_flush.h"
|
||||
#include "st_cb_texture.h"
|
||||
#include "st_format.h"
|
||||
#include "st_texture.h"
|
||||
#include "st_manager.h"
|
||||
@@ -340,15 +341,17 @@ st_render_texture(struct gl_context *ctx,
|
||||
struct pipe_context *pipe = st->pipe;
|
||||
struct st_renderbuffer *strb;
|
||||
struct gl_renderbuffer *rb;
|
||||
struct pipe_resource *pt = st_get_texobj_resource(att->Texture);
|
||||
struct pipe_resource *pt;
|
||||
struct st_texture_object *stObj;
|
||||
const struct gl_texture_image *texImage;
|
||||
struct pipe_surface surf_tmpl;
|
||||
|
||||
/* When would this fail? Perhaps assert? */
|
||||
if (!pt)
|
||||
if (!st_finalize_texture(ctx, pipe, att->Texture))
|
||||
return;
|
||||
|
||||
pt = st_get_texobj_resource(att->Texture);
|
||||
assert(pt);
|
||||
|
||||
/* get pointer to texture image we're rendeing to */
|
||||
texImage = _mesa_get_attachment_teximage(att);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user