mesa/src
Nicolai Hähnle 77cba992c3 glsl: allow any l-value of an input variable as interpolant in interpolateAt*
The intended rule has been clarified in GLSL 4.60, Section 8.13.2
(Interpolation Functions):

   "For all of the interpolation functions, interpolant must be an l-value
    from an in declaration; this can include a variable, a block or
    structure member, an array element, or some combination of these.
    Component selection operators (e.g., .xy) may be used when specifying
    interpolant."

For members of interface blocks, var->data.must_be_shader_input must be
determined on-the-fly after lowering interface blocks, since we don't want
to disable varying packing for an entire block just because one input in it
is used in interpolateAt*.

v2: keep setting must_be_shader_input in ast_function (Ian)
v3: follow the relaxed rule of GLSL 4.60
v4: only apply the relaxed rules to desktop GL
    (the ES WG decided that the relaxed rules may apply in a future version
     but not retroactively; see also
     dEQP-GLES31.functional.shaders.multisample_interpolation.interpolate_at_centroid.negative.*)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101378
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (v1)
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
(cherry picked from commit 4f42450b86)
2017-11-29 19:42:24 +00:00
..
amd radv: Free temporary syncobj after waiting on it. 2017-11-17 19:24:29 +00:00
broadcom broadcom/vc5: Remove unused v3d_compiler.c 2017-11-13 17:17:16 +00:00
compiler glsl: allow any l-value of an input variable as interpolant in interpolateAt* 2017-11-29 19:42:24 +00:00
egl egl/wayland: Add a fallback when fourcc query isn't supported 2017-11-17 19:24:29 +00:00
gallium radeonsi: fix layered DCC fast clear 2017-11-29 19:35:16 +00:00
gbm meson: build libEGL 2017-10-20 16:46:48 -07:00
getopt
glx glx/dri3: Fix passing renderType into glXCreateContext 2017-11-17 19:24:29 +00:00
gtest meson: convert gtest to an internal dependency 2017-10-03 10:02:08 -07:00
hgl
intel i965/fs: Handle negating immediates on MADs when propagating saturates 2017-11-24 18:48:33 +00:00
loader loader/dri3: Improve dri3 thread-safety 2017-11-17 19:24:29 +00:00
mapi gl_table.py: add extern C guard for the generated glapitable.h 2017-11-27 19:26:16 +00:00
mesa i965: Fix Smooth Point Enables. 2017-11-29 19:37:02 +00:00
util util: Fix disk_cache index calculation on big endian 2017-11-27 18:33:40 +00:00
vulkan meson: move wayland_drm_protocol generation to wayland-drm 2017-10-20 16:46:48 -07:00
git_sha1.h.in meson: Build i965 and dri stack 2017-10-09 13:42:44 -07:00
Makefile.am automake: include git_sha1.h.in in release tarball 2017-11-13 17:17:15 +00:00
meson.build meson: build libEGL 2017-10-20 16:46:48 -07:00
SConscript scons: use python3-compatible print() 2017-09-25 11:57:12 +01:00