From f1ddfa8512df62422db00281ce216eff7ec5706c Mon Sep 17 00:00:00 2001 From: Topi Pohjolainen Date: Tue, 12 Apr 2016 09:27:00 +0300 Subject: [PATCH] i965/blorp: Let compiler calculate the vertex buffer size Currently the size is sizeof(float) times too large. One reserves GEN6_BLORP_VBO_SIZE many floats whereas GEN6_BLORP_VBO_SIZE stands for the size of vertex buffer in bytes. Signed-off-by: Topi Pohjolainen Reviewed-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/gen6_blorp.cpp | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.cpp b/src/mesa/drivers/dri/i965/gen6_blorp.cpp index 079e1ba..f3ce42c 100644 --- a/src/mesa/drivers/dri/i965/gen6_blorp.cpp +++ b/src/mesa/drivers/dri/i965/gen6_blorp.cpp @@ -32,17 +32,6 @@ #include "brw_blorp.h" /** - * \name Constants for BLORP VBO - * \{ - */ -#define GEN6_BLORP_NUM_VERTICES 3 -#define GEN6_BLORP_NUM_VUE_ELEMS 8 -#define GEN6_BLORP_VBO_SIZE (GEN6_BLORP_NUM_VERTICES \ - * GEN6_BLORP_NUM_VUE_ELEMS \ - * sizeof(float)) -/** \} */ - -/** * CMD_STATE_BASE_ADDRESS * * From the Sandy Bridge PRM, Volume 1, Part 1, Table STATE_BASE_ADDRESS: @@ -160,21 +149,21 @@ gen6_blorp_emit_vertices(struct brw_context *brw, { float *vertex_data; - const float vertices[GEN6_BLORP_VBO_SIZE] = { - /* v0 */ 0, 0, 0, 0, (float) params->x0, (float) params->y1, 0, 1, - /* v1 */ 0, 0, 0, 0, (float) params->x1, (float) params->y1, 0, 1, - /* v2 */ 0, 0, 0, 0, (float) params->x0, (float) params->y0, 0, 1, + const float vertices[] = { + /* v0 */ 0, 0, 0, 0, (float)params->x0, (float)params->y1, 0, 1, + /* v1 */ 0, 0, 0, 0, (float)params->x1, (float)params->y1, 0, 1, + /* v2 */ 0, 0, 0, 0, (float)params->x0, (float)params->y0, 0, 1, }; vertex_data = (float *) brw_state_batch(brw, AUB_TRACE_VERTEX_BUFFER, - GEN6_BLORP_VBO_SIZE, 32, + sizeof(vertices), 32, &vertex_offset); - memcpy(vertex_data, vertices, GEN6_BLORP_VBO_SIZE); - } + memcpy(vertex_data, vertices, sizeof(vertices)); - gen6_blorp_emit_vertex_buffer_state(brw, GEN6_BLORP_NUM_VUE_ELEMS, - GEN6_BLORP_VBO_SIZE, - vertex_offset); + const unsigned blorp_num_vue_elems = 8; + gen6_blorp_emit_vertex_buffer_state(brw, blorp_num_vue_elems, + sizeof(vertices), vertex_offset); + } /* 3DSTATE_VERTEX_ELEMENTS * -- 2.7.4