Commit e69e5977 authored by Marek Olšák's avatar Marek Olšák
Browse files

mesa: split _mesa_primitive_restart_index into a function without gl_context


Reviewed-by: Pierre-Eric Pelloux-Prayer's avatarPierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <mesa/mesa!4466>
parent e6bc1702
......@@ -321,10 +321,10 @@ extern void GLAPIENTRY
_mesa_VertexArrayVertexAttribDivisorEXT(GLuint vaobj, GLuint index, GLuint divisor);
static inline unsigned
_mesa_primitive_restart_index(const struct gl_context *ctx,
unsigned index_size)
_mesa_get_prim_restart_index(bool fixed_index, unsigned restart_index,
unsigned index_size)
{
/* The index_size parameter is menat to be in bytes. */
/* The index_size parameter is meant to be in bytes. */
assert(index_size == 1 || index_size == 2 || index_size == 4);
/* From the OpenGL 4.3 core specification, page 302:
......@@ -332,12 +332,20 @@ _mesa_primitive_restart_index(const struct gl_context *ctx,
* enabled, the index value determined by PRIMITIVE_RESTART_FIXED_INDEX
* is used."
*/
if (ctx->Array.PrimitiveRestartFixedIndex) {
if (fixed_index) {
/* 1 -> 0xff, 2 -> 0xffff, 4 -> 0xffffffff */
return 0xffffffffu >> 8 * (4 - index_size);
}
return ctx->Array.RestartIndex;
return restart_index;
}
static inline unsigned
_mesa_primitive_restart_index(const struct gl_context *ctx,
unsigned index_size)
{
return _mesa_get_prim_restart_index(ctx->Array.PrimitiveRestartFixedIndex,
ctx->Array.RestartIndex, index_size);
}
extern void GLAPIENTRY
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment