Path: blob/21.2-virgl/src/gallium/auxiliary/indices/u_primconvert.h
4565 views
/*1* Copyright (C) 2013 Rob Clark <[email protected]>2*3* Permission is hereby granted, free of charge, to any person obtaining a4* copy of this software and associated documentation files (the "Software"),5* to deal in the Software without restriction, including without limitation6* the rights to use, copy, modify, merge, publish, distribute, sublicense,7* and/or sell copies of the Software, and to permit persons to whom the8* Software is furnished to do so, subject to the following conditions:9*10* The above copyright notice and this permission notice (including the next11* paragraph) shall be included in all copies or substantial portions of the12* Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR15* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,16* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL17* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER18* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,19* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE20* SOFTWARE.21*22* Authors:23* Rob Clark <[email protected]>24*/2526#ifndef U_PRIMCONVERT_H_27#define U_PRIMCONVERT_H_2829#include "pipe/p_state.h"3031#ifdef __cplusplus32extern "C" {33#endif3435struct primconvert_context;3637struct primconvert_config {38uint32_t primtypes_mask;39uint32_t restart_primtypes_mask;40bool fixed_prim_restart;41};4243struct primconvert_context *util_primconvert_create(struct pipe_context *pipe,44uint32_t primtypes_mask);45struct primconvert_context *util_primconvert_create_config(struct pipe_context *pipe,46struct primconvert_config *cfg);4748void util_primconvert_destroy(struct primconvert_context *pc);49void util_primconvert_save_rasterizer_state(struct primconvert_context *pc,50const struct pipe_rasterizer_state51*rast);52void53util_primconvert_save_flatshade_first(struct primconvert_context *pc, bool flatshade_first);54void util_primconvert_draw_vbo(struct primconvert_context *pc,55const struct pipe_draw_info *info,56unsigned drawid_offset,57const struct pipe_draw_indirect_info *indirect,58const struct pipe_draw_start_count_bias *draws,59unsigned num_draws);6061#ifdef __cplusplus62}63#endif6465#endif /* U_PRIMCONVERT_H_ */666768