1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/************************************************************************** 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Copyright 2007-2008 Tungsten Graphics, Inc., Cedar Park, Texas. 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * All Rights Reserved. 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * Permission is hereby granted, free of charge, to any person obtaining a 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * copy of this software and associated documentation files (the 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * "Software"), to deal in the Software without restriction, including 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * without limitation the rights to use, copy, modify, merge, publish, 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * distribute, sub license, and/or sell copies of the Software, and to 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * permit persons to whom the Software is furnished to do so, subject to 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * the following conditions: 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * The above copyright notice and this permission notice (including the 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * next paragraph) shall be included in all copies or substantial portions 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * of the Software. 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org **************************************************************************/ 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef CSO_CONTEXT_H 30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define CSO_CONTEXT_H 31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "pipe/p_context.h" 33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "pipe/p_state.h" 34f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "pipe/p_defines.h" 35f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 36f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 37f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef __cplusplus 38f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgextern "C" { 39f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 40f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 41f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct cso_context; 42f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct u_vbuf; 43f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 44f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgstruct cso_context *cso_create_context( struct pipe_context *pipe ); 45f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 46f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_release_all( struct cso_context *ctx ); 47f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 48f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_destroy_context( struct cso_context *cso ); 49f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 50f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 51f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 52f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_blend( struct cso_context *cso, 53f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_blend_state *blend ); 54f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_blend(struct cso_context *cso); 55f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_blend(struct cso_context *cso); 56f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 57f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 58f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 59f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_depth_stencil_alpha( struct cso_context *cso, 60f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_depth_stencil_alpha_state *dsa ); 61f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_depth_stencil_alpha(struct cso_context *cso); 62f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_depth_stencil_alpha(struct cso_context *cso); 63f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 64f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 65f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 66f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_rasterizer( struct cso_context *cso, 67f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_rasterizer_state *rasterizer ); 68f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_rasterizer(struct cso_context *cso); 69f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_rasterizer(struct cso_context *cso); 70f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 71f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 72f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error 73f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_set_samplers(struct cso_context *cso, 74f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned shader_stage, 75f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned count, 76f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_sampler_state **states); 77f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 78f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 79f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_save_samplers(struct cso_context *cso, unsigned shader_stage); 80f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 81f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 82f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_restore_samplers(struct cso_context *cso, unsigned shader_stage); 83f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 84f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Alternate interface to support state trackers that like to modify 85f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * samplers one at a time: 86f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 87f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error 88f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_single_sampler(struct cso_context *cso, 89f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned shader_stage, 90f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned count, 91f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_sampler_state *states); 92f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 93f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 94f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_single_sampler_done(struct cso_context *cso, unsigned shader_stage); 95f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 96f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 97f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_vertex_elements(struct cso_context *ctx, 98f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned count, 99f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_vertex_element *states); 100f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_vertex_elements(struct cso_context *ctx); 101f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_vertex_elements(struct cso_context *ctx); 102f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 103f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 104f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_set_vertex_buffers(struct cso_context *ctx, 105f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned count, 106f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_vertex_buffer *buffers); 107f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_vertex_buffers(struct cso_context *ctx); 108f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_vertex_buffers(struct cso_context *ctx); 109f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 110f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 111f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_set_stream_outputs(struct cso_context *ctx, 112f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned num_targets, 113f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org struct pipe_stream_output_target **targets, 114f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned append_bitmask); 115f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_stream_outputs(struct cso_context *ctx); 116f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_stream_outputs(struct cso_context *ctx); 117f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 118f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 119f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* 120f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * We don't provide shader caching in CSO. Most of the time the api provides 121f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * object semantics for shaders anyway, and the cases where it doesn't 122f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * (eg mesa's internally-generated texenv programs), it will be up to 123f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org * the state tracker to implement their own specialized caching. 124f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org */ 125f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 126f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_fragment_shader_handle(struct cso_context *ctx, 127f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org void *handle ); 128f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_delete_fragment_shader(struct cso_context *ctx, void *handle ); 129f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_fragment_shader(struct cso_context *cso); 130f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_fragment_shader(struct cso_context *cso); 131f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 132f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 133f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_vertex_shader_handle(struct cso_context *ctx, 134f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org void *handle ); 135f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_delete_vertex_shader(struct cso_context *ctx, void *handle ); 136f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_vertex_shader(struct cso_context *cso); 137f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_vertex_shader(struct cso_context *cso); 138f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 139f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 140f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_geometry_shader_handle(struct cso_context *ctx, 141f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org void *handle); 142f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_delete_geometry_shader(struct cso_context *ctx, void *handle); 143f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_geometry_shader(struct cso_context *cso); 144f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_geometry_shader(struct cso_context *cso); 145f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 146f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 147f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_framebuffer(struct cso_context *cso, 148f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_framebuffer_state *fb); 149f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_framebuffer(struct cso_context *cso); 150f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_framebuffer(struct cso_context *cso); 151f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 152f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 153f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_viewport(struct cso_context *cso, 154f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_viewport_state *vp); 155f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_viewport(struct cso_context *cso); 156f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_viewport(struct cso_context *cso); 157f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 158f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 159f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_blend_color(struct cso_context *cso, 160f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_blend_color *bc); 161f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 162f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_sample_mask(struct cso_context *cso, 163f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned stencil_mask); 164f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_sample_mask(struct cso_context *ctx); 165f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_sample_mask(struct cso_context *ctx); 166f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 167f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgenum pipe_error cso_set_stencil_ref(struct cso_context *cso, 168f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_stencil_ref *sr); 169f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_save_stencil_ref(struct cso_context *cso); 170f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid cso_restore_stencil_ref(struct cso_context *cso); 171f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 172f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 173f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* clip state */ 174f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 175f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 176f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_set_clip(struct cso_context *cso, 177f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_clip_state *clip); 178f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 179f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 180f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_save_clip(struct cso_context *cso); 181f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 182f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 183f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_restore_clip(struct cso_context *cso); 184f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 185f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 186f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* sampler view state */ 187f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 188f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 189f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_set_sampler_views(struct cso_context *cso, 190f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned shader_stage, 191f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org unsigned count, 192f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org struct pipe_sampler_view **views); 193f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 194f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 195f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_save_sampler_views(struct cso_context *cso, unsigned shader_stage); 196f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 197f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 198f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_restore_sampler_views(struct cso_context *cso, unsigned shader_stage); 199f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 200f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 201f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 202f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* drawing */ 203f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 204f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 205f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_set_index_buffer(struct cso_context *cso, 206f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_index_buffer *ib); 207f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 208f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 209f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_draw_vbo(struct cso_context *cso, 210f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const struct pipe_draw_info *info); 211f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 212f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* helper drawing function */ 213f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid 214f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgcso_draw_arrays(struct cso_context *cso, uint mode, uint start, uint count); 215f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 216f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifdef __cplusplus 217f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 218f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 219f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 220f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 221