diff options
author | Fredrik Höglund <fredrik@kde.org> | 2013-11-07 21:49:43 +0100 |
---|---|---|
committer | Fredrik Höglund <fredrik@kde.org> | 2013-11-07 23:51:44 +0100 |
commit | e420fb887f26cf275996f8c0f1a6659a4ed1238f (patch) | |
tree | 1078978fa8f29dd87b3dde330c5fac6d208a0777 /src/gallium | |
parent | bfc28e4affa1be012551a399f8936e0be5957b4d (diff) | |
download | external_mesa3d-e420fb887f26cf275996f8c0f1a6659a4ed1238f.zip external_mesa3d-e420fb887f26cf275996f8c0f1a6659a4ed1238f.tar.gz external_mesa3d-e420fb887f26cf275996f8c0f1a6659a4ed1238f.tar.bz2 |
r600g: Add support for PIPE_FORMAT_R11G11B10_FLOAT vertex elements
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/r600/r600_asm.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_formats.h | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_asm.c b/src/gallium/drivers/r600/r600_asm.c index 3cd14fc..86f79e2 100644 --- a/src/gallium/drivers/r600/r600_asm.c +++ b/src/gallium/drivers/r600/r600_asm.c @@ -2134,6 +2134,12 @@ void r600_vertex_data_type(enum pipe_format pformat, *format_comp = 0; *endian = ENDIAN_NONE; + if (pformat == PIPE_FORMAT_R11G11B10_FLOAT) { + *format = FMT_10_11_11_FLOAT; + *endian = r600_endian_swap(32); + return; + } + desc = util_format_description(pformat); if (desc->layout != UTIL_FORMAT_LAYOUT_PLAIN) { goto out_unknown; diff --git a/src/gallium/drivers/r600/r600_formats.h b/src/gallium/drivers/r600/r600_formats.h index 6f57228..453c2b1 100644 --- a/src/gallium/drivers/r600/r600_formats.h +++ b/src/gallium/drivers/r600/r600_formats.h @@ -87,6 +87,9 @@ static INLINE bool r600_is_vertex_format_supported(enum pipe_format format) const struct util_format_description *desc = util_format_description(format); unsigned i; + if (format == PIPE_FORMAT_R11G11B10_FLOAT) + return true; + if (!desc) return false; |