[Mesa-dev] [PATCH 03/18] i965/blorp: Split vertex data and element setup
Topi Pohjolainen
topi.pohjolainen at intel.com
Thu Jun 23 19:16:59 UTC 2016
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
---
src/mesa/drivers/dri/i965/gen6_blorp.c | 46 ++++++++++++++++++----------------
1 file changed, 25 insertions(+), 21 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/gen6_blorp.c b/src/mesa/drivers/dri/i965/gen6_blorp.c
index 7871a01..e9340df 100644
--- a/src/mesa/drivers/dri/i965/gen6_blorp.c
+++ b/src/mesa/drivers/dri/i965/gen6_blorp.c
@@ -77,9 +77,9 @@ gen6_blorp_emit_vertex_buffer_state(struct brw_context *brw,
ADVANCE_BATCH();
}
-void
-gen6_blorp_emit_vertices(struct brw_context *brw,
- const struct brw_blorp_params *params)
+static void
+gen6_blorp_emit_vertex_data(struct brw_context *brw,
+ const struct brw_blorp_params *params)
{
uint32_t vertex_offset;
@@ -119,24 +119,28 @@ gen6_blorp_emit_vertices(struct brw_context *brw,
* instead of reading them from the buffer. See the vertex element setup
* below.
*/
- {
- float *vertex_data;
-
- const float vertices[] = {
- /* v0 */ (float)params->x0, (float)params->y1,
- /* v1 */ (float)params->x1, (float)params->y1,
- /* v2 */ (float)params->x0, (float)params->y0,
- };
-
- vertex_data = (float *) brw_state_batch(brw, AUB_TRACE_VERTEX_BUFFER,
- sizeof(vertices), 32,
- &vertex_offset);
- memcpy(vertex_data, vertices, sizeof(vertices));
-
- const unsigned blorp_num_vue_elems = 2;
- gen6_blorp_emit_vertex_buffer_state(brw, blorp_num_vue_elems,
- sizeof(vertices), vertex_offset);
- }
+ const float vertices[] = {
+ /* v0 */ (float)params->x0, (float)params->y1,
+ /* v1 */ (float)params->x1, (float)params->y1,
+ /* v2 */ (float)params->x0, (float)params->y0,
+ };
+
+ float *const vertex_data = (float *)brw_state_batch(
+ brw, AUB_TRACE_VERTEX_BUFFER,
+ sizeof(vertices), 32,
+ &vertex_offset);
+ memcpy(vertex_data, vertices, sizeof(vertices));
+
+ const unsigned blorp_num_vue_elems = 2;
+ gen6_blorp_emit_vertex_buffer_state(brw, blorp_num_vue_elems,
+ sizeof(vertices), vertex_offset);
+}
+
+void
+gen6_blorp_emit_vertices(struct brw_context *brw,
+ const struct brw_blorp_params *params)
+{
+ gen6_blorp_emit_vertex_data(brw, params);
/* 3DSTATE_VERTEX_ELEMENTS
*
--
2.5.5
More information about the mesa-dev
mailing list