[Mesa-dev] [PATCH] mesa: In core profile, refuse to draw unless a VAO is bound.
Ian Romanick
idr at freedesktop.org
Mon Mar 24 14:47:19 PDT 2014
On 03/20/2014 11:53 AM, Kenneth Graunke wrote:
> Core profile requires a non-default VAO to be bound. Currently, calls
> to glVertexAttribPointer raise INVALID_OPERATION unless a VAO is bound,
> and we never actually get any vertex data set. Trying to draw without
> any vertex data can only cause problems. In i965, it causes a crash.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76400
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Candidate for stable?
> ---
> src/mesa/main/api_validate.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
> index f3fd1a4..923a195 100644
> --- a/src/mesa/main/api_validate.c
> +++ b/src/mesa/main/api_validate.c
> @@ -125,8 +125,11 @@ check_valid_to_render(struct gl_context *ctx, const char *function)
> return GL_FALSE;
> break;
>
> - case API_OPENGL_COMPAT:
> case API_OPENGL_CORE:
> + if (ctx->Array.VAO == ctx->Array.DefaultVAO)
> + return GL_FALSE;
> + /* fallthrough */
> + case API_OPENGL_COMPAT:
> {
> const struct gl_shader_program *vsProg =
> ctx->Shader.CurrentProgram[MESA_SHADER_VERTEX];
>
More information about the mesa-dev
mailing list