mesa/src
Timothy Arceri 11fc7ad62e mesa: remove link validation that should be done elsewhere
Even if re-linking fails rendering shouldn't fail as the previous
succesfully linked program will still be available. It also shouldn't
be possible to have an unlinked program as part of the current rendering
state.

This fixes a subtest in:
ES31-CTS.sepshaderobjs.StateInteraction

This change should improve performance on CPU limited benchmarks as noted
in commit d6c6b186cf.

>From Section 7.3 (Program Objects) of the OpenGL 4.5 spec:

   "If a program object that is active for any shader stage is re-linked
    unsuccessfully, the link status will be set to FALSE, but any existing
    executables and associated state will remain part of the current rendering
    state until a subsequent call to UseProgram, UseProgramStages, or
    BindProgramPipeline removes them from use. If such a program is attached to
    any program pipeline object, the existing executables and associated state
    will remain part of the program pipeline object until a subsequent call to
    UseProgramStages removes them from use. An unsuccessfully linked program may
    not be made part of the current rendering state by UseProgram or added to
    program pipeline objects by UseProgramStages until it is successfully
    re-linked."

   "void UseProgram(uint program);

   ...

   An INVALID_OPERATION error is generated if program has not been linked, or
   was last linked unsuccessfully.  The current rendering state is not modified."

V2: apply the rule to both core and compat.

Cc: Tapani Pälli <tapani.palli@intel.com>
Cc: Brian Paul <brianp@vmware.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2016-01-20 09:35:04 +11:00
..
egl egl: don't forget to ship platform_x11_dri3.h into the tarball 2015-11-20 18:08:04 +00:00
gallium st/va: fix motion adaptive deinterlacing 2016-01-19 17:28:38 +01:00
gbm gbm.h: Add a missing stddef.h include for size_t. 2015-10-30 19:12:14 +00:00
getopt
glsl glsl: allow multiple layout qualifiers for a single declaration 2016-01-20 08:06:50 +11:00
glx glx/dri3: a drawable might not be bound at wait time 2015-12-21 06:43:58 -05:00
gtest mesa: Enable subdir-objects globally. 2015-06-26 12:55:25 +01:00
hgl glapi/hgl: Drop extern "C" as it was added to glapi 2015-05-13 15:26:29 -04:00
loader loader: unconditionally add AM_CPPFLAGS to libloader_la_CPPFLAGS 2015-11-23 12:07:50 +00:00
mapi mapi: include gl.xml in the tarball 2016-01-18 13:37:58 +02:00
mesa mesa: remove link validation that should be done elsewhere 2016-01-20 09:35:04 +11:00
util ralloc: Fix ralloc_adopt() to the old context's last child's parent. 2015-12-18 23:30:51 -08:00
Makefile.am glsl: move shader_enums into nir 2015-10-09 15:03:28 -04:00
SConscript scons: rework the EGL build 2015-07-22 16:35:27 +01:00