diff options
author | Guillaume Charifi <[email protected]> | 2018-01-05 17:49:39 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2018-02-20 20:54:49 +0100 |
commit | 56bfcd50f7f49d9c5119cd1297064b4d62a0d964 (patch) | |
tree | 4f06ac8518a350b0591e88c632205d990ff1ef6b | |
parent | 4c4e6232ee2e6dd4c19f526c06df05b829174240 (diff) |
st/mesa: Factorize duplicate code in st_update_framebuffer_state()
Signed-off-by: Guillaume Charifi <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Signed-off-by: Marek Olšák <[email protected]>
-rw-r--r-- | src/mesa/state_tracker/st_atom_framebuffer.c | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/mesa/state_tracker/st_atom_framebuffer.c b/src/mesa/state_tracker/st_atom_framebuffer.c index a29f5b35a85..3ef3ff34a97 100644 --- a/src/mesa/state_tracker/st_atom_framebuffer.c +++ b/src/mesa/state_tracker/st_atom_framebuffer.c @@ -172,6 +172,9 @@ st_update_framebuffer_state( struct st_context *st ) * Depth/Stencil renderbuffer/surface. */ strb = st_renderbuffer(fb->Attachment[BUFFER_DEPTH].Renderbuffer); + if (!strb) + strb = st_renderbuffer(fb->Attachment[BUFFER_STENCIL].Renderbuffer); + if (strb) { if (strb->is_rtt) { /* rendering to a GL texture, may have to update surface */ @@ -180,19 +183,8 @@ st_update_framebuffer_state( struct st_context *st ) framebuffer.zsbuf = strb->surface; update_framebuffer_size(&framebuffer, strb->surface); } - else { - strb = st_renderbuffer(fb->Attachment[BUFFER_STENCIL].Renderbuffer); - if (strb) { - if (strb->is_rtt) { - /* rendering to a GL texture, may have to update surface */ - st_update_renderbuffer_surface(st, strb); - } - framebuffer.zsbuf = strb->surface; - update_framebuffer_size(&framebuffer, strb->surface); - } - else - framebuffer.zsbuf = NULL; - } + else + framebuffer.zsbuf = NULL; #ifdef DEBUG /* Make sure the resource binding flags were set properly */ |