CALL_DrawArraysInstancedBaseInstance(ctx->CurrentServerDispatch,
(mode, first, count, instance_count,
baseinstance));
- return cmd->cmd_base.cmd_size;
+ const unsigned cmd_size = align(sizeof(*cmd), 8) / 8;
+ assert(cmd_size == cmd->cmd_base.cmd_size);
+ return cmd_size;
}
static ALWAYS_INLINE void
(mode, count, type, indices,
instance_count, basevertex,
baseinstance));
- return cmd->cmd_base.cmd_size;
+ const unsigned cmd_size = align(sizeof(*cmd), 8) / 8;
+ assert(cmd_size == cmd->cmd_base.cmd_size);
+ return cmd_size;
}
struct marshal_cmd_DrawRangeElementsBaseVertex
CALL_DrawRangeElementsBaseVertex(ctx->CurrentServerDispatch,
(mode, min_index, max_index, count,
type, indices, basevertex));
- return cmd->cmd_base.cmd_size;
+ const unsigned cmd_size = align(sizeof(*cmd), 8) / 8;
+ assert(cmd_size == cmd->cmd_base.cmd_size);
+ return cmd_size;
}
static ALWAYS_INLINE void
{
const GLuint list = cmd->list;
uint64_t *ptr = (uint64_t *) cmd;
- ptr += cmd->cmd_base.cmd_size;
+ const unsigned cmd_size = align(sizeof(*cmd), 8) / 8;
+
+ assert(cmd_size == cmd->cmd_base.cmd_size);
+ ptr += cmd_size;
if (ptr < last) {
const struct marshal_cmd_base *next =
int count = 2;
- ptr += next->cmd_size;
+ assert(cmd_size == next_callist->cmd_base.cmd_size);
+ ptr += cmd_size;
+
while (ptr < last && count < max_list_count) {
next = (const struct marshal_cmd_base *)ptr;
if (next->cmd_id == DISPATCH_CMD_CallList) {
next_callist = (struct marshal_cmd_CallList *) next;
lists[count++] = next_callist->list;
- ptr += next->cmd_size;
+ assert(cmd_size == next_callist->cmd_base.cmd_size);
+ ptr += cmd_size;
} else {
break;
}
}
CALL_CallList(ctx->CurrentServerDispatch, (list));
- return cmd->cmd_base.cmd_size;
+ return cmd_size;
}
void GLAPIENTRY