diff options
author | marha <marha@users.sourceforge.net> | 2013-09-18 08:03:04 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-09-18 08:03:04 +0200 |
commit | 7f669a708bd35bdf8e842f762ec68f9ad0ec0486 (patch) | |
tree | 332fc6d6e6f70503d717249e4e387bf3eea29637 /mesalib/src/mesa/main/shaderapi.c | |
parent | a7d3f63ee5e292379ed6d6eba0c65512205a4786 (diff) | |
download | vcxsrv-7f669a708bd35bdf8e842f762ec68f9ad0ec0486.tar.gz vcxsrv-7f669a708bd35bdf8e842f762ec68f9ad0ec0486.tar.bz2 vcxsrv-7f669a708bd35bdf8e842f762ec68f9ad0ec0486.zip |
libX11 mesa pixman xserver git update 18 Sep 2013
xserver commit 8010d3a48bd0b224dcb0883e39c2351ad364d846
libX11 commit 5dcb40f28d59587597d2ff6e6ac64c71cfe6ff7b
pixman commit 58a79dfe6d1fd62c2b66c69fdb64f6b8ecf61da5
mesa commit a3b51a22f71819236baa6bbda9d0d050914b149d
Diffstat (limited to 'mesalib/src/mesa/main/shaderapi.c')
-rw-r--r-- | mesalib/src/mesa/main/shaderapi.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/mesalib/src/mesa/main/shaderapi.c b/mesalib/src/mesa/main/shaderapi.c index 4fe9d9ca2..4c0484aaf 100644 --- a/mesalib/src/mesa/main/shaderapi.c +++ b/mesalib/src/mesa/main/shaderapi.c @@ -42,6 +42,7 @@ #include "main/dispatch.h" #include "main/enums.h" #include "main/hash.h" +#include "main/hash_table.h" #include "main/mtypes.h" #include "main/shaderapi.h" #include "main/shaderobj.h" @@ -812,19 +813,19 @@ static void link_program(struct gl_context *ctx, GLuint program) { struct gl_shader_program *shProg; - struct gl_transform_feedback_object *obj = - ctx->TransformFeedback.CurrentObject; shProg = _mesa_lookup_shader_program_err(ctx, program, "glLinkProgram"); if (!shProg) return; - if (obj->Active - && (shProg == ctx->Shader.CurrentVertexProgram - || shProg == ctx->Shader.CurrentGeometryProgram - || shProg == ctx->Shader.CurrentFragmentProgram)) { + /* From the ARB_transform_feedback2 specification: + * "The error INVALID_OPERATION is generated by LinkProgram if <program> is + * the name of a program being used by one or more transform feedback + * objects, even if the objects are not currently bound or are paused." + */ + if (_mesa_transform_feedback_is_using_program(ctx, shProg)) { _mesa_error(ctx, GL_INVALID_OPERATION, - "glLinkProgram(transform feedback active)"); + "glLinkProgram(transform feedback is using the program)"); return; } @@ -1872,6 +1873,7 @@ _mesa_copy_linked_program_data(gl_shader_type type, dst_gp->InputType = src->Geom.InputType; dst_gp->OutputType = src->Geom.OutputType; dst_gp->UsesClipDistance = src->Geom.UsesClipDistance; + dst_gp->UsesEndPrimitive = src->Geom.UsesEndPrimitive; } break; default: |