diff options
Diffstat (limited to 'src/gallium/include/pipe/p_screen.h')
-rw-r--r-- | src/gallium/include/pipe/p_screen.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gallium/include/pipe/p_screen.h b/src/gallium/include/pipe/p_screen.h index 4421bee5b0f..9176bf2b586 100644 --- a/src/gallium/include/pipe/p_screen.h +++ b/src/gallium/include/pipe/p_screen.h @@ -58,9 +58,23 @@ struct pipe_surface; struct pipe_transfer; struct pipe_box; struct pipe_memory_info; +struct pipe_vertex_buffer; +struct pipe_vertex_element; +struct pipe_vertex_state; struct disk_cache; struct driOptionCache; struct u_transfer_helper; +struct pipe_screen; + +typedef struct pipe_vertex_state * + (*pipe_create_vertex_state_func)(struct pipe_screen *screen, + struct pipe_vertex_buffer *buffer, + const struct pipe_vertex_element *elements, + unsigned num_elements, + struct pipe_resource *indexbuf, + uint32_t full_velem_mask); +typedef void (*pipe_vertex_state_destroy_func)(struct pipe_screen *screen, + struct pipe_vertex_state *); /** * Gallium screen/adapter context. Basically everything @@ -604,6 +618,13 @@ struct pipe_screen { unsigned int (*get_dmabuf_modifier_planes)(struct pipe_screen *screen, uint64_t modifier, enum pipe_format format); + + /** + * Vertex state CSO functions for precomputing vertex and index buffer + * states for display lists. + */ + pipe_create_vertex_state_func create_vertex_state; + pipe_vertex_state_destroy_func vertex_state_destroy; }; |