mesa/src
Roland Scheidegger f4184d5450 llvmpipe: hack-fix bugs due to bogus bind flags
The gallium contract would be that bind flags must indicate all possible
bindings a resource might get used, but fact is the mesa state tracker does
not set bind flags correctly, and this is more or less unfixable due to GL.

This caused a bug with piglit arb_uniform_buffer_object-rendering-dsa
since 6e6fd911da - the commit is correct,
but it caused us to miss updates to fs UBOs completely, since the
corresponding buffer didn't have the appropriate bind flag set (thus we
wouldn't check if it is indeed currently bound).
See the discussion about this starting here:
https://lists.freedesktop.org/archives/mesa-dev/2016-June/119829.html

So, update the bind flags when we detect such usage.
Note we update this value for now only in places which matter for us - that
is creating sampler/surface view, or binding constant buffer. There's plenty
more places (setting streamout buffers, vertex/index buffers, ...) where
things can be set with the wrong bind flags, but the bind flags there never
matter.

While here also make sure we only set dirty constant bit when it's a fs
constant buffer - totally doesn't matter if it's vs/gs.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2016-06-14 17:03:34 +02:00
..
compiler glsl/builtin_variables: Populate MaxCombinedShaderStorageBlocks on GLSL 4.40 2016-06-14 10:21:26 +02:00
egl Android: move libdrm settings to top-level Android.common.mk 2016-06-13 15:31:29 +01:00
gallium llvmpipe: hack-fix bugs due to bogus bind flags 2016-06-14 17:03:34 +02:00
gbm Android: move libdrm settings to top-level Android.common.mk 2016-06-13 15:31:29 +01:00
getopt
glx glx: fix crash with bad fbconfig 2016-06-09 17:55:44 +03:00
gtest
hgl
intel isl: Replace bash generator with python generator 2016-06-13 22:40:52 -07:00
loader Android: move libdrm settings to top-level Android.common.mk 2016-06-13 15:31:29 +01:00
mapi glapi: remap_helper.py: remove MESA_alt_functions 2016-06-13 15:31:28 +01:00
mesa i965: Check return value of screen->image.loader->getBuffers (v2) 2016-06-14 15:32:04 +01:00
util mesa/gallium: Move u_bit_scan{,64} from gallium to util. 2016-06-14 05:19:10 +02:00
Makefile.am automake: get in-tree `make distclean' working again. 2016-06-13 15:24:44 +01:00
SConscript glsl: move to compiler/ 2016-01-26 16:08:33 +00:00