gallium: rename pipe_draw_start_count -> pipe_draw_start_count_bias

and add an index_bias member

no functional changes yet, just the rename and unused struct member

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10166>
This commit is contained in:
Mike Blumenkrantz 2021-04-11 09:49:49 -04:00 committed by Marge Bot
parent 60fa555e61
commit 4fe6c85526
111 changed files with 230 additions and 229 deletions

View File

@ -1403,7 +1403,7 @@ void
cso_draw_vbo(struct cso_context *cso,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count draw)
const struct pipe_draw_start_count_bias draw)
{
struct u_vbuf *vbuf = cso->vbuf_current;
@ -1429,7 +1429,7 @@ cso_draw_vbo(struct cso_context *cso,
void
cso_multi_draw(struct cso_context *cso,
struct pipe_draw_info *info,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
struct u_vbuf *vbuf = cso->vbuf_current;
@ -1458,7 +1458,7 @@ void
cso_draw_arrays(struct cso_context *cso, uint mode, uint start, uint count)
{
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
util_draw_init_info(&info);
@ -1479,7 +1479,7 @@ cso_draw_arrays_instanced(struct cso_context *cso, uint mode,
uint start_instance, uint instance_count)
{
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
util_draw_init_info(&info);

View File

@ -179,13 +179,13 @@ void
cso_draw_vbo(struct cso_context *cso,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count draw);
const struct pipe_draw_start_count_bias draw);
/* info->draw_id can be changed by the callee if increment_draw_id is true. */
void
cso_multi_draw(struct cso_context *cso,
struct pipe_draw_info *info,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
void

View File

@ -326,7 +326,7 @@ draw_set_mapped_so_targets(struct draw_context *draw,
void draw_vbo(struct draw_context *draw,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);

View File

@ -56,7 +56,7 @@ DEBUG_GET_ONCE_BOOL_OPTION(draw_no_fse, "DRAW_NO_FSE", FALSE)
static boolean
draw_pt_arrays(struct draw_context *draw,
unsigned prim,
const struct pipe_draw_start_count *draw_info,
const struct pipe_draw_start_count_bias *draw_info,
unsigned num_draws)
{
struct draw_pt_front_end *frontend = NULL;
@ -363,7 +363,7 @@ prim_restart_loop(struct draw_context *draw,
const void *elements)
{
const unsigned elt_max = draw->pt.user.eltMax;
struct pipe_draw_start_count cur;
struct pipe_draw_start_count_bias cur;
cur.start = start;
cur.count = 0;
@ -414,7 +414,7 @@ prim_restart_loop(struct draw_context *draw,
static void
draw_pt_arrays_restart(struct draw_context *draw,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw_info,
const struct pipe_draw_start_count_bias *draw_info,
unsigned num_draws)
{
const unsigned prim = info->mode;
@ -444,13 +444,13 @@ draw_pt_arrays_restart(struct draw_context *draw,
static void
resolve_draw_info(const struct pipe_draw_info *raw_info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *raw_draw,
const struct pipe_draw_start_count_bias *raw_draw,
struct pipe_draw_info *info,
struct pipe_draw_start_count *draw,
struct pipe_draw_start_count_bias *draw,
struct pipe_vertex_buffer *vertex_buffer)
{
memcpy(info, raw_info, sizeof(struct pipe_draw_info));
memcpy(draw, raw_draw, sizeof(struct pipe_draw_start_count));
memcpy(draw, raw_draw, sizeof(struct pipe_draw_start_count_bias));
struct draw_so_target *target =
(struct draw_so_target *)indirect->count_from_stream_output;
@ -469,7 +469,7 @@ resolve_draw_info(const struct pipe_draw_info *raw_info,
static void
draw_instances(struct draw_context *draw,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
unsigned instance;
@ -507,15 +507,15 @@ void
draw_vbo(struct draw_context *draw,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
unsigned index_limit;
unsigned fpstate = util_fpstate_get();
struct pipe_draw_info resolved_info;
struct pipe_draw_start_count resolved_draw;
struct pipe_draw_start_count_bias resolved_draw;
struct pipe_draw_info *use_info = (struct pipe_draw_info *)info;
struct pipe_draw_start_count *use_draws = (struct pipe_draw_start_count *)draws;
struct pipe_draw_start_count_bias *use_draws = (struct pipe_draw_start_count_bias *)draws;
if (info->instance_count == 0)
return;

View File

@ -353,7 +353,7 @@ dd_dump_flush(struct dd_draw_state *dstate, struct call_flush *info, FILE *f)
static void
dd_dump_draw_vbo(struct dd_draw_state *dstate, struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw, FILE *f)
const struct pipe_draw_start_count_bias *draw, FILE *f)
{
int sh, i;
@ -1304,7 +1304,7 @@ static void
dd_context_draw_vbo(struct pipe_context *_pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
struct dd_context *dctx = dd_context(_pipe);

View File

@ -124,7 +124,7 @@ struct call_flush {
struct call_draw_info {
struct pipe_draw_info info;
struct pipe_draw_indirect_info indirect;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
};
struct call_get_query_result_resource {

View File

@ -32,7 +32,7 @@
static void noop_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
}

View File

@ -116,7 +116,7 @@ rbug_draw_block_locked(struct rbug_context *rb_pipe, int flag)
static void
rbug_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *_info,
const struct pipe_draw_indirect_info *_indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
struct rbug_context *rb_pipe = rbug_context(_pipe);

View File

@ -111,7 +111,7 @@ static void
trace_context_draw_vbo(struct pipe_context *_pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
struct trace_context *tr_ctx = trace_context(_pipe);

View File

@ -811,12 +811,12 @@ void trace_dump_draw_info(const struct pipe_draw_info *state)
trace_dump_struct_end();
}
void trace_dump_draw_start_count(const struct pipe_draw_start_count *state)
void trace_dump_draw_start_count(const struct pipe_draw_start_count_bias *state)
{
if (!trace_dumping_enabled_locked())
return;
trace_dump_struct_begin("pipe_draw_start_count");
trace_dump_struct_begin("pipe_draw_start_count_bias");
trace_dump_member(uint, state, start);
trace_dump_member(uint, state, count);
trace_dump_struct_end();

View File

@ -86,7 +86,7 @@ void trace_dump_shader_buffer(const struct pipe_shader_buffer *buffer);
void trace_dump_draw_info(const struct pipe_draw_info *state);
void trace_dump_draw_start_count(const struct pipe_draw_start_count *state);
void trace_dump_draw_start_count(const struct pipe_draw_start_count_bias *state);
void trace_dump_draw_indirect_info(const struct pipe_draw_indirect_info *state);

View File

@ -100,11 +100,11 @@ void
util_primconvert_draw_vbo(struct primconvert_context *pc,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
struct pipe_draw_info new_info;
struct pipe_draw_start_count new_draw;
struct pipe_draw_start_count_bias new_draw;
struct pipe_transfer *src_transfer = NULL;
u_translate_func trans_func;
u_generate_func gen_func;
@ -128,7 +128,7 @@ util_primconvert_draw_vbo(struct primconvert_context *pc,
return;
}
const struct pipe_draw_start_count *draw = &draws[0];
const struct pipe_draw_start_count_bias *draw = &draws[0];
/* Filter out degenerate primitives, u_upload_alloc() will assert
* on size==0 so just bail:

View File

@ -48,7 +48,7 @@ void util_primconvert_save_rasterizer_state(struct primconvert_context *pc,
void util_primconvert_draw_vbo(struct primconvert_context *pc,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
#endif /* U_PRIMCONVERT_H_ */

View File

@ -176,7 +176,7 @@ util_draw_indirect(struct pipe_context *pipe,
}
for (unsigned i = 0; i < draw_count; i++) {
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
draw.count = params[0];
info.instance_count = params[1];
@ -195,7 +195,7 @@ util_draw_indirect(struct pipe_context *pipe,
void
util_draw_multi(struct pipe_context *pctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
struct pipe_draw_info tmp_info = *info;

View File

@ -55,7 +55,7 @@ util_draw_arrays(struct pipe_context *pipe,
uint count)
{
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
util_draw_init_info(&info);
info.mode = mode;
@ -77,7 +77,7 @@ util_draw_elements(struct pipe_context *pipe,
uint count)
{
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
util_draw_init_info(&info);
info.index.user = indices;
@ -101,7 +101,7 @@ util_draw_arrays_instanced(struct pipe_context *pipe,
uint instance_count)
{
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
util_draw_init_info(&info);
info.mode = mode;
@ -129,7 +129,7 @@ util_draw_elements_instanced(struct pipe_context *pipe,
uint instance_count)
{
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
util_draw_init_info(&info);
info.index.user = indices;
@ -161,7 +161,7 @@ util_draw_indirect(struct pipe_context *pipe,
void
util_draw_multi(struct pipe_context *pctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
unsigned

View File

@ -201,7 +201,7 @@ void
util_dump_draw_info(FILE *stream, const struct pipe_draw_info *state);
void
util_dump_draw_start_count(FILE *stream, const struct pipe_draw_start_count *state);
util_dump_draw_start_count(FILE *stream, const struct pipe_draw_start_count_bias *state);
void
util_dump_draw_indirect_info(FILE *stream,

View File

@ -935,9 +935,9 @@ util_dump_draw_info(FILE *stream, const struct pipe_draw_info *state)
}
void
util_dump_draw_start_count(FILE *stream, const struct pipe_draw_start_count *state)
util_dump_draw_start_count(FILE *stream, const struct pipe_draw_start_count_bias *state)
{
util_dump_struct_begin(stream, "pipe_draw_start_count");
util_dump_struct_begin(stream, "pipe_draw_start_count_bias");
util_dump_member(stream, uint, state, start);
util_dump_member(stream, uint, state, count);
util_dump_struct_end(stream);

View File

@ -151,7 +151,7 @@ void util_set_shader_buffers_mask(struct pipe_shader_buffer *dst,
bool
util_upload_index_buffer(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
struct pipe_resource **out_buffer,
unsigned *out_offset, unsigned alignment)
{

View File

@ -58,7 +58,7 @@ void util_set_shader_buffers_mask(struct pipe_shader_buffer *dst,
bool util_upload_index_buffer(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
struct pipe_resource **out_buffer,
unsigned *out_offset, unsigned alignment);

View File

@ -100,7 +100,7 @@ enum pipe_error
util_translate_prim_restart_ib(struct pipe_context *context,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect_info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
struct pipe_resource **dst_buffer)
{
struct pipe_screen *screen = context->screen;
@ -224,12 +224,12 @@ enum pipe_error
util_draw_vbo_without_prim_restart(struct pipe_context *context,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect_info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
const void *src_map;
struct range_info ranges = {0};
struct pipe_draw_info new_info;
struct pipe_draw_start_count new_draw;
struct pipe_draw_start_count_bias new_draw;
struct pipe_transfer *src_transfer = NULL;
unsigned i, start, count;
DrawElementsIndirectCommand indirect;

View File

@ -50,14 +50,14 @@ enum pipe_error
util_translate_prim_restart_ib(struct pipe_context *context,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
struct pipe_resource **dst_buffer);
enum pipe_error
util_draw_vbo_without_prim_restart(struct pipe_context *context,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
static inline unsigned
util_prim_restart_index_from_size(unsigned index_size)

View File

@ -192,7 +192,7 @@ tc_batch_execute(void *job, UNUSED int thread_index)
first_info->info.drawid == 0 &&
is_next_call_a_mergeable_draw(first_info, next, &next_info)) {
/* Merge up to 256 draw calls. */
struct pipe_draw_start_count multi[256];
struct pipe_draw_start_count_bias multi[256];
unsigned num_draws = 2;
/* u_threaded_context stores start/count in min/max_index for single draws. */
@ -2389,10 +2389,10 @@ tc_call_draw_single(struct pipe_context *pipe, union tc_payload *payload)
/* u_threaded_context stores start/count in min/max_index for single draws. */
/* Drivers using u_threaded_context shouldn't use min/max_index. */
struct pipe_draw_start_count *draw =
(struct pipe_draw_start_count *)&info->info.min_index;
STATIC_ASSERT(offsetof(struct pipe_draw_start_count, start) == 0);
STATIC_ASSERT(offsetof(struct pipe_draw_start_count, count) == 4);
struct pipe_draw_start_count_bias *draw =
(struct pipe_draw_start_count_bias *)&info->info.min_index;
STATIC_ASSERT(offsetof(struct pipe_draw_start_count_bias, start) == 0);
STATIC_ASSERT(offsetof(struct pipe_draw_start_count_bias, count) == 4);
info->info.index_bounds_valid = false;
info->info.has_user_indices = false;
@ -2406,7 +2406,7 @@ tc_call_draw_single(struct pipe_context *pipe, union tc_payload *payload)
struct tc_draw_indirect {
struct pipe_draw_info info;
struct pipe_draw_indirect_info indirect;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
};
static void
@ -2429,7 +2429,7 @@ tc_call_draw_indirect(struct pipe_context *pipe, union tc_payload *payload)
struct tc_draw_multi {
struct pipe_draw_info info;
unsigned num_draws;
struct pipe_draw_start_count slot[]; /* variable-sized array */
struct pipe_draw_start_count_bias slot[]; /* variable-sized array */
};
static void
@ -2452,7 +2452,7 @@ tc_call_draw_multi(struct pipe_context *pipe, union tc_payload *payload)
void
tc_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
STATIC_ASSERT(DRAW_INFO_SIZE_WITHOUT_INDEXBUF_AND_MIN_MAX_INDEX +

View File

@ -411,7 +411,7 @@ threaded_context_flush(struct pipe_context *_pipe,
void
tc_draw_vbo(struct pipe_context *_pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
static inline struct threaded_context *

View File

@ -406,7 +406,7 @@ void u_vbuf_destroy(struct u_vbuf *mgr)
static enum pipe_error
u_vbuf_translate_buffers(struct u_vbuf *mgr, struct translate_key *key,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned vb_mask, unsigned out_vb,
int start_vertex, unsigned num_vertices,
int min_index, boolean unroll_indices)
@ -609,7 +609,7 @@ u_vbuf_translate_find_free_vb_slots(struct u_vbuf *mgr,
static boolean
u_vbuf_translate_begin(struct u_vbuf *mgr,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
int start_vertex, unsigned num_vertices,
int min_index, boolean unroll_indices)
{
@ -1236,7 +1236,7 @@ u_vbuf_get_minmax_index_mapped(const struct pipe_draw_info *info,
void u_vbuf_get_minmax_index(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned *out_min_index, unsigned *out_max_index)
{
struct pipe_transfer *transfer = NULL;
@ -1287,7 +1287,7 @@ u_vbuf_split_indexed_multidraw(struct u_vbuf *mgr, struct pipe_draw_info *info,
assert(info->index_size);
for (unsigned i = 0; i < draw_count; i++) {
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
unsigned offset = i * stride / 4;
draw.count = indirect_data[offset + 0];
@ -1302,7 +1302,7 @@ u_vbuf_split_indexed_multidraw(struct u_vbuf *mgr, struct pipe_draw_info *info,
void u_vbuf_draw_vbo(struct u_vbuf *mgr, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count draw)
const struct pipe_draw_start_count_bias draw)
{
struct pipe_context *pipe = mgr->pipe;
int start_vertex;
@ -1314,7 +1314,7 @@ void u_vbuf_draw_vbo(struct u_vbuf *mgr, const struct pipe_draw_info *info,
const uint32_t incompatible_vb_mask =
mgr->incompatible_vb_mask & used_vb_mask;
struct pipe_draw_info new_info;
struct pipe_draw_start_count new_draw;
struct pipe_draw_start_count_bias new_draw;
/* Normal draw. No fallback and no user buffers. */
if (!incompatible_vb_mask &&

View File

@ -81,10 +81,10 @@ void u_vbuf_set_vertex_buffers(struct u_vbuf *mgr,
const struct pipe_vertex_buffer *bufs);
void u_vbuf_draw_vbo(struct u_vbuf *mgr, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count draw);
const struct pipe_draw_start_count_bias draw);
void u_vbuf_get_minmax_index(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned *out_min_index, unsigned *out_max_index);
/* Save/restore functionality. */

View File

@ -291,7 +291,7 @@ void
d3d12_draw_vbo(struct pipe_context *pctx,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
void

View File

@ -168,7 +168,7 @@ fill_sampler_descriptors(struct d3d12_context *ctx,
static unsigned
fill_state_vars(struct d3d12_context *ctx,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
struct d3d12_shader *shader,
uint32_t *values)
{
@ -244,7 +244,7 @@ check_descriptors_left(struct d3d12_context *ctx)
static void
set_graphics_root_parameters(struct d3d12_context *ctx,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
unsigned num_params = 0;
@ -358,7 +358,7 @@ static void
twoface_emulation(struct d3d12_context *ctx,
struct d3d12_rasterizer_state *rast,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
/* draw backfaces */
ctx->base.bind_rasterizer_state(&ctx->base, rast->twoface_back);
@ -424,7 +424,7 @@ void
d3d12_draw_vbo(struct pipe_context *pctx,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -226,7 +226,7 @@ etna_get_fs(struct etna_context *ctx, struct etna_shader_key key)
static void
etna_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -78,7 +78,7 @@ emit_vertexbufs(struct fd_context *ctx) assert_dt
static void
draw_impl(struct fd_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw, struct fd_ringbuffer *ring,
const struct pipe_draw_start_count_bias *draw, struct fd_ringbuffer *ring,
unsigned index_offset, bool binning) assert_dt
{
OUT_PKT3(ring, CP_SET_CONSTANT, 2);
@ -154,7 +154,7 @@ draw_impl(struct fd_context *ctx, const struct pipe_draw_info *info,
static bool
fd2_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *pinfo,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *pdraw,
const struct pipe_draw_start_count_bias *pdraw,
unsigned index_offset) assert_dt
{
if (!ctx->prog.fs || !ctx->prog.vs)
@ -190,7 +190,7 @@ fd2_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *pinfo,
};
/* clang-format on */
struct pipe_draw_start_count draw = *pdraw;
struct pipe_draw_start_count_bias draw = *pdraw;
unsigned count = draw.count;
unsigned step = step_tbl[pinfo->mode];
unsigned num_vertices = ctx->batch->num_vertices;

View File

@ -97,7 +97,7 @@ draw_impl(struct fd_context *ctx, struct fd_ringbuffer *ring,
static bool
fd3_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned index_offset) in_dt
{
struct fd3_emit emit = {

View File

@ -48,7 +48,7 @@ struct fd3_emit {
const struct fd3_program_state *prog;
const struct pipe_draw_info *info;
const struct pipe_draw_indirect_info *indirect;
const struct pipe_draw_start_count *draw;
const struct pipe_draw_start_count_bias *draw;
bool binning_pass;
struct ir3_cache_key key;
enum fd_dirty_3d_state dirty;

View File

@ -74,7 +74,7 @@ draw_impl(struct fd_context *ctx, struct fd_ringbuffer *ring,
static bool
fd4_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned index_offset) in_dt
{
struct fd4_context *fd4_ctx = fd4_context(ctx);

View File

@ -88,7 +88,7 @@ fd4_draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring,
enum pc_di_primtype primtype, enum pc_di_vis_cull_mode vismode,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw, unsigned index_offset)
const struct pipe_draw_start_count_bias *draw, unsigned index_offset)
{
struct pipe_resource *idx_buffer = NULL;
enum a4xx_index_size idx_type;

View File

@ -46,7 +46,7 @@ struct fd4_emit {
const struct fd4_program_state *prog;
const struct pipe_draw_info *info;
const struct pipe_draw_indirect_info *indirect;
const struct pipe_draw_start_count *draw;
const struct pipe_draw_start_count_bias *draw;
bool binning_pass;
struct ir3_cache_key key;
enum fd_dirty_3d_state dirty;

View File

@ -70,7 +70,7 @@ draw_impl(struct fd_context *ctx, struct fd_ringbuffer *ring,
static bool
fd5_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned index_offset) in_dt
{
struct fd5_context *fd5_ctx = fd5_context(ctx);

View File

@ -82,7 +82,7 @@ fd5_draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring,
enum pc_di_primtype primtype, enum pc_di_vis_cull_mode vismode,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw, unsigned index_offset)
const struct pipe_draw_start_count_bias *draw, unsigned index_offset)
{
struct pipe_resource *idx_buffer = NULL;
enum a4xx_index_size idx_type;

View File

@ -46,7 +46,7 @@ struct fd5_emit {
const struct fd5_program_state *prog;
const struct pipe_draw_info *info;
const struct pipe_draw_indirect_info *indirect;
const struct pipe_draw_start_count *draw;
const struct pipe_draw_start_count_bias *draw;
bool binning_pass;
struct ir3_cache_key key;
enum fd_dirty_3d_state dirty;

View File

@ -96,7 +96,7 @@ draw_emit_indirect(struct fd_ringbuffer *ring,
static void
draw_emit(struct fd_ringbuffer *ring, struct CP_DRAW_INDX_OFFSET_0 *draw0,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw, unsigned index_offset)
const struct pipe_draw_start_count_bias *draw, unsigned index_offset)
{
if (info->index_size) {
assert(!info->has_user_indices);
@ -133,7 +133,7 @@ fixup_draw_state(struct fd_context *ctx, struct fd6_emit *emit) assert_dt
static bool
fd6_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned index_offset) assert_dt
{
struct fd6_context *fd6_ctx = fd6_context(ctx);

View File

@ -90,7 +90,7 @@ struct fd6_emit {
const struct fd_vertex_state *vtx;
const struct pipe_draw_info *info;
const struct pipe_draw_indirect_info *indirect;
const struct pipe_draw_start_count *draw;
const struct pipe_draw_start_count_bias *draw;
struct ir3_cache_key key;
enum fd_dirty_3d_state dirty;
uint32_t dirty_groups;

View File

@ -63,7 +63,7 @@ bitfield_size_bits(unsigned n)
static unsigned
prim_count(const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
/* PIPE_PRIM_MAX used internally for RECTLIST blits on 3d pipe: */
unsigned vtx_per_prim =
@ -89,7 +89,7 @@ prim_count(const struct pipe_draw_info *info,
*/
static unsigned
primitive_stream_size_bits(const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned num_bins)
{
unsigned num_prims = prim_count(info, draw);
@ -128,7 +128,7 @@ draw_stream_size_bits(const struct pipe_draw_info *info, unsigned num_bins,
void
fd6_vsc_update_sizes(struct fd_batch *batch, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
if (!batch->num_bins_per_pipe) {
batch->num_bins_per_pipe = fd_gmem_estimate_bins_per_pipe(batch);

View File

@ -26,6 +26,6 @@
void fd6_vsc_update_sizes(struct fd_batch *batch,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
#endif /* FD6_VSC_H_ */

View File

@ -241,7 +241,7 @@ fd_blitter_clear(struct pipe_context *pctx, unsigned buffers,
.max_index = 1,
.instance_count = MAX2(1, pfb->layers),
};
struct pipe_draw_start_count draw = {
struct pipe_draw_start_count_bias draw = {
.count = 2,
};
pctx->draw_vbo(pctx, &info, NULL, &draw, 1);

View File

@ -464,7 +464,7 @@ struct fd_context {
/* draw: */
bool (*draw_vbo)(struct fd_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned index_offset) dt;
bool (*clear)(struct fd_context *ctx, unsigned buffers,
const union pipe_color_union *color, double depth,

View File

@ -226,7 +226,7 @@ batch_draw_tracking(struct fd_batch *batch, const struct pipe_draw_info *info,
static void
update_draw_stats(struct fd_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws) assert_dt
{
ctx->stats.draw_calls++;
@ -266,7 +266,7 @@ update_draw_stats(struct fd_context *ctx, const struct pipe_draw_info *info,
static void
fd_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws, unsigned num_draws) in_dt
const struct pipe_draw_start_count_bias *draws, unsigned num_draws) in_dt
{
struct fd_context *ctx = fd_context(pctx);

View File

@ -143,7 +143,7 @@ static inline void
fd_draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring,
enum pc_di_primtype primtype, enum pc_di_vis_cull_mode vismode,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw, unsigned index_offset)
const struct pipe_draw_start_count_bias *draw, unsigned index_offset)
{
struct pipe_resource *idx_buffer = NULL;
enum pc_di_index_size idx_type = INDEX_SIZE_IGN;

View File

@ -466,7 +466,7 @@ ir3_emit_vs_driver_params(const struct ir3_shader_variant *v,
struct fd_ringbuffer *ring, struct fd_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw) assert_dt
const struct pipe_draw_start_count_bias *draw) assert_dt
{
assert(v->need_driver_params);
@ -548,7 +548,7 @@ ir3_emit_vs_consts(const struct ir3_shader_variant *v,
struct fd_ringbuffer *ring, struct fd_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw) assert_dt
const struct pipe_draw_start_count_bias *draw) assert_dt
{
debug_assert(v->type == MESA_SHADER_VERTEX);

View File

@ -54,7 +54,7 @@ DEBUG_GET_ONCE_BOOL_OPTION(i915_no_vbuf, "I915_NO_VBUF", FALSE)
static void
i915_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -855,7 +855,7 @@ void iris_copy_region(struct blorp_context *blorp,
void iris_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
void iris_launch_grid(struct pipe_context *, const struct pipe_grid_info *);

View File

@ -117,7 +117,7 @@ static void
iris_update_draw_parameters(struct iris_context *ice,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
bool changed = false;
@ -179,7 +179,7 @@ static void
iris_indirect_draw_vbo(struct iris_context *ice,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_indirect_info *dindirect,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct iris_batch *batch = &ice->batches[IRIS_BATCH_RENDER];
struct pipe_draw_info info = *dinfo;
@ -224,7 +224,7 @@ static void
iris_simple_draw_vbo(struct iris_context *ice,
const struct pipe_draw_info *draw,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *sc)
const struct pipe_draw_start_count_bias *sc)
{
struct iris_batch *batch = &ice->batches[IRIS_BATCH_RENDER];
@ -241,7 +241,7 @@ iris_simple_draw_vbo(struct iris_context *ice,
void
iris_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -263,7 +263,7 @@ _iris_measure_snapshot(struct iris_context *ice,
enum intel_measure_snapshot_type type,
const struct pipe_draw_info *draw,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *sc)
const struct pipe_draw_start_count_bias *sc)
{
const struct intel_measure_config *config = config_from_context(ice);

View File

@ -46,7 +46,7 @@ void _iris_measure_snapshot(struct iris_context *ice,
enum intel_measure_snapshot_type type,
const struct pipe_draw_info *draw,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *sc);
const struct pipe_draw_start_count_bias *sc);
#define iris_measure_snapshot(ice, batch, type, draw, indirect, start_count) \
if (unlikely(((struct iris_screen *) ice->ctx.screen)->measure.config)) \

View File

@ -63,7 +63,7 @@ struct iris_vtable {
struct iris_batch *batch,
const struct pipe_draw_info *draw,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *sc);
const struct pipe_draw_start_count_bias *sc);
void (*update_surface_base_address)(struct iris_batch *batch,
struct iris_binder *binder);
void (*upload_compute_state)(struct iris_context *ice,

View File

@ -6570,7 +6570,7 @@ iris_upload_render_state(struct iris_context *ice,
struct iris_batch *batch,
const struct pipe_draw_info *draw,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *sc)
const struct pipe_draw_start_count_bias *sc)
{
bool use_predicate = ice->state.predicate == IRIS_PREDICATE_STATE_USE_BIT;

View File

@ -267,7 +267,7 @@ lima_pipe_format_to_attrib_type(enum pipe_format format)
static void
lima_pack_vs_cmd(struct lima_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct lima_context_constant_buffer *ccb =
ctx->const_buffer + PIPE_SHADER_VERTEX;
@ -316,7 +316,7 @@ lima_pack_vs_cmd(struct lima_context *ctx, const struct pipe_draw_info *info,
static void
lima_pack_plbu_cmd(struct lima_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct lima_vs_compiled_shader *vs = ctx->vs;
struct pipe_scissor_state *cscissor = &ctx->clipped_scissor;
@ -808,7 +808,7 @@ lima_pack_render_state(struct lima_context *ctx, const struct pipe_draw_info *in
static void
lima_update_gp_attribute_info(struct lima_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct lima_job *job = lima_job_get(ctx);
struct lima_vertex_element_state *ve = ctx->vertex_elements;
@ -924,7 +924,7 @@ lima_update_pp_uniform(struct lima_context *ctx)
static void
lima_update_varying(struct lima_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct lima_job *job = lima_job_get(ctx);
struct lima_screen *screen = lima_screen(ctx->base.screen);
@ -1009,7 +1009,7 @@ lima_update_varying(struct lima_context *ctx, const struct pipe_draw_info *info,
static void
lima_draw_vbo_update(struct pipe_context *pctx,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct lima_context *ctx = lima_context(pctx);
struct lima_context_framebuffer *fb = &ctx->framebuffer;
@ -1064,7 +1064,7 @@ lima_draw_vbo_update(struct pipe_context *pctx,
static void
lima_draw_vbo_indexed(struct pipe_context *pctx,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct lima_context *ctx = lima_context(pctx);
struct lima_job *job = lima_job_get(ctx);
@ -1108,11 +1108,11 @@ lima_draw_vbo_indexed(struct pipe_context *pctx,
static void
lima_draw_vbo_count(struct pipe_context *pctx,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
static const uint32_t max_verts = 65535;
struct pipe_draw_start_count local_draw = *draw;
struct pipe_draw_start_count_bias local_draw = *draw;
unsigned start = draw->start;
unsigned count = draw->count;
@ -1136,7 +1136,7 @@ static void
lima_draw_vbo(struct pipe_context *pctx,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -53,7 +53,7 @@
static void
llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (!indirect && (!draws[0].count || !info->instance_count))

View File

@ -196,14 +196,14 @@ nv30_fragtex_set_sampler_views(struct pipe_context *pipe,
void
nv30_push_vbo(struct nv30_context *nv30, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
void
nv30_draw_init(struct pipe_context *pipe);
void
nv30_render_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
bool
nv30_state_validate(struct nv30_context *nv30, uint32_t mask, bool hwtnl);

View File

@ -377,7 +377,7 @@ nv30_render_validate(struct nv30_context *nv30)
void
nv30_render_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw_one)
const struct pipe_draw_start_count_bias *draw_one)
{
struct nv30_context *nv30 = nv30_context(pipe);
struct draw_context *draw = nv30->draw;

View File

@ -196,7 +196,7 @@ emit_vertices_seq(struct push_context *ctx, unsigned start, unsigned count)
void
nv30_push_vbo(struct nv30_context *nv30, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct push_context ctx;
unsigned i, index_size;

View File

@ -547,7 +547,7 @@ nv30_draw_elements(struct nv30_context *nv30, bool shorten,
static void
nv30_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -328,7 +328,7 @@ nv50_cb_push(struct nouveau_context *nv,
/* nv50_vbo.c */
void nv50_draw_vbo(struct pipe_context *, const struct pipe_draw_info *,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
void *
@ -343,7 +343,7 @@ void nv50_vertex_arrays_validate(struct nv50_context *nv50);
/* nv50_push.c */
void nv50_push_vbo(struct nv50_context *, const struct pipe_draw_info *,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
/* nv84_video.c */
struct pipe_video_codec *

View File

@ -240,7 +240,7 @@ nv50_prim_gl(unsigned prim)
void
nv50_push_vbo(struct nv50_context *nv50, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct push_context ctx;
unsigned i, index_size;

View File

@ -759,7 +759,7 @@ nv50_draw_vbo_kick_notify(struct nouveau_pushbuf *chan)
void
nv50_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -414,7 +414,7 @@ nvc0_cb_bo_push(struct nouveau_context *,
/* nvc0_vbo.c */
void nvc0_draw_vbo(struct pipe_context *, const struct pipe_draw_info *,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
void *
@ -440,10 +440,10 @@ nvc0_video_buffer_create(struct pipe_context *pipe,
/* nvc0_push.c */
void nvc0_push_vbo(struct nvc0_context *, const struct pipe_draw_info *,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
void nvc0_push_vbo_indirect(struct nvc0_context *, const struct pipe_draw_info *,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
/* nve4_compute.c */
void nve4_launch_grid(struct pipe_context *, const struct pipe_grid_info *);

View File

@ -925,7 +925,7 @@ nvc0_update_prim_restart(struct nvc0_context *nvc0, bool en, uint32_t index)
void
nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -37,7 +37,7 @@ struct push_context {
static void nvc0_push_upload_vertex_ids(struct push_context *,
struct nvc0_context *,
const struct pipe_draw_info *,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
static void
nvc0_push_context_init(struct nvc0_context *nvc0, struct push_context *ctx)
@ -493,7 +493,7 @@ typedef struct {
void
nvc0_push_vbo_indirect(struct nvc0_context *nvc0, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
/* The strategy here is to just read the commands from the indirect buffer
* and do the draws. This is suboptimal, but will only happen in the case
@ -516,7 +516,7 @@ nvc0_push_vbo_indirect(struct nvc0_context *nvc0, const struct pipe_draw_info *i
uint8_t *buf_data = nouveau_resource_map_offset(
&nvc0->base, buf, indirect->offset, NOUVEAU_BO_RD);
struct pipe_draw_info single = *info;
struct pipe_draw_start_count sdraw = *draw;
struct pipe_draw_start_count_bias sdraw = *draw;
for (i = 0; i < draw_count; i++, buf_data += indirect->stride) {
if (info->index_size) {
DrawElementsIndirectCommand *cmd = (void *)buf_data;
@ -557,7 +557,7 @@ nvc0_push_vbo_indirect(struct nvc0_context *nvc0, const struct pipe_draw_info *i
void
nvc0_push_vbo(struct nvc0_context *nvc0, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct push_context ctx;
unsigned i, index_size;
@ -711,7 +711,7 @@ static void
nvc0_push_upload_vertex_ids(struct push_context *ctx,
struct nvc0_context *nvc0,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct nouveau_pushbuf *push = ctx->push;

View File

@ -63,7 +63,7 @@ panfrost_bo_access_for_stage(enum pipe_shader_type stage)
mali_ptr
panfrost_get_index_buffer_bounded(struct panfrost_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned *min_index, unsigned *max_index)
{
struct panfrost_resource *rsrc = pan_resource(info->index.resource);

View File

@ -73,7 +73,7 @@ panfrost_emit_vertex_data(struct panfrost_batch *batch,
mali_ptr
panfrost_get_index_buffer_bounded(struct panfrost_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned *min_index, unsigned *max_index);
void

View File

@ -173,7 +173,7 @@ static void
panfrost_statistics_record(
struct panfrost_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
if (!ctx->active_queries)
return;
@ -288,7 +288,7 @@ panfrost_is_implicit_prim_restart(const struct pipe_draw_info *info)
static void
panfrost_draw_emit_tiler(struct panfrost_batch *batch,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
void *invocation_template,
mali_ptr shared_mem, mali_ptr indices,
mali_ptr fs_vary, mali_ptr varyings,
@ -408,7 +408,7 @@ panfrost_draw_emit_tiler(struct panfrost_batch *batch,
static void
panfrost_direct_draw(struct panfrost_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
if (!draw->count || !info->instance_count)
return;
@ -536,10 +536,10 @@ static void
panfrost_indirect_draw(struct panfrost_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
if (indirect->count_from_stream_output) {
struct pipe_draw_start_count tmp_draw = *draw;
struct pipe_draw_start_count_bias tmp_draw = *draw;
struct panfrost_streamout_target *so =
pan_so_target(indirect->count_from_stream_output);
@ -689,7 +689,7 @@ static void
panfrost_draw_vbo(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
struct panfrost_context *ctx = pan_context(pipe);

View File

@ -335,7 +335,7 @@ static boolean immd_is_good_idea(struct r300_context *r300,
static void r300_draw_arrays_immediate(struct r300_context *r300,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct pipe_vertex_element* velem;
struct pipe_vertex_buffer* vbuf;
@ -499,7 +499,7 @@ static void r300_emit_draw_elements(struct r300_context *r300,
static void r300_draw_elements_immediate(struct r300_context *r300,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
const uint8_t *ptr1;
const uint16_t *ptr2;
@ -585,7 +585,7 @@ static void r300_draw_elements_immediate(struct r300_context *r300,
static void r300_draw_elements(struct r300_context *r300,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
int instance_id)
{
struct pipe_resource *indexBuffer =
@ -677,7 +677,7 @@ done:
static void r300_draw_arrays(struct r300_context *r300,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
int instance_id)
{
boolean alt_num_verts = r300->screen->caps.is_r500 &&
@ -719,7 +719,7 @@ static void r300_draw_arrays(struct r300_context *r300,
static void r300_draw_arrays_instanced(struct r300_context *r300,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
int i;
@ -729,7 +729,7 @@ static void r300_draw_arrays_instanced(struct r300_context *r300,
static void r300_draw_elements_instanced(struct r300_context *r300,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
int i;
@ -789,7 +789,7 @@ static unsigned r300_max_vertex_count(struct r300_context *r300)
static void r300_draw_vbo(struct pipe_context* pipe,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {
@ -799,7 +799,7 @@ static void r300_draw_vbo(struct pipe_context* pipe,
struct r300_context* r300 = r300_context(pipe);
struct pipe_draw_info info = *dinfo;
struct pipe_draw_start_count draw = draws[0];
struct pipe_draw_start_count_bias draw = draws[0];
if (r300->skip_rendering ||
!u_trim_pipe_prim(info.mode, &draw.count)) {
@ -856,7 +856,7 @@ static void r300_draw_vbo(struct pipe_context* pipe,
static void r300_swtcl_draw_vbo(struct pipe_context* pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {
@ -865,7 +865,7 @@ static void r300_swtcl_draw_vbo(struct pipe_context* pipe,
}
struct r300_context* r300 = r300_context(pipe);
struct pipe_draw_start_count draw = draws[0];
struct pipe_draw_start_count_bias draw = draws[0];
if (r300->skip_rendering) {
return;

View File

@ -37,7 +37,7 @@ struct r300_stencilref_context {
void (*draw_vbo)(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
uint32_t rs_cull_mode;
@ -106,7 +106,7 @@ static void r300_stencilref_end(struct r300_context *r300)
static void r300_stencilref_draw_vbo(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
struct r300_context *r300 = r300_context(pipe);

View File

@ -2075,7 +2075,7 @@ static inline void r600_emit_rasterizer_prim_state(struct r600_context *rctx)
static void r600_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -954,7 +954,7 @@ static bool si_check_ring_space(struct si_context *sctx, unsigned out_indexbuf_s
enum si_prim_discard_outcome
si_prepare_prim_discard_or_split_draw(struct si_context *sctx, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws, bool primitive_restart,
unsigned total_count)
{
@ -1023,7 +1023,7 @@ si_prepare_prim_discard_or_split_draw(struct si_context *sctx, const struct pipe
/* Split single draws if splitting multi draws isn't enough. */
struct pipe_draw_info split_draw = *info;
struct pipe_draw_start_count split_draw_range = draws[0];
struct pipe_draw_start_count_bias split_draw_range = draws[0];
unsigned base_start = split_draw_range.start;
split_draw.primitive_restart = primitive_restart;

View File

@ -887,7 +887,7 @@ struct si_small_prim_cull_info {
typedef void (*pipe_draw_vbo_func)(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
struct si_context {
@ -1481,7 +1481,7 @@ enum si_prim_discard_outcome
void si_build_prim_discard_compute_shader(struct si_shader_context *ctx);
enum si_prim_discard_outcome
si_prepare_prim_discard_or_split_draw(struct si_context *sctx, const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws, bool primitive_restart,
unsigned total_count);
void si_compute_signal_gfx(struct si_context *sctx);

View File

@ -964,7 +964,7 @@ static void si_emit_draw_registers(struct si_context *sctx,
template <chip_class GFX_VERSION, si_has_ngg NGG, si_has_prim_discard_cs ALLOW_PRIM_DISCARD_CS>
static void si_emit_draw_packets(struct si_context *sctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws,
struct pipe_resource *indexbuf, unsigned index_size,
unsigned index_offset, unsigned instance_count,
@ -1454,7 +1454,7 @@ static bool si_upload_and_prefetch_VB_descriptors(struct si_context *sctx)
static void si_get_draw_start_count(struct si_context *sctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws, unsigned *start, unsigned *count)
{
if (indirect && !indirect->count_from_stream_output) {
@ -1668,7 +1668,7 @@ template <chip_class GFX_VERSION, si_has_tess HAS_TESS, si_has_gs HAS_GS, si_has
static void si_draw_vbo(struct pipe_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
/* Keep code that uses the least number of local variables as close to the beginning
@ -2232,7 +2232,7 @@ static void si_draw_rectangle(struct blitter_context *blitter, void *vertex_elem
pipe->bind_vs_state(pipe, si_get_blitter_vs(sctx, type, num_instances));
struct pipe_draw_info info = {};
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
info.mode = SI_PRIM_RECTANGLE_LIST;
info.instance_count = num_instances;
@ -2311,7 +2311,7 @@ static void si_init_draw_vbo_all_families(struct si_context *sctx)
static void si_invalid_draw_vbo(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
unreachable("vertex shader not bound");

View File

@ -61,7 +61,7 @@ void
softpipe_draw_vbo(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -183,7 +183,7 @@ void
softpipe_draw_vbo(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
void

View File

@ -66,7 +66,7 @@ svga_hwtnl_draw_arrays(struct svga_hwtnl *hwtnl,
enum pipe_error
svga_hwtnl_draw_range_elements(struct svga_hwtnl *hwtnl,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned count);
boolean

View File

@ -61,7 +61,7 @@
static enum pipe_error
translate_indices(struct svga_hwtnl *hwtnl,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
enum pipe_prim_type gen_prim,
unsigned orig_nr, unsigned gen_nr,
unsigned gen_size,
@ -216,7 +216,7 @@ svga_hwtnl_simple_draw_range_elements(struct svga_hwtnl *hwtnl,
enum pipe_error
svga_hwtnl_draw_range_elements(struct svga_hwtnl *hwtnl,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned count)
{
struct pipe_context *pipe = &hwtnl->svga->pipe;

View File

@ -45,7 +45,7 @@
static enum pipe_error
retry_draw_range_elements(struct svga_context *svga,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw,
const struct pipe_draw_start_count_bias *draw,
unsigned count)
{
SVGA_STATS_TIME_PUSH(svga_sws(svga), SVGA_STATS_TIME_DRAWELEMENTS);
@ -219,7 +219,7 @@ get_vcount_from_stream_output(struct svga_context *svga,
static void
svga_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -41,7 +41,7 @@ enum pipe_error
svga_swtnl_draw_vbo(struct svga_context *svga,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
#endif

View File

@ -334,7 +334,7 @@ svga_vbuf_render_draw_elements(struct vbuf_render *render,
.min_index = svga_render->min_index,
.max_index = svga_render->max_index,
};
const struct pipe_draw_start_count draw = {
const struct pipe_draw_start_count_bias draw = {
.start = 0,
.count = nr_indices,
};

View File

@ -40,7 +40,7 @@ enum pipe_error
svga_swtnl_draw_vbo(struct svga_context *svga,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw_one)
const struct pipe_draw_start_count_bias *draw_one)
{
struct pipe_transfer *vb_transfer[PIPE_MAX_ATTRIBS] = { 0 };
struct pipe_transfer *ib_transfer = NULL;

View File

@ -39,7 +39,7 @@
static void
swr_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {
@ -82,7 +82,7 @@ swr_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info,
swr_update_draw_context(ctx);
struct pipe_draw_info resolved_info;
struct pipe_draw_start_count resolved_draw;
struct pipe_draw_start_count_bias resolved_draw;
/* DrawTransformFeedback */
if (indirect && indirect->count_from_stream_output) {
// trick copied from softpipe to modify const struct *info

View File

@ -1168,7 +1168,7 @@ swr_get_last_fe(const struct swr_context *ctx)
void
swr_update_derived(struct pipe_context *pipe,
const struct pipe_draw_info *p_draw_info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
struct swr_context *ctx = swr_context(pipe);
struct swr_screen *screen = swr_screen(pipe->screen);

View File

@ -131,7 +131,7 @@ struct swr_derived_state {
void swr_update_derived(struct pipe_context *,
const struct pipe_draw_info * = nullptr,
const struct pipe_draw_start_count *draw = nullptr);
const struct pipe_draw_start_count_bias *draw = nullptr);
/*
* Conversion functions: Convert mesa state defines to SWR.

View File

@ -49,7 +49,7 @@ static void
tegra_draw_vbo(struct pipe_context *pcontext,
const struct pipe_draw_info *pinfo,
const struct pipe_draw_indirect_info *pindirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -997,7 +997,7 @@ v3d_emit_gl_shader_state(struct v3d_context *v3d,
static void
v3d_update_primitives_generated_counter(struct v3d_context *v3d,
const struct pipe_draw_info *info,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
assert(!v3d->prog.gs);
@ -1106,7 +1106,7 @@ v3d_check_compiled_shaders(struct v3d_context *v3d)
static void
v3d_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -290,7 +290,7 @@ vc4_hw_2116_workaround(struct pipe_context *pctx, int vert_count)
static void
vc4_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -861,7 +861,7 @@ static void virgl_clear_texture(struct pipe_context *ctx,
static void virgl_draw_vbo(struct pipe_context *ctx,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (num_draws > 1) {

View File

@ -739,7 +739,7 @@ int virgl_encoder_set_index_buffer(struct virgl_context *ctx,
int virgl_encoder_draw_vbo(struct virgl_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw)
const struct pipe_draw_start_count_bias *draw)
{
uint32_t length = VIRGL_DRAW_VBO_SIZE;
if (info->mode == PIPE_PRIM_PATCHES)

View File

@ -137,7 +137,7 @@ int virgl_encoder_set_viewport_states(struct virgl_context *ctx,
int virgl_encoder_draw_vbo(struct virgl_context *ctx,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draw);
const struct pipe_draw_start_count_bias *draw);
int virgl_encoder_create_surface(struct virgl_context *ctx,

View File

@ -335,7 +335,7 @@ void
zink_draw_vbo(struct pipe_context *pctx,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
void

View File

@ -283,7 +283,7 @@ void
zink_draw_vbo(struct pipe_context *pctx,
const struct pipe_draw_info *dinfo,
const struct pipe_draw_indirect_info *dindirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws)
{
if (!dindirect && (!draws[0].count || !dinfo->instance_count))

View File

@ -484,7 +484,7 @@ VKAPI_ATTR void VKAPI_CALL lvp_CmdDraw(
LVP_FROM_HANDLE(lvp_cmd_buffer, cmd_buffer, commandBuffer);
struct lvp_cmd_buffer_entry *cmd;
uint32_t cmd_size = sizeof(struct pipe_draw_start_count);
uint32_t cmd_size = sizeof(struct pipe_draw_start_count_bias);
cmd = cmd_buf_entry_alloc_size(cmd_buffer, cmd_size, LVP_CMD_DRAW);
if (!cmd)
return;
@ -736,7 +736,7 @@ VKAPI_ATTR void VKAPI_CALL lvp_CmdDrawIndexed(
LVP_FROM_HANDLE(lvp_cmd_buffer, cmd_buffer, commandBuffer);
struct lvp_cmd_buffer_entry *cmd;
uint32_t cmd_size = sizeof(struct pipe_draw_start_count);
uint32_t cmd_size = sizeof(struct pipe_draw_start_count_bias);
cmd = cmd_buf_entry_alloc_size(cmd_buffer, cmd_size, LVP_CMD_DRAW_INDEXED);
if (!cmd)
return;

View File

@ -2158,7 +2158,7 @@ static void handle_draw_indirect(struct lvp_cmd_buffer_entry *cmd,
struct rendering_state *state, bool indexed)
{
const struct lvp_subpass *subpass = &state->pass->subpasses[state->subpass];
struct pipe_draw_start_count draw = {0};
struct pipe_draw_start_count_bias draw = {0};
if (indexed) {
state->info.index_bounds_valid = false;
state->info.index_size = state->index_size;
@ -2629,7 +2629,7 @@ static void handle_draw_indirect_count(struct lvp_cmd_buffer_entry *cmd,
struct rendering_state *state, bool indexed)
{
const struct lvp_subpass *subpass = &state->pass->subpasses[state->subpass];
struct pipe_draw_start_count draw = {0};
struct pipe_draw_start_count_bias draw = {0};
if (indexed) {
state->info.index_bounds_valid = false;
state->info.index_size = state->index_size;
@ -2806,7 +2806,7 @@ static void handle_draw_indirect_byte_count(struct lvp_cmd_buffer_entry *cmd,
{
struct lvp_cmd_draw_indirect_byte_count *dibc = &cmd->u.draw_indirect_byte_count;
const struct lvp_subpass *subpass = &state->pass->subpasses[state->subpass];
struct pipe_draw_start_count draw = {0};
struct pipe_draw_start_count_bias draw = {0};
pipe_buffer_read(state->pctx,
dibc->counter_buffer->bo,

View File

@ -743,7 +743,7 @@ struct lvp_cmd_draw {
uint32_t instance_count;
uint32_t first_instance;
uint32_t draw_count;
struct pipe_draw_start_count draws[0];
struct pipe_draw_start_count_bias draws[0];
};
struct lvp_cmd_draw_indexed {
@ -752,7 +752,7 @@ struct lvp_cmd_draw_indexed {
uint32_t first_instance;
bool calc_start;
uint32_t draw_count;
struct pipe_draw_start_count draws[0];
struct pipe_draw_start_count_bias draws[0];
};
struct lvp_cmd_draw_indirect {

View File

@ -3220,7 +3220,7 @@ NineDevice9_ProcessVertices( struct NineDevice9 *This,
struct pipe_stream_output_info so;
struct pipe_stream_output_target *target;
struct pipe_draw_info draw;
struct pipe_draw_start_count sc;
struct pipe_draw_start_count_bias sc;
struct pipe_box box;
bool programmable_vs = This->state.vs && !(This->state.vdecl && This->state.vdecl->position_t);
unsigned offsets[1] = {0};

View File

@ -2355,7 +2355,7 @@ CSMT_ITEM_NO_WAIT(nine_context_clear_fb,
static inline void
init_draw_info(struct pipe_draw_info *info,
struct pipe_draw_start_count *draw,
struct pipe_draw_start_count_bias *draw,
struct NineDevice9 *dev, D3DPRIMITIVETYPE type, UINT count)
{
info->mode = d3dprimitivetype_to_pipe_prim(type);
@ -2376,7 +2376,7 @@ CSMT_ITEM_NO_WAIT(nine_context_draw_primitive,
{
struct nine_context *context = &device->context;
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
nine_update_state(device);
@ -2401,7 +2401,7 @@ CSMT_ITEM_NO_WAIT(nine_context_draw_indexed_primitive,
{
struct nine_context *context = &device->context;
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
nine_update_state(device);
@ -2431,7 +2431,7 @@ CSMT_ITEM_NO_WAIT(nine_context_draw_indexed_primitive_from_vtxbuf_idxbuf,
{
struct nine_context *context = &device->context;
struct pipe_draw_info info;
struct pipe_draw_start_count draw;
struct pipe_draw_start_count_bias draw;
nine_update_state(device);

View File

@ -50,7 +50,7 @@ struct pipe_depth_stencil_alpha_state;
struct pipe_device_reset_callback;
struct pipe_draw_info;
struct pipe_draw_indirect_info;
struct pipe_draw_start_count;
struct pipe_draw_start_count_bias;
struct pipe_grid_info;
struct pipe_fence_handle;
struct pipe_framebuffer_state;
@ -138,7 +138,7 @@ struct pipe_context {
void (*draw_vbo)(struct pipe_context *pipe,
const struct pipe_draw_info *info,
const struct pipe_draw_indirect_info *indirect,
const struct pipe_draw_start_count *draws,
const struct pipe_draw_start_count_bias *draws,
unsigned num_draws);
/*@}*/

View File

@ -734,9 +734,10 @@ struct pipe_draw_indirect_info
struct pipe_stream_output_target *count_from_stream_output;
};
struct pipe_draw_start_count {
struct pipe_draw_start_count_bias {
unsigned start;
unsigned count;
int index_bias; /**< a bias to be added to each index */
};
/**

Some files were not shown because too many files have changed in this diff Show More