Browse Source

use intel_region_reference() in MakeCurrent to make sure we don't accidentally lose the screen->front/back/depth regions

tags/texman_0_1_20060325
Brian Paul 20 years ago
parent
commit
45a1083ee7
1 changed files with 12 additions and 8 deletions
  1. 12
    8
      src/mesa/drivers/dri/i915/intel_context.c

+ 12
- 8
src/mesa/drivers/dri/i915/intel_context.c View File

@@ -526,14 +526,18 @@ GLboolean intelMakeCurrent(__DRIcontextPrivate *driContextPriv,
struct intel_renderbuffer *irbStencil
= intel_get_renderbuffer(drawFb, BUFFER_STENCIL);

if (irbFront && !irbFront->region)
irbFront->region = intel->front_region;
if (irbBack && !irbBack->region)
irbBack->region = intel->back_region;
if (irbDepth && !irbDepth->region)
irbDepth->region = intel->depth_region;
if (irbStencil && !irbStencil->region)
irbStencil->region = intel->depth_region; /* YES */
if (irbFront && !irbFront->region) {
intel_region_reference(&irbFront->region, intel->front_region);
}
if (irbBack && !irbBack->region) {
intel_region_reference(&irbBack->region, intel->back_region);
}
if (irbDepth && !irbDepth->region) {
intel_region_reference(&irbDepth->region, intel->depth_region);
}
if (irbStencil && !irbStencil->region) {
intel_region_reference(&irbStencil->region, intel->depth_region);
}
}

_mesa_make_current(&intel->ctx, drawFb, readFb);

Loading…
Cancel
Save