In the presence of FBOs, the visual of the context may not match the,
possibly fake, visual of the current ReadBuffer. Note that the caller
of adjust_colors correctly uses the visual of the ReadBuffer.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
The whole structure is 836 bytes, but if only the first one or two
samplers are used (as is common), the part that matters is only 56 or
108 bytes. By using just that subset as the key (since the key size
is also part of the key), we improve firefox-talos-gfx performance by
1%.
This saves 6.6KB on the 965 driver, and appears to speed
firefox-talos-gfx up by 1-2%. Unlike many other asserts in the
driver, when we make a mistake that would trigger one of these it
generally shows up all the time for developers, so turning it off for
release seems fine.
Fixes fdo bug 26128.
The spec mandates that VOLATILE is returned from
ObjectPurgeable(VOLATILE) irrespective of the actual status of the
object upon completion of marking it purgeable.
Conform to the spec, even though it seems wrong.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
A few of my programs were using the client string in addition to the
main extensions string to see if a feature was present. Correct this to
only check for the currently available and working extensions.
get_param can be used to query the parameters of a native display.
There is only NATIVE_PARAM_USE_NATIVE_BUFFER right now. It queries
whether the window/pixmap surfaces use the native buffers instead of
private buffers.
There is only invalid_surface event right now. When EGL receives the
event, it sets the force_validate flag of the context binding to the
surface. This helps skip an unnecessary check.
This reverts commit a05fdbcb71.
Removing the comparison is wrong. The comparison with -1 should be changed
to another value (probably PROGRAM_UNDEFINED) along with another
change in the shader assembler.
Conflicts:
src/mesa/shader/prog_execute.c
Shaves 60k off the driver from removing the broken spans code. This
means we now require 2.6.29, which seems fair given that it's a year
old and we've removed support for non-KMS already in the last release
of 2D.
The progs/test/texwrap demo looks pretty good, but there are still some
tiny differences from softpipe. There may be a sub-pixel texcoord
interpolation error somewhere.
There's some room for optimization. Many of the wrap modes compute
intermediate values that are constant for the texture size (see the
min/max values). These could be computed earlier and stored somewhere
for later use.