소스 검색

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

Loading…
취소
저장