summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/intel/intel_depthstencil.c
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2009-01-14 16:42:19 -0700
committerBrian Paul <brianp@vmware.com>2009-01-14 16:49:24 -0700
commit947d1c5b2a70c0eafa4c408b47607574a2908468 (patch)
treed7ace9712ef4e69aa74db43d28623e6670bc05c7 /src/mesa/drivers/dri/intel/intel_depthstencil.c
parentc7f43543af8a0bf95750eb6d332fdede07d104ea (diff)
i965: asst. fixes, work-arounds for FBOs and render to texture
OpenGL allows mixing and matching depth and stencil renderbuffers in framebuffer objects while the hardware really only supports interleaved depth/stencil buffers. This makes for some tricky buffer management. An extra wrinkle is the situation where the user allocates a 16bpp depth texture or renderbuffer then tries to render to it along with a stencil buffer. We'd have to promote the 16bpp Z values to 24-bit Z values and mix in the stencil values to setup the depth/stencil renderbuffer. There's no support for that now, so always allocate 32bpp depth textures/ renderbuffers for now.
Diffstat (limited to 'src/mesa/drivers/dri/intel/intel_depthstencil.c')
-rw-r--r--src/mesa/drivers/dri/intel/intel_depthstencil.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_depthstencil.c b/src/mesa/drivers/dri/intel/intel_depthstencil.c
index f43b9aed48..354b3bf0d7 100644
--- a/src/mesa/drivers/dri/intel/intel_depthstencil.c
+++ b/src/mesa/drivers/dri/intel/intel_depthstencil.c
@@ -110,7 +110,10 @@ intel_unpair_depth_stencil(GLcontext *ctx, struct intel_renderbuffer *irb)
ASSERT(stencilIrb->PairedDepth == rb->Name);
intel_renderbuffer_map(intel, rb);
intel_renderbuffer_map(intel, stencilRb);
+#if 0
+ /* disable for now */
_mesa_extract_stencil(ctx, rb, stencilRb);
+#endif
intel_renderbuffer_unmap(intel, stencilRb);
intel_renderbuffer_unmap(intel, rb);
stencilIrb->PairedDepth = 0;
@@ -132,7 +135,10 @@ intel_unpair_depth_stencil(GLcontext *ctx, struct intel_renderbuffer *irb)
ASSERT(depthIrb->PairedStencil == rb->Name);
intel_renderbuffer_map(intel, rb);
intel_renderbuffer_map(intel, depthRb);
+#if 0
+ /* disable for now */
_mesa_extract_stencil(ctx, depthRb, rb);
+#endif
intel_renderbuffer_unmap(intel, depthRb);
intel_renderbuffer_unmap(intel, rb);
depthIrb->PairedStencil = 0;