mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-24 01:40:22 +01:00
util: Support PIPE_FORMAT_Z32_FLOAT in pipe_tile_raw_to_rgba
This commit is contained in:
parent
7c12e1aa53
commit
43b31fc6fc
1 changed files with 29 additions and 0 deletions
|
|
@ -769,6 +769,32 @@ z24s8_get_tile_rgba(const unsigned *src,
|
|||
}
|
||||
|
||||
|
||||
/*** PIPE_FORMAT_Z32_FLOAT ***/
|
||||
|
||||
/**
|
||||
* Return each Z value as four floats.
|
||||
*/
|
||||
static void
|
||||
z32f_get_tile_rgba(const float *src,
|
||||
unsigned w, unsigned h,
|
||||
float *p,
|
||||
unsigned dst_stride)
|
||||
{
|
||||
unsigned i, j;
|
||||
|
||||
for (i = 0; i < h; i++) {
|
||||
float *pRow = p;
|
||||
for (j = 0; j < w; j++, pRow += 4) {
|
||||
pRow[0] =
|
||||
pRow[1] =
|
||||
pRow[2] =
|
||||
pRow[3] = *src++;
|
||||
}
|
||||
p += dst_stride;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*** PIPE_FORMAT_YCBCR / PIPE_FORMAT_YCBCR_REV ***/
|
||||
|
||||
/**
|
||||
|
|
@ -913,6 +939,9 @@ pipe_tile_raw_to_rgba(enum pipe_format format,
|
|||
case PIPE_FORMAT_Z24S8_UNORM:
|
||||
z24s8_get_tile_rgba((unsigned *) src, w, h, dst, dst_stride);
|
||||
break;
|
||||
case PIPE_FORMAT_Z32_FLOAT:
|
||||
z32f_get_tile_rgba((float *) src, w, h, dst, dst_stride);
|
||||
break;
|
||||
case PIPE_FORMAT_YCBCR:
|
||||
ycbcr_get_tile_rgba((ushort *) src, w, h, dst, dst_stride, FALSE);
|
||||
break;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue