u_tile: fix stencil texturing tests under softpipe
arb_stencil_texturing-draw failed under softpipe because we got a float back from the texturing function, and then tried to U2F it, stencil texturing returns ints, so we should fix the tiling to retrieve the stencil values as integers not floats. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -214,13 +214,13 @@ s8x24_get_tile_rgba(const unsigned *src,
|
||||
unsigned i, j;
|
||||
|
||||
for (i = 0; i < h; i++) {
|
||||
float *pRow = p;
|
||||
uint32_t *pRow = p;
|
||||
|
||||
for (j = 0; j < w; j++, pRow += 4) {
|
||||
pRow[0] =
|
||||
pRow[1] =
|
||||
pRow[2] =
|
||||
pRow[3] = (float)((*src++ >> 24) & 0xff);
|
||||
pRow[3] = ((*src++ >> 24) & 0xff);
|
||||
}
|
||||
|
||||
p += dst_stride;
|
||||
@@ -241,12 +241,12 @@ x24s8_get_tile_rgba(const unsigned *src,
|
||||
unsigned i, j;
|
||||
|
||||
for (i = 0; i < h; i++) {
|
||||
float *pRow = p;
|
||||
uint32_t *pRow = p;
|
||||
for (j = 0; j < w; j++, pRow += 4) {
|
||||
pRow[0] =
|
||||
pRow[1] =
|
||||
pRow[2] =
|
||||
pRow[3] = (float)(*src++ & 0xff);
|
||||
pRow[3] = (*src++ & 0xff);
|
||||
}
|
||||
p += dst_stride;
|
||||
}
|
||||
@@ -265,12 +265,12 @@ s8_get_tile_rgba(const unsigned char *src,
|
||||
unsigned i, j;
|
||||
|
||||
for (i = 0; i < h; i++) {
|
||||
float *pRow = p;
|
||||
uint32_t *pRow = p;
|
||||
for (j = 0; j < w; j++, pRow += 4) {
|
||||
pRow[0] =
|
||||
pRow[1] =
|
||||
pRow[2] =
|
||||
pRow[3] = (float)(*src++ & 0xff);
|
||||
pRow[3] = (*src++ & 0xff);
|
||||
}
|
||||
p += dst_stride;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user