tnl: Code formatting in t_rebase.c

Many little changes.  Almost everything is indentation or removal of
trailing whitespace.  Some places move a loop variable declaration to
the loop.  Some comments either re-wrapped or converted to single
line.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4512>
This commit is contained in:
Ian Romanick
2020-04-08 11:15:32 -07:00
parent 887ae78718
commit 0d1917da86

View File

@@ -39,7 +39,7 @@
*
* If we just upload the new data, however, the indices will be
* incorrect as we tend to upload each set of vertex data to a new
* region.
* region.
*
* This file provides a helper to adjust the arrays, primitives and
* indices of a draw call so that it can be re-issued with a min_index
@@ -58,32 +58,29 @@
#define REBASE(TYPE) \
static void *rebase_##TYPE( const void *ptr, \
GLuint count, \
TYPE min_index ) \
static void *rebase_##TYPE(const void *ptr, \
unsigned count, \
TYPE min_index) \
{ \
GLuint i; \
const TYPE *in = (TYPE *)ptr; \
TYPE *tmp_indices = malloc(count * sizeof(TYPE)); \
\
\
if (tmp_indices == NULL) { \
_mesa_error_no_memory(__func__); \
return NULL; \
} \
\
for (i = 0; i < count; i++) \
\
for (unsigned i = 0; i < count; i++) \
tmp_indices[i] = in[i] - min_index; \
\
\
return (void *)tmp_indices; \
}
REBASE(GLuint)
REBASE(GLushort)
REBASE(GLubyte)
/* Adjust primitives, indices and vertex definitions so that min_index
* becomes zero. There are lots of reasons for wanting to do this, eg:
*
@@ -92,7 +89,7 @@ REBASE(GLubyte)
* min_index will be transformed.
*
* Hardware tnl:
* - if ib != NULL and min_index != 0, otherwise vertices lower than
* - if ib != NULL and min_index != 0, otherwise vertices lower than
* min_index will be uploaded. Requires adjusting index values.
*
* - if ib == NULL and min_index != 0, just for convenience so this doesn't
@@ -103,16 +100,16 @@ REBASE(GLubyte)
* - can't save time by trying to upload half a vbo - typically it is
* all or nothing.
*/
void t_rebase_prims( struct gl_context *ctx,
const struct tnl_vertex_array *arrays,
const struct _mesa_prim *prim,
GLuint nr_prims,
const struct _mesa_index_buffer *ib,
GLuint min_index,
GLuint max_index,
GLuint num_instances,
GLuint base_instance,
tnl_draw_func draw )
void t_rebase_prims(struct gl_context *ctx,
const struct tnl_vertex_array *arrays,
const struct _mesa_prim *prim,
GLuint nr_prims,
const struct _mesa_index_buffer *ib,
GLuint min_index,
GLuint max_index,
GLuint num_instances,
GLuint base_instance,
tnl_draw_func draw)
{
struct gl_array_attributes tmp_attribs[VERT_ATTRIB_MAX];
struct tnl_vertex_array tmp_arrays[VERT_ATTRIB_MAX];
@@ -127,13 +124,12 @@ void t_rebase_prims( struct gl_context *ctx,
if (0)
printf("%s %d..%d\n", __func__, min_index, max_index);
/* XXX this path is disabled for now.
* There's rendering corruption in some apps when it's enabled.
*/
if (0 && ib && ctx->Extensions.ARB_draw_elements_base_vertex) {
/* If we can just tell the hardware or the TNL to interpret our
* indices with a different base, do so.
/* If we can just tell the hardware or the TNL to interpret our indices
* with a different base, do so.
*/
tmp_prims = malloc(sizeof(*prim) * nr_prims);
@@ -143,8 +139,8 @@ void t_rebase_prims( struct gl_context *ctx,
}
for (i = 0; i < nr_prims; i++) {
tmp_prims[i] = prim[i];
tmp_prims[i].basevertex -= min_index;
tmp_prims[i] = prim[i];
tmp_prims[i].basevertex -= min_index;
}
prim = tmp_prims;
@@ -165,28 +161,27 @@ void t_rebase_prims( struct gl_context *ctx,
} else
ptr = ib->ptr;
/* Some users might prefer it if we translated elements to
* GLuints here. Others wouldn't...
/* Some users might prefer it if we translated elements to GLuints here.
* Others wouldn't...
*/
switch (ib->index_size_shift) {
case 2:
tmp_indices = rebase_GLuint( ptr, ib->count, min_index );
break;
tmp_indices = rebase_GLuint( ptr, ib->count, min_index );
break;
case 1:
tmp_indices = rebase_GLushort( ptr, ib->count, min_index );
break;
tmp_indices = rebase_GLushort( ptr, ib->count, min_index );
break;
case 0:
tmp_indices = rebase_GLubyte( ptr, ib->count, min_index );
break;
}
if (map_ib)
ctx->Driver.UnmapBuffer(ctx, ib->obj, MAP_INTERNAL);
if (tmp_indices == NULL) {
return;
tmp_indices = rebase_GLubyte( ptr, ib->count, min_index );
break;
}
if (map_ib)
ctx->Driver.UnmapBuffer(ctx, ib->obj, MAP_INTERNAL);
if (tmp_indices == NULL)
return;
tmp_ib.obj = NULL;
tmp_ib.ptr = tmp_indices;
tmp_ib.count = ib->count;
@@ -195,8 +190,7 @@ void t_rebase_prims( struct gl_context *ctx,
ib = &tmp_ib;
}
else {
/* Otherwise the primitives need adjustment.
*/
/* Otherwise the primitives need adjustment. */
tmp_prims = malloc(sizeof(*prim) * nr_prims);
if (tmp_prims == NULL) {
@@ -205,12 +199,11 @@ void t_rebase_prims( struct gl_context *ctx,
}
for (i = 0; i < nr_prims; i++) {
/* If this fails, it could indicate an application error:
*/
assert(prim[i].start >= min_index);
/* If this fails, it could indicate an application error: */
assert(prim[i].start >= min_index);
tmp_prims[i] = prim[i];
tmp_prims[i].start -= min_index;
tmp_prims[i] = prim[i];
tmp_prims[i].start -= min_index;
}
prim = tmp_prims;
@@ -236,21 +229,19 @@ void t_rebase_prims( struct gl_context *ctx,
else
tmp_attribs[i].Ptr += min_index * arrays[i].BufferBinding->Stride;
}
/* Re-issue the draw call.
*/
draw( ctx,
tmp_arrays,
prim,
nr_prims,
ib,
GL_TRUE,
0,
max_index - min_index,
num_instances, base_instance);
/* Re-issue the draw call. */
draw(ctx,
tmp_arrays,
prim,
nr_prims,
ib,
GL_TRUE,
0,
max_index - min_index,
num_instances, base_instance);
free(tmp_indices);
free(tmp_prims);
}