Mesa (master): freedreno/a3xx: add float 16 and 32bit formats

Rob Clark robclark at kemper.freedesktop.org
Sun Feb 23 20:26:45 UTC 2014


Module: Mesa
Branch: master
Commit: 67cea4b32a27aaf8eb729cdb0a3fec2ff582a922
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=67cea4b32a27aaf8eb729cdb0a3fec2ff582a922

Author: Rob Clark <robclark at freedesktop.org>
Date:   Sun Feb 23 14:29:59 2014 -0500

freedreno/a3xx: add float 16 and 32bit formats

Signed-off-by: Rob Clark <robclark at freedesktop.org>

---

 src/gallium/drivers/freedreno/a3xx/fd3_util.c |   22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_util.c b/src/gallium/drivers/freedreno/a3xx/fd3_util.c
index 07f23fd..baafc78 100644
--- a/src/gallium/drivers/freedreno/a3xx/fd3_util.c
+++ b/src/gallium/drivers/freedreno/a3xx/fd3_util.c
@@ -183,6 +183,10 @@ fd3_pipe2vtx(enum pipe_format format)
 	case PIPE_FORMAT_R32G32_FIXED:
 		return VFMT_FIXED_32_32;
 
+	case PIPE_FORMAT_R16G16B16A16_FLOAT:
+	case PIPE_FORMAT_R16G16B16X16_FLOAT:
+		return VFMT_FLOAT_16_16_16_16;
+
 /* TODO probably need gles3 blob drivers to find the 32bit int formats:
 	case PIPE_FORMAT_R32G32_SINT:
 	case PIPE_FORMAT_R32G32_UINT:
@@ -199,6 +203,7 @@ fd3_pipe2vtx(enum pipe_format format)
 
 	/* 128-bit buffers. */
 	case PIPE_FORMAT_R32G32B32A32_FLOAT:
+	case PIPE_FORMAT_R32G32B32X32_FLOAT:
 		return VFMT_FLOAT_32_32_32_32;
 
 	case PIPE_FORMAT_R32G32B32A32_FIXED:
@@ -229,6 +234,7 @@ fd3_pipe2tex(enum pipe_format format)
 	case PIPE_FORMAT_B8G8R8A8_UNORM:
 	case PIPE_FORMAT_B8G8R8X8_UNORM:
 	case PIPE_FORMAT_R8G8B8A8_UNORM:
+	case PIPE_FORMAT_R8G8B8X8_UNORM:
 		return TFMT_NORM_UINT_8_8_8_8;
 
 	case PIPE_FORMAT_Z24X8_UNORM:
@@ -240,6 +246,14 @@ fd3_pipe2tex(enum pipe_format format)
 	case PIPE_FORMAT_Z16_UNORM:
 		return TFMT_NORM_UINT_8_8;
 
+	case PIPE_FORMAT_R16G16B16A16_FLOAT:
+	case PIPE_FORMAT_R16G16B16X16_FLOAT:
+		return TFMT_FLOAT_16_16_16_16;
+
+	case PIPE_FORMAT_R32G32B32A32_FLOAT:
+	case PIPE_FORMAT_R32G32B32X32_FLOAT:
+		return TFMT_FLOAT_32_32_32_32;
+
 	// TODO add more..
 
 	default:
@@ -295,6 +309,14 @@ fd3_pipe2color(enum pipe_format format)
 	case PIPE_FORMAT_A8_UNORM:
 		return RB_A8_UNORM;
 
+	case PIPE_FORMAT_R16G16B16A16_FLOAT:
+	case PIPE_FORMAT_R16G16B16X16_FLOAT:
+		return RB_R16G16B16A16_FLOAT;
+
+	case PIPE_FORMAT_R32G32B32A32_FLOAT:
+	case PIPE_FORMAT_R32G32B32X32_FLOAT:
+		return RB_R32G32B32A32_FLOAT;
+
 	// TODO add more..
 
 	default:




More information about the mesa-commit mailing list