X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fstate_tracker%2Fst_draw.h;h=d04277a23258799e200547dbe9d0dd720b3d3060;hb=651441c16fd2fa0eede876d70997cbfd646ef289;hp=9c4d6cbba968c9e83fd2e99ac82009657d289fec;hpb=80ac616fca709ab10f7aae062d96ec18d05097a7;p=mesa.git diff --git a/src/mesa/state_tracker/st_draw.h b/src/mesa/state_tracker/st_draw.h index 9c4d6cbba96..d04277a2325 100644 --- a/src/mesa/state_tracker/st_draw.h +++ b/src/mesa/state_tracker/st_draw.h @@ -1,6 +1,6 @@ /************************************************************************** * - * Copyright 2004 Tungsten Graphics, Inc., Cedar Park, Texas. + * Copyright 2004 VMware, Inc. * All Rights Reserved. * * Permission is hereby granted, free of charge, to any person obtaining a @@ -18,7 +18,7 @@ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -27,36 +27,25 @@ /* * Authors: - * Keith Whitwell + * Keith Whitwell */ #ifndef ST_DRAW_H #define ST_DRAW_H -#include "main/compiler.h" #include "main/glheader.h" struct _mesa_index_buffer; struct _mesa_prim; -struct gl_client_array; struct gl_context; struct st_context; -void st_init_draw( struct st_context *st ); +void st_init_draw_functions(struct dd_function_table *functions); void st_destroy_draw( struct st_context *st ); -extern void -st_draw_vbo(struct gl_context *ctx, - const struct _mesa_prim *prims, - GLuint nr_prims, - const struct _mesa_index_buffer *ib, - GLboolean index_bounds_valid, - GLuint min_index, - GLuint max_index, - struct gl_transform_feedback_object *tfb_vertcount, - struct gl_buffer_object *indirect); +struct draw_context *st_get_draw_context(struct st_context *st); extern void st_feedback_draw_vbo(struct gl_context *ctx, @@ -66,8 +55,10 @@ st_feedback_draw_vbo(struct gl_context *ctx, GLboolean index_bounds_valid, GLuint min_index, GLuint max_index, + GLuint num_instances, + GLuint base_instance, struct gl_transform_feedback_object *tfb_vertcount, - struct gl_buffer_object *indirect); + unsigned stream); /** * When drawing with VBOs, the addresses specified with @@ -76,11 +67,18 @@ st_feedback_draw_vbo(struct gl_context *ctx, * This function is basically a cast wrapper to avoid warnings when building * in 64-bit mode. */ -static INLINE unsigned +static inline unsigned pointer_to_offset(const void *ptr) { return (unsigned) (((GLsizeiptr) ptr) & 0xffffffffUL); } +bool +st_draw_quad(struct st_context *st, + float x0, float y0, float x1, float y1, float z, + float s0, float t0, float s1, float t1, + const float *color, + unsigned num_instances); + #endif