mesa: enable GL_SELECT and GL_FEEDBACK modes for indirect draws
This enables the correct GL_SELECT/GL_FEEDBACK codepaths for indirect draws. Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26786>
This commit is contained in:
@@ -2247,7 +2247,7 @@ _mesa_DrawTransformFeedbackStreamInstanced(GLenum mode, GLuint name,
|
||||
info.mode = mode;
|
||||
info.instance_count = primcount;
|
||||
|
||||
cso_draw_vbo(st_context(ctx)->cso_context, &info, 0, &indirect, &draw, 1);
|
||||
ctx->Driver.DrawGallium(ctx, &info, 0, &indirect, &draw, 1);
|
||||
|
||||
if (MESA_DEBUG_FLAGS & DEBUG_ALWAYS_FLUSH) {
|
||||
_mesa_flush(ctx);
|
||||
|
||||
@@ -162,7 +162,7 @@ rewrite_partial_stride_indirect(struct st_context *st,
|
||||
if (!new_draws)
|
||||
return;
|
||||
for (unsigned i = 0; i < draw_count; i++)
|
||||
cso_draw_vbo(st->cso_context, &new_draws[i].info, i, NULL, &new_draws[i].draw, 1);
|
||||
st->ctx->Driver.DrawGallium(st->ctx, &new_draws[i].info, i, NULL, &new_draws[i].draw, 1);
|
||||
free(new_draws);
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ st_indirect_draw_vbo(struct gl_context *ctx,
|
||||
|
||||
indirect.draw_count = 1;
|
||||
for (i = 0; i < draw_count; i++) {
|
||||
cso_draw_vbo(st->cso_context, &info, i, &indirect, &draw, 1);
|
||||
ctx->Driver.DrawGallium(ctx, &info, i, &indirect, &draw, 1);
|
||||
indirect.offset += stride;
|
||||
}
|
||||
} else {
|
||||
@@ -264,7 +264,7 @@ st_indirect_draw_vbo(struct gl_context *ctx,
|
||||
indirect_draw_count->buffer;
|
||||
indirect.indirect_draw_count_offset = indirect_draw_count_offset;
|
||||
}
|
||||
cso_draw_vbo(st->cso_context, &info, 0, &indirect, &draw, 1);
|
||||
ctx->Driver.DrawGallium(ctx, &info, 0, &indirect, &draw, 1);
|
||||
}
|
||||
|
||||
if (MESA_DEBUG_FLAGS & DEBUG_ALWAYS_FLUSH)
|
||||
|
||||
Reference in New Issue
Block a user