From: Ben Skeggs Date: Tue, 20 Nov 2007 08:10:58 +0000 (+1100) Subject: nv40: use native Z24_S8 format for zeta buffer X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f01e305e989189fce146d26793e795aa83ff980d;p=mesa.git nv40: use native Z24_S8 format for zeta buffer --- diff --git a/src/mesa/pipe/nv40/nv40_clear.c b/src/mesa/pipe/nv40/nv40_clear.c index f3b7a23689f..7890107c957 100644 --- a/src/mesa/pipe/nv40/nv40_clear.c +++ b/src/mesa/pipe/nv40/nv40_clear.c @@ -10,12 +10,6 @@ void nv40_clear(struct pipe_context *pipe, struct pipe_surface *ps, unsigned clearValue) { - /*XXX: We're actually Z24_S8... */ - if (ps->format == PIPE_FORMAT_S8_Z24) { - clearValue = (((clearValue & 0xff000000) >> 24) | - ((clearValue & 0x00ffffff) << 8)); - } - pipe->region_fill(pipe, ps->region, 0, 0, 0, ps->width, ps->height, clearValue); } diff --git a/src/mesa/pipe/nv40/nv40_context.c b/src/mesa/pipe/nv40/nv40_context.c index ef5f21cb9c3..8462d08f8d9 100644 --- a/src/mesa/pipe/nv40/nv40_context.c +++ b/src/mesa/pipe/nv40/nv40_context.c @@ -12,7 +12,7 @@ nv40_is_format_supported(struct pipe_context *pipe, uint format) switch (format) { case PIPE_FORMAT_U_A8_R8_G8_B8: case PIPE_FORMAT_U_R5_G6_B5: - case PIPE_FORMAT_S8_Z24: + case PIPE_FORMAT_Z24_S8: return TRUE; default: break; diff --git a/src/mesa/pipe/nv40/nv40_surface.c b/src/mesa/pipe/nv40/nv40_surface.c index 84e0d792681..5292b5171ff 100644 --- a/src/mesa/pipe/nv40/nv40_surface.c +++ b/src/mesa/pipe/nv40/nv40_surface.c @@ -79,7 +79,7 @@ nv40_get_tile_rgba(struct pipe_context *pipe, p += w0 * 4; } break; - case PIPE_FORMAT_S8_Z24: + case PIPE_FORMAT_Z24_S8: { const float scale = 1.0 / (float) 0xffffff; for (i = 0; i < h; i++) { @@ -89,7 +89,7 @@ nv40_get_tile_rgba(struct pipe_context *pipe, pRow[0] = pRow[1] = pRow[2] = - pRow[3] = (pixel & 0xffffff) * scale; + pRow[3] = ((pixel & 0xffffff) >> 8) * scale; pRow += 4; } src += ps->region->pitch;