summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_atom_framebuffer.c
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2015-04-24 19:17:11 -0400
committerIlia Mirkin <imirkin@alum.mit.edu>2015-05-12 18:41:11 -0400
commit380f7611b5d23b72684ce1eb848f956945e4c39b (patch)
tree0e564d8d98b23c0962947d8d3d976876deed3055 /src/mesa/state_tracker/st_atom_framebuffer.c
parent71ba30f7788167c04d0968d286a387fce16afcce (diff)
downloadexternal_mesa3d-380f7611b5d23b72684ce1eb848f956945e4c39b.zip
external_mesa3d-380f7611b5d23b72684ce1eb848f956945e4c39b.tar.gz
external_mesa3d-380f7611b5d23b72684ce1eb848f956945e4c39b.tar.bz2
st/mesa: update stencil surface if it comes from texture
Now that ARB_texture_stencil8 is supported, this might happen. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/mesa/state_tracker/st_atom_framebuffer.c')
-rw-r--r--src/mesa/state_tracker/st_atom_framebuffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_atom_framebuffer.c b/src/mesa/state_tracker/st_atom_framebuffer.c
index b195c55..ae883a2 100644
--- a/src/mesa/state_tracker/st_atom_framebuffer.c
+++ b/src/mesa/state_tracker/st_atom_framebuffer.c
@@ -134,7 +134,10 @@ update_framebuffer_state( struct st_context *st )
else {
strb = st_renderbuffer(fb->Attachment[BUFFER_STENCIL].Renderbuffer);
if (strb) {
- assert(strb->surface);
+ if (strb->is_rtt) {
+ /* rendering to a GL texture, may have to update surface */
+ st_update_renderbuffer_surface(st, strb);
+ }
pipe_surface_reference(&framebuffer->zsbuf, strb->surface);
update_framebuffer_size(framebuffer, strb->surface);
}