浏览代码

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>
tags/10.6-branchpoint
Dave Airlie 10 年前
父节点
当前提交
61393bdcdc
共有 1 个文件被更改,包括 6 次插入6 次删除
  1. 6
    6
      src/gallium/auxiliary/util/u_tile.c

+ 6
- 6
src/gallium/auxiliary/util/u_tile.c 查看文件

@@ -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;
}

正在加载...
取消
保存