mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-29 07:20:23 +01:00
softpipe: add support for PIPE_FORMAT_X8Z24_UNORM, PIPE_FORMAT_Z24X8_UNORM
This commit is contained in:
parent
6a82ea2ed2
commit
fdb7dc889f
2 changed files with 16 additions and 0 deletions
|
|
@ -104,6 +104,8 @@ sp_depth_test_quad(struct quad_stage *qs, struct quad_header *quad)
|
|||
}
|
||||
}
|
||||
break;
|
||||
case PIPE_FORMAT_X8Z24_UNORM:
|
||||
/* fall-through */
|
||||
case PIPE_FORMAT_S8Z24_UNORM:
|
||||
{
|
||||
float scale = (float) ((1 << 24) - 1);
|
||||
|
|
@ -119,6 +121,8 @@ sp_depth_test_quad(struct quad_stage *qs, struct quad_header *quad)
|
|||
}
|
||||
}
|
||||
break;
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
/* fall-through */
|
||||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
{
|
||||
float scale = (float) ((1 << 24) - 1);
|
||||
|
|
@ -209,6 +213,9 @@ sp_depth_test_quad(struct quad_stage *qs, struct quad_header *quad)
|
|||
tile->data.depth16[y][x] = (ushort) bzzzz[j];
|
||||
}
|
||||
break;
|
||||
case PIPE_FORMAT_X8Z24_UNORM:
|
||||
/* fall-through */
|
||||
/* (yes, this falls through to a different case than above) */
|
||||
case PIPE_FORMAT_Z32_UNORM:
|
||||
for (j = 0; j < QUAD_SIZE; j++) {
|
||||
int x = quad->x0 % TILE_SIZE + (j & 1);
|
||||
|
|
@ -234,6 +241,13 @@ sp_depth_test_quad(struct quad_stage *qs, struct quad_header *quad)
|
|||
tile->data.depth32[y][x] = z24s8;
|
||||
}
|
||||
break;
|
||||
case PIPE_FORMAT_Z24X8_UNORM:
|
||||
for (j = 0; j < QUAD_SIZE; j++) {
|
||||
int x = quad->x0 % TILE_SIZE + (j & 1);
|
||||
int y = quad->y0 % TILE_SIZE + (j >> 1);
|
||||
tile->data.depth32[y][x] = bzzzz[j] << 8;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -170,7 +170,9 @@ sp_tile_cache_set_surface(struct softpipe_tile_cache *tc,
|
|||
PIPE_BUFFER_USAGE_CPU_WRITE);
|
||||
|
||||
tc->depth_stencil = (ps->format == PIPE_FORMAT_S8Z24_UNORM ||
|
||||
ps->format == PIPE_FORMAT_X8Z24_UNORM ||
|
||||
ps->format == PIPE_FORMAT_Z24S8_UNORM ||
|
||||
ps->format == PIPE_FORMAT_Z24X8_UNORM ||
|
||||
ps->format == PIPE_FORMAT_Z16_UNORM ||
|
||||
ps->format == PIPE_FORMAT_Z32_UNORM ||
|
||||
ps->format == PIPE_FORMAT_S8_UNORM);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue