pipe_buffer_unmap(context, src_transfer);
}
-void util_shorten_ubyte_elts(struct pipe_context *context,
- struct pipe_index_buffer *ib,
- struct pipe_resource **out_buf,
- int index_bias,
- unsigned start,
- unsigned count)
-{
- struct pipe_resource* new_elts;
- unsigned short *out_map;
- struct pipe_transfer *dst_transfer;
-
- new_elts = pipe_buffer_create(context->screen,
- PIPE_BIND_INDEX_BUFFER,
- PIPE_USAGE_DEFAULT,
- 2 * count);
-
- out_map = pipe_buffer_map(context, new_elts, PIPE_TRANSFER_WRITE,
- &dst_transfer);
- util_shorten_ubyte_elts_to_userptr(context, ib, index_bias,
- start, count, out_map);
- pipe_buffer_unmap(context, dst_transfer);
-
- pipe_resource_reference(out_buf, NULL);
- *out_buf = new_elts;
-}
-
-
/* Ushort indices. */
void util_rebuild_ushort_elts_to_userptr(struct pipe_context *context,
pipe_buffer_unmap(context, in_transfer);
}
-void util_rebuild_ushort_elts(struct pipe_context *context,
- struct pipe_index_buffer *ib,
- struct pipe_resource **out_buf,
- int index_bias,
- unsigned start, unsigned count)
-{
- struct pipe_transfer *out_transfer = NULL;
- struct pipe_resource *new_elts;
- unsigned short *out_map;
-
- new_elts = pipe_buffer_create(context->screen,
- PIPE_BIND_INDEX_BUFFER,
- PIPE_USAGE_DEFAULT,
- 2 * count);
-
- out_map = pipe_buffer_map(context, new_elts,
- PIPE_TRANSFER_WRITE, &out_transfer);
- util_rebuild_ushort_elts_to_userptr(context, ib, index_bias,
- start, count, out_map);
- pipe_buffer_unmap(context, out_transfer);
-
- pipe_resource_reference(out_buf, NULL);
- *out_buf = new_elts;
-}
-
-
/* Uint indices. */
void util_rebuild_uint_elts_to_userptr(struct pipe_context *context,
if (in_transfer)
pipe_buffer_unmap(context, in_transfer);
}
-
-void util_rebuild_uint_elts(struct pipe_context *context,
- struct pipe_index_buffer *ib,
- struct pipe_resource **out_buf,
- int index_bias,
- unsigned start, unsigned count)
-{
- struct pipe_transfer *out_transfer = NULL;
- struct pipe_resource *new_elts;
- unsigned int *out_map;
-
- new_elts = pipe_buffer_create(context->screen,
- PIPE_BIND_INDEX_BUFFER,
- PIPE_USAGE_DEFAULT,
- 2 * count);
-
- out_map = pipe_buffer_map(context, new_elts,
- PIPE_TRANSFER_WRITE, &out_transfer);
- util_rebuild_uint_elts_to_userptr(context, ib, index_bias,
- start, count, out_map);
- pipe_buffer_unmap(context, out_transfer);
-
- pipe_resource_reference(out_buf, NULL);
- *out_buf = new_elts;
-}
unsigned count,
void *out);
-void util_shorten_ubyte_elts(struct pipe_context *context,
- struct pipe_index_buffer *ib,
- struct pipe_resource **out_buf,
- int index_bias,
- unsigned start,
- unsigned count);
-
-
-
void util_rebuild_ushort_elts_to_userptr(struct pipe_context *context,
struct pipe_index_buffer *ib,
int index_bias,
unsigned start, unsigned count,
void *out);
-void util_rebuild_ushort_elts(struct pipe_context *context,
- struct pipe_index_buffer *ib,
- struct pipe_resource **out_buf,
- int index_bias,
- unsigned start, unsigned count);
-
-
-
void util_rebuild_uint_elts_to_userptr(struct pipe_context *context,
struct pipe_index_buffer *ib,
int index_bias,
unsigned start, unsigned count,
void *out);
-void util_rebuild_uint_elts(struct pipe_context *context,
- struct pipe_index_buffer *ib,
- struct pipe_resource **out_buf,
- int index_bias,
- unsigned start, unsigned count);
-
#endif