struct primconvert_context
{
struct pipe_context *pipe;
- uint32_t primtypes_mask;
+ struct primconvert_config cfg;
unsigned api_pv;
};
struct primconvert_context *
-util_primconvert_create(struct pipe_context *pipe, uint32_t primtypes_mask)
+util_primconvert_create_config(struct pipe_context *pipe,
+ struct primconvert_config *cfg)
{
struct primconvert_context *pc = CALLOC_STRUCT(primconvert_context);
if (!pc)
return NULL;
pc->pipe = pipe;
- pc->primtypes_mask = primtypes_mask;
+ pc->cfg = *cfg;
return pc;
}
+struct primconvert_context *
+util_primconvert_create(struct pipe_context *pipe, uint32_t primtypes_mask)
+{
+ struct primconvert_config cfg = { .primtypes_mask = primtypes_mask };
+ return util_primconvert_create_config(pipe, &cfg);
+}
+
void
util_primconvert_destroy(struct primconvert_context *pc)
{
enum pipe_prim_type mode = 0;
unsigned index_size;
- u_index_translator(pc->primtypes_mask,
+ u_index_translator(pc->cfg.primtypes_mask,
info->mode, info->index_size, info->count,
pc->api_pv, pc->api_pv,
info->primitive_restart ? PR_ENABLE : PR_DISABLE,
enum pipe_prim_type mode = 0;
unsigned index_size;
- u_index_generator(pc->primtypes_mask,
+ u_index_generator(pc->cfg.primtypes_mask,
info->mode, info->start, info->count,
pc->api_pv, pc->api_pv,
&mode, &index_size, &new_info.count,
struct primconvert_context;
+struct primconvert_config {
+ uint32_t primtypes_mask;
+};
+
struct primconvert_context *util_primconvert_create(struct pipe_context *pipe,
uint32_t primtypes_mask);
+struct primconvert_context *util_primconvert_create_config(struct pipe_context *pipe,
+ struct primconvert_config *cfg);
+
void util_primconvert_destroy(struct primconvert_context *pc);
void util_primconvert_save_rasterizer_state(struct primconvert_context *pc,
const struct pipe_rasterizer_state