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);
}
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;
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++) {
pRow[0] =
pRow[1] =
pRow[2] =
- pRow[3] = (pixel & 0xffffff) * scale;
+ pRow[3] = ((pixel & 0xffffff) >> 8) * scale;
pRow += 4;
}
src += ps->region->pitch;