From 5d19b503af41b8ad3d0ca9e2a279dca7106403be Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 10 Feb 2017 01:12:22 +0100 Subject: [PATCH] st/mesa: tell u_vbuf that GL core doesn't have user VBOs MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit I think this only affects radeonsi - VI, because all other drivers using u_vbuf probably don't support GL_DOUBLE, so they won't be affected by this. Reviewed-by: Nicolai Hähnle --- src/mesa/state_tracker/st_context.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 4b9d913f639..f4ad6d8ad16 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -76,6 +76,7 @@ #include "pipe/p_context.h" #include "util/u_inlines.h" #include "util/u_upload_mgr.h" +#include "util/u_vbuf.h" #include "cso_cache/cso_context.h" @@ -342,7 +343,13 @@ st_create_context_priv( struct gl_context *ctx, struct pipe_context *pipe, st->has_user_constbuf = screen->get_param(screen, PIPE_CAP_USER_CONSTANT_BUFFERS); - st->cso_context = cso_create_context(pipe, 0); + /* Drivers still have to upload zero-stride vertex attribs manually + * with the GL core profile, but they don't have to deal with any complex + * user vertex buffer uploads. + */ + unsigned vbuf_flags = + ctx->API == API_OPENGL_CORE ? U_VBUF_FLAG_NO_USER_VBOS : 0; + st->cso_context = cso_create_context(pipe, vbuf_flags); st_init_atoms( st ); st_init_clear(st); -- 2.30.2