Mesa (master): freedreno: a2xx: cleanup init_shader_const

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jan 21 14:33:17 UTC 2019


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

Author: Jonathan Marek <jonathan at marek.ca>
Date:   Wed Jan 16 16:06:11 2019 -0500

freedreno: a2xx: cleanup init_shader_const

Only 3 vertices are used so we can drop the data for vertex 4

It doesn't make sense to have 1.1 for some coordinates, use 1.0 instead

Signed-off-by: Jonathan Marek <jonathan at marek.ca>
Reviewed-by: Rob Clark <robdclark at gmail.com>

---

 src/gallium/drivers/freedreno/a2xx/fd2_context.c | 17 +++++++----------
 src/gallium/drivers/freedreno/a2xx/fd2_draw.c    |  2 +-
 src/gallium/drivers/freedreno/a2xx/fd2_gmem.c    |  6 +++---
 3 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_context.c b/src/gallium/drivers/freedreno/a2xx/fd2_context.c
index 081b0119cb..760ad17732 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_context.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_context.c
@@ -46,17 +46,14 @@ static struct pipe_resource *
 create_solid_vertexbuf(struct pipe_context *pctx)
 {
 	static const float init_shader_const[] = {
-			/* for clear/gmem2mem: */
-			-1.000000, +1.000000, +1.000000, +1.100000,
-			+1.000000, +1.000000, -1.000000, -1.100000,
-			+1.000000, +1.100000, -1.100000, +1.000000,
-			/* for mem2gmem: (vertices) */
-			-1.000000, +1.000000, +1.000000, +1.000000,
-			+1.000000, +1.000000, -1.000000, -1.000000,
-			+1.000000, +1.000000, -1.000000, +1.000000,
+			/* for clear/gmem2mem/mem2gmem (vertices): */
+			-1.000000, +1.000000, +1.000000,
+			+1.000000, +1.000000, +1.000000,
+			-1.000000, -1.000000, +1.000000,
 			/* for mem2gmem: (tex coords) */
-			+0.000000, +0.000000, +1.000000, +0.000000,
-			+0.000000, +1.000000, +1.000000, +1.000000,
+			+0.000000, +0.000000,
+			+1.000000, +0.000000,
+			+0.000000, +1.000000,
 	};
 	struct pipe_resource *prsc = pipe_buffer_create(pctx->screen,
 			PIPE_BIND_CUSTOM, PIPE_USAGE_IMMUTABLE, sizeof(init_shader_const));
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c b/src/gallium/drivers/freedreno/a2xx/fd2_draw.c
index 6dac8ca6a9..8113770518 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_draw.c
@@ -207,7 +207,7 @@ fd2_clear(struct fd_context *ctx, unsigned buffers,
 					FD_DIRTY_FRAMEBUFFER | FD_DIRTY_SCISSOR));
 
 	fd2_emit_vertex_bufs(ring, 0x9c, (struct fd2_vertex_buf[]) {
-			{ .prsc = fd2_ctx->solid_vertexbuf, .size = 48 },
+			{ .prsc = fd2_ctx->solid_vertexbuf, .size = 36 },
 		}, 1);
 
 	OUT_PKT3(ring, CP_SET_CONSTANT, 2);
diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c b/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
index e98ae7334a..263e9d77eb 100644
--- a/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
+++ b/src/gallium/drivers/freedreno/a2xx/fd2_gmem.c
@@ -120,7 +120,7 @@ fd2_emit_tile_gmem2mem(struct fd_batch *batch, struct fd_tile *tile)
 	struct pipe_framebuffer_state *pfb = &batch->framebuffer;
 
 	fd2_emit_vertex_bufs(ring, 0x9c, (struct fd2_vertex_buf[]) {
-			{ .prsc = fd2_ctx->solid_vertexbuf, .size = 48 },
+			{ .prsc = fd2_ctx->solid_vertexbuf, .size = 36 },
 		}, 1);
 
 	OUT_PKT3(ring, CP_SET_CONSTANT, 2);
@@ -254,8 +254,8 @@ fd2_emit_tile_mem2gmem(struct fd_batch *batch, struct fd_tile *tile)
 	float x0, y0, x1, y1;
 
 	fd2_emit_vertex_bufs(ring, 0x9c, (struct fd2_vertex_buf[]) {
-			{ .prsc = fd2_ctx->solid_vertexbuf, .size = 48, .offset = 0x30 },
-			{ .prsc = fd2_ctx->solid_vertexbuf, .size = 32, .offset = 0x60 },
+			{ .prsc = fd2_ctx->solid_vertexbuf, .size = 36, },
+			{ .prsc = fd2_ctx->solid_vertexbuf, .size = 24, .offset = 36 },
 		}, 2);
 
 	/* write texture coordinates to vertexbuf: */




More information about the mesa-commit mailing list