nouveau: stop using _DepthBuffer, _StencilBuffer fields

Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Brian Paul 2011-12-10 11:44:43 -07:00
parent d124092864
commit a782db5570
6 changed files with 14 additions and 13 deletions

View file

@ -152,8 +152,8 @@ framebuffer_map_unmap(struct gl_framebuffer *fb, GLboolean map)
renderbuffer_map_unmap(fb->_ColorReadBuffer, map);
if (fb->_DepthBuffer)
renderbuffer_map_unmap(fb->_DepthBuffer->Wrapped, map);
if (fb->Attachment[BUFFER_DEPTH].Renderbuffer)
renderbuffer_map_unmap(fb->Attachment[BUFFER_DEPTH].Renderbuffer, map);
}
static void

View file

@ -76,9 +76,9 @@ nv04_emit_framebuffer(struct gl_context *ctx, int emit)
}
/* depth/stencil */
if (fb->_DepthBuffer) {
if (fb->Attachment[BUFFER_DEPTH].Renderbuffer) {
s = &to_nouveau_renderbuffer(
fb->_DepthBuffer->Wrapped)->surface;
fb->Attachment[BUFFER_DEPTH].Renderbuffer)->surface;
zeta_pitch = s->pitch;

View file

@ -61,10 +61,11 @@ nv10_use_viewport_zclear(struct gl_context *ctx)
{
struct nouveau_context *nctx = to_nouveau_context(ctx);
struct gl_framebuffer *fb = ctx->DrawBuffer;
struct gl_renderbuffer *depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer;
return context_chipset(ctx) < 0x17 &&
!nctx->hierz.clear_blocked && fb->_DepthBuffer &&
(_mesa_get_format_bits(fb->_DepthBuffer->Format,
!nctx->hierz.clear_blocked && depthRb &&
(_mesa_get_format_bits(depthRb->Format,
GL_DEPTH_BITS) >= 24);
}
@ -97,7 +98,7 @@ nv10_zclear(struct gl_context *ctx, GLbitfield *buffers)
struct gl_framebuffer *fb = ctx->DrawBuffer;
struct nouveau_framebuffer *nfb = to_nouveau_framebuffer(fb);
struct nouveau_surface *s = &to_nouveau_renderbuffer(
fb->_DepthBuffer->Wrapped)->surface;
fb->Attachment[BUFFER_DEPTH].Renderbuffer)->surface;
if (nv10_use_viewport_zclear(ctx)) {
int x, y, w, h;
@ -148,7 +149,7 @@ nv17_zclear(struct gl_context *ctx, GLbitfield *buffers)
struct nouveau_framebuffer *nfb = to_nouveau_framebuffer(
ctx->DrawBuffer);
struct nouveau_surface *s = &to_nouveau_renderbuffer(
nfb->base._DepthBuffer->Wrapped)->surface;
nfb->base.Attachment[BUFFER_DEPTH].Renderbuffer)->surface;
/* Clear the hierarchical depth buffer */
BEGIN_RING(chan, celsius, NV17_3D_HIERZ_FILL_VALUE, 1);

View file

@ -125,9 +125,9 @@ nv10_emit_framebuffer(struct gl_context *ctx, int emit)
}
/* depth/stencil */
if (fb->_DepthBuffer) {
if (fb->Attachment[BUFFER_DEPTH].Renderbuffer) {
s = &to_nouveau_renderbuffer(
fb->_DepthBuffer->Wrapped)->surface;
fb->Attachment[BUFFER_DEPTH].Renderbuffer)->surface;
rt_format |= get_rt_format(s->format);
zeta_pitch = s->pitch;

View file

@ -66,7 +66,7 @@ nv20_clear(struct gl_context *ctx, GLbitfield buffers)
if (buffers & (BUFFER_BIT_DEPTH | BUFFER_BIT_STENCIL)) {
struct nouveau_surface *s = &to_nouveau_renderbuffer(
fb->_DepthBuffer->Wrapped)->surface;
fb->Attachment[BUFFER_DEPTH].Renderbuffer)->surface;
if (buffers & BUFFER_BIT_DEPTH && ctx->Depth.Mask)
clear |= NV20_3D_CLEAR_BUFFERS_DEPTH;

View file

@ -104,9 +104,9 @@ nv20_emit_framebuffer(struct gl_context *ctx, int emit)
}
/* depth/stencil */
if (fb->_DepthBuffer) {
if (fb->Attachment[BUFFER_DEPTH].Renderbuffer) {
s = &to_nouveau_renderbuffer(
fb->_DepthBuffer->Wrapped)->surface;
fb->Attachment[BUFFER_DEPTH].Renderbuffer)->surface;
rt_format |= get_rt_format(s->format);
zeta_pitch = s->pitch;