freedreno/a4xx: add formats for ARB_texture_buffer_object_rgb32 support
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
parent
f9549d0a0f
commit
1b9992b803
|
@ -204,6 +204,9 @@ enum a4xx_tex_fmt {
|
|||
TFMT4_32_FLOAT = 43,
|
||||
TFMT4_32_32_FLOAT = 56,
|
||||
TFMT4_32_32_32_32_FLOAT = 63,
|
||||
TFMT4_32_32_32_FLOAT = 59,
|
||||
TFMT4_32_32_32_UINT = 60,
|
||||
TFMT4_32_32_32_SINT = 61,
|
||||
TFMT4_9_9_9_E5_FLOAT = 32,
|
||||
TFMT4_11_11_10_FLOAT = 37,
|
||||
TFMT4_DXT1 = 86,
|
||||
|
|
|
@ -250,11 +250,11 @@ static struct fd4_format formats[PIPE_FORMAT_COUNT] = {
|
|||
_T(L32A32_SINT, 32_32_SINT, NONE, WZYX),
|
||||
|
||||
/* 96-bit */
|
||||
V_(R32G32B32_UINT, 32_32_32_UINT, NONE, WZYX),
|
||||
V_(R32G32B32_SINT, 32_32_32_SINT, NONE, WZYX),
|
||||
VT(R32G32B32_UINT, 32_32_32_UINT, NONE, WZYX),
|
||||
VT(R32G32B32_SINT, 32_32_32_SINT, NONE, WZYX),
|
||||
V_(R32G32B32_USCALED, 32_32_32_UINT, NONE, WZYX),
|
||||
V_(R32G32B32_SSCALED, 32_32_32_SINT, NONE, WZYX),
|
||||
V_(R32G32B32_FLOAT, 32_32_32_FLOAT, NONE, WZYX),
|
||||
VT(R32G32B32_FLOAT, 32_32_32_FLOAT, NONE, WZYX),
|
||||
V_(R32G32B32_FIXED, 32_32_32_FIXED, NONE, WZYX),
|
||||
|
||||
/* 128-bit */
|
||||
|
@ -384,6 +384,7 @@ fd4_pipe2fetchsize(enum pipe_format format)
|
|||
case 16: return TFETCH4_2_BYTE;
|
||||
case 32: return TFETCH4_4_BYTE;
|
||||
case 64: return TFETCH4_8_BYTE;
|
||||
case 96: return TFETCH4_1_BYTE; /* Does this matter? */
|
||||
case 128: return TFETCH4_16_BYTE;
|
||||
default:
|
||||
debug_printf("Unknown block size for format %s: %d\n",
|
||||
|
|
|
@ -57,6 +57,8 @@ fd4_screen_is_format_supported(struct pipe_screen *pscreen,
|
|||
}
|
||||
|
||||
if ((usage & PIPE_BIND_SAMPLER_VIEW) &&
|
||||
(target == PIPE_BUFFER ||
|
||||
util_format_get_blocksize(format) != 12) &&
|
||||
(fd4_pipe2tex(format) != ~0)) {
|
||||
retval |= PIPE_BIND_SAMPLER_VIEW;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue