Mesa (master): a2xx: add support for a few 16-bit color rendering formats
Ilia Mirkin
imirkin at kemper.freedesktop.org
Sun Oct 15 16:11:14 UTC 2017
Module: Mesa
Branch: master
Commit: 790b5c4a38d2c1233cd58535236155c5ace692d3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=790b5c4a38d2c1233cd58535236155c5ace692d3
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Fri Aug 25 00:47:05 2017 -0400
a2xx: add support for a few 16-bit color rendering formats
The rest should be possible too, just needs some additional
investigation. Passes fbo-*-formats piglit tests.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Wladimir J. van der Laan <laanwj at gmail.com>
---
src/gallium/drivers/freedreno/a2xx/fd2_gmem.c | 5 +++++
src/gallium/drivers/freedreno/a2xx/fd2_screen.c | 7 ++++++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c b/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
index be3992b749..0905ab6f65 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
@@ -47,6 +47,11 @@ static uint32_t fmt2swap(enum pipe_format format)
switch (format) {
case PIPE_FORMAT_B8G8R8A8_UNORM:
case PIPE_FORMAT_B8G8R8X8_UNORM:
+ case PIPE_FORMAT_B5G6R5_UNORM:
+ case PIPE_FORMAT_B5G5R5A1_UNORM:
+ case PIPE_FORMAT_B5G5R5X1_UNORM:
+ case PIPE_FORMAT_B4G4R4A4_UNORM:
+ case PIPE_FORMAT_B4G4R4X4_UNORM:
/* TODO probably some more.. */
return 1;
default:
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_screen.c b/src/gallium/drivers/freedreno/a2xx/fd2_screen.c
index 2fd479483e..c2a60c683f 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_screen.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_screen.c
@@ -52,7 +52,12 @@ fd2_screen_is_format_supported(struct pipe_screen *pscreen,
/* TODO figure out how to render to other formats.. */
if ((usage & PIPE_BIND_RENDER_TARGET) &&
- ((format != PIPE_FORMAT_B8G8R8A8_UNORM) &&
+ ((format != PIPE_FORMAT_B5G6R5_UNORM) &&
+ (format != PIPE_FORMAT_B5G5R5A1_UNORM) &&
+ (format != PIPE_FORMAT_B5G5R5X1_UNORM) &&
+ (format != PIPE_FORMAT_B4G4R4A4_UNORM) &&
+ (format != PIPE_FORMAT_B4G4R4X4_UNORM) &&
+ (format != PIPE_FORMAT_B8G8R8A8_UNORM) &&
(format != PIPE_FORMAT_B8G8R8X8_UNORM) &&
(format != PIPE_FORMAT_R8G8B8A8_UNORM) &&
(format != PIPE_FORMAT_R8G8B8X8_UNORM))) {
More information about the mesa-commit
mailing list