summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_context.c
diff options
context:
space:
mode:
authorMathias Fröhlich <[email protected]>2018-03-25 19:16:54 +0200
committerMathias Fröhlich <[email protected]>2018-03-31 06:32:12 +0200
commitfca1550550793f0a1156ad795445e2242c1fea9b (patch)
tree78cf68ca67afd9a00c830d45dbcb234c56c3f901 /src/mesa/state_tracker/st_context.c
parent9978f55cd1d28ccc5014ac56cafdd997eac5f222 (diff)
gallium: Push down the gl_vertex_array inputs into gallium.
Let the gallium backend have its own gl_vertex_array array and basically reimplement the way _vbo_draw works. Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Mathias Fröhlich <[email protected]>
Diffstat (limited to 'src/mesa/state_tracker/st_context.c')
-rw-r--r--src/mesa/state_tracker/st_context.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 90b7f9359a1..a3da0f8f1fc 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -382,7 +382,6 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe,
st_init_atoms(st);
st_init_clear(st);
- st_init_draw(st);
st_init_pbo_helpers(st);
/* Choose texture target for glDrawPixels, glBitmap, renderbuffers */
@@ -551,6 +550,9 @@ st_create_context_priv(struct gl_context *ctx, struct pipe_context *pipe,
/* Initialize context's winsys buffers list */
LIST_INITHEAD(&st->winsys_buffers);
+ /* Keep our list of gl_vertex_array inputs */
+ _vbo_init_inputs(&st->draw_arrays);
+
return st;
}
@@ -715,6 +717,7 @@ st_init_driver_functions(struct pipe_screen *screen,
_mesa_init_shader_object_functions(functions);
_mesa_init_sampler_object_functions(functions);
+ st_init_draw_functions(functions);
st_init_blit_functions(functions);
st_init_bufferobject_functions(screen, functions);
st_init_clear_functions(functions);
@@ -752,10 +755,6 @@ st_init_driver_functions(struct pipe_screen *screen,
if (screen->get_param(screen, PIPE_CAP_STRING_MARKER))
functions->EmitStringMarker = st_emit_string_marker;
- /* For now call through these into the vbo_set_draw_func... */
- functions->Draw = _vbo_draw;
- functions->DrawIndirect = _vbo_draw_indirect;
-
functions->Enable = st_Enable;
functions->UpdateState = st_invalidate_state;
functions->QueryMemoryInfo = st_query_memory_info;