Brian Paul [Wed, 10 Mar 2010 17:41:22 +0000 (10:41 -0700)]
st/mesa: fix incorrect glDrawPixels into FBO
We weren't inverting the textured quad when drawing into an fbo.
(cherry picked from commit
8d3f629a13afb0d6acafc7a007972fdc5efe6847)
Michel Dänzer [Wed, 10 Mar 2010 17:26:25 +0000 (18:26 +0100)]
st/xorg: Work around cursor reference counting bugs in older X servers.
Could result in use of freed memory and consequently random crashes, e.g. on
screen resize.
(cherry picked from commit
21c91b410a2a2cbf8eb677e59e3322f86320f2b0)
Conflicts:
src/gallium/state_trackers/xorg/xorg_tracker.h
Alex Deucher [Mon, 8 Mar 2010 22:38:39 +0000 (17:38 -0500)]
radeon: don't attempt to use alternate blit formats for depth buffers
noticed by fredrikh on IRC.
Brian Paul [Mon, 8 Mar 2010 18:34:55 +0000 (11:34 -0700)]
softpipe: zero-out entire clear_flags array in sp_tile_cache_flush_clear()
Before, we only cleared the flags for the active tiles (the ones inside
the framebuffer bound). The problem is if we later bound a different,
larger surface to the tile cache we'd have some stale clear-flags still
set (and mistakenly clear some tiles in the new surface).
Fixes fd.o bug 26932.
Brian Paul [Mon, 8 Mar 2010 18:31:23 +0000 (11:31 -0700)]
st/mesa: don't detach renderbuffer, surface in st_finish_render_texture()
There's no reason to release the renderbuffer from the framebuffer object
or release the gallium surface in this function (they're reference counted).
In fact, we don't want to do this because we may later use the texture as a
pixel source (ex: glBlitFramebuffer) and need the surface.
Fixes fd.o bug 26923 and is part of the fix for bug 26932.
Alex Deucher [Mon, 8 Mar 2010 16:59:02 +0000 (11:59 -0500)]
r600: enable GL_ARB_pixel_buffer_object
Brian Paul [Mon, 8 Mar 2010 16:58:54 +0000 (09:58 -0700)]
mesa: add additional missing z formats for render to texture
Allow render to texture for X8_Z24 and Z24_X8 formats.
Replace big if/else with switch, etc.
Alex Deucher [Mon, 8 Mar 2010 15:13:49 +0000 (10:13 -0500)]
radeon/r200/r600: allow src and dst BOs to be placed in GTT during blit
Alex Deucher [Mon, 8 Mar 2010 15:04:02 +0000 (10:04 -0500)]
radeon/r200/r600: reset bos when validating buffers during blit
Alex Deucher [Mon, 8 Mar 2010 15:00:59 +0000 (10:00 -0500)]
r600: recalculate point size, if point min/max size changes
Alex Deucher [Mon, 8 Mar 2010 14:57:26 +0000 (09:57 -0500)]
r600: no need to flush on context init
Maciej Cencora [Sat, 13 Feb 2010 23:02:05 +0000 (00:02 +0100)]
r300: don't enable EXT_packed_depth_stencil
R300 hw doesn't support sampling from Z24_S8 or S8_Z24 formats.
Maciej Cencora [Sat, 16 Jan 2010 14:11:37 +0000 (15:11 +0100)]
radeon: no need to emit full state twice after flush
Maciej Cencora [Thu, 4 Mar 2010 17:35:55 +0000 (18:35 +0100)]
r300: allow src and dst BOs to be placed in GTT during blit
Fixes some relocation failures
Maciej Cencora [Sat, 6 Feb 2010 17:25:36 +0000 (18:25 +0100)]
r300: reset bos when validating buffers during blit
Maciej Cencora [Sat, 6 Feb 2010 18:37:23 +0000 (19:37 +0100)]
radeon: fallback to software in glCopyTexImage if blit isn't available
Maciej Cencora [Sun, 7 Mar 2010 11:02:28 +0000 (12:02 +0100)]
r300: VAP flush is needed only when vertex program or constants are changed
Maciej Cencora [Sat, 6 Mar 2010 12:39:13 +0000 (13:39 +0100)]
r300: recalculate point size, if point min/max size changes
Fixes two wine d3d9 unit tests
Maciej Cencora [Sat, 6 Mar 2010 12:18:11 +0000 (13:18 +0100)]
r300: no need to flush on context init
Maciej Cencora [Sat, 6 Mar 2010 12:09:47 +0000 (13:09 +0100)]
r300: remove unnecessary code
_tnl_UpdateFixedFunctionProgram is already called in r300_draw.c
Brian Paul [Mon, 8 Mar 2010 16:38:07 +0000 (09:38 -0700)]
mesa: add render-to-texture case for MESA_FORMAT_S8_Z24
Brian Paul [Mon, 8 Mar 2010 16:34:46 +0000 (09:34 -0700)]
mesa: s/GL_DEPTH_STENCIL/GL_DEPTH_COMPONENT/ for MESA_FORMAT_Z16 renderbuffer
MESA_FORMAT_Z16 has no stencil bits.
Chia-I Wu [Wed, 3 Mar 2010 15:51:13 +0000 (23:51 +0800)]
st/vega: Fix OpenVG demo segfaults.
When the paint is color, paint_bind_samplers binds a dummy sampler
without a texture. It causes demos requiring a sampler (those use a
mask or an image) to crash.
Vinson Lee [Sun, 7 Mar 2010 04:30:28 +0000 (20:30 -0800)]
gallivm: Initialize variables for default cases.
Fixes use of uninitialized variables in non-debug builds.
Vinson Lee [Sat, 6 Mar 2010 07:18:01 +0000 (23:18 -0800)]
progs/demos: Add arbocclude2 to Makefile and .gitignore.
Brian Paul [Sat, 6 Mar 2010 00:32:36 +0000 (17:32 -0700)]
glx: Move initialization of ext_list_first_time to where it's storage is allocated
Move the initialization of ext_list_first_time from all of the DRI loader's
CreateScreen routines, to where the storage for the screen config is
allocated.
It needs to get set in the screen-config even if DRI is forced off
using LIBGL_ALWAYS_INDIRECT, so that psc->direct_support is initialized
correctly, otherwise __glXExtensionBitIsEnabled() always returns FALSE
Specifically, this causes a problem with an X server which advertises
GLX<=1.2, and the GLX_SGIX_fbconfig extension.
glXGetFBConfigFromVisualSGIX() uses __glXExtensionBitIsEnabled() to
check if the GLX_SGIX_fbconfig extension is available, but that function
won't return correct information because that data has never been
initialized, because ext_list_first_time was never set...
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Signed-off-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit
96ab4d2b84178209ee59017458d9964b32b7e183)
Brian Paul [Sat, 6 Mar 2010 00:32:07 +0000 (17:32 -0700)]
docs: remove merge conflict garbage
Ian Romanick [Thu, 4 Mar 2010 01:20:27 +0000 (17:20 -0800)]
meta: Use the DrawBuffer's stencil size
Previously the code was erroneously using the stencil size of the
context instead of the stencil size of the DrawBuffer. With FBOs
these may be different. As a result, clearing the stencil buffer of
an FBO bound to a context that doesn't have stencil would fail.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Thu, 4 Mar 2010 01:17:56 +0000 (17:17 -0800)]
swrast: Remove redundant test of the visual's accumulation buffer size
If the visual doesn't have an accumulation buffer, the renderbuffer
passed into _swrast_clear_accum_buffer will be NULL anyway. There is
no reason the check the visual. Moreover, the test erroneously checks
the context's visual instead of the visual of the current DrawBuffer.
With FBOs these may be different.
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Ian Romanick [Thu, 4 Mar 2010 01:16:11 +0000 (17:16 -0800)]
swrast: Adjust colors based on ReadBuffer visual, not context visual
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>
Ian Romanick [Thu, 4 Mar 2010 01:14:55 +0000 (17:14 -0800)]
swrast: Remove stray comment that mentions ctx->Visual
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Brian Paul [Fri, 5 Mar 2010 23:52:11 +0000 (16:52 -0700)]
gallivm: checkpoint: code gen for mipmap selection
Brian Paul [Fri, 5 Mar 2010 23:51:35 +0000 (16:51 -0700)]
llvmpipe: added code to set texture depth, max mipmap levels info
Brian Paul [Fri, 5 Mar 2010 23:50:48 +0000 (16:50 -0700)]
gallivm: added methods for getting texture depth, num mipmap levels
Brian Paul [Fri, 5 Mar 2010 23:07:54 +0000 (16:07 -0700)]
gallivm: checkpoint: texture LOD computation code gen
Brian Paul [Fri, 5 Mar 2010 23:07:26 +0000 (16:07 -0700)]
gallivm: added field for sampler lod
Eric Anholt [Fri, 5 Mar 2010 22:13:24 +0000 (14:13 -0800)]
i965: Only use the effective subset of the WM sampler key.
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%.
Eric Anholt [Fri, 5 Mar 2010 21:48:41 +0000 (13:48 -0800)]
intel: Remove support for the DRI1 TFP extension.
Eric Anholt [Fri, 5 Mar 2010 21:38:02 +0000 (13:38 -0800)]
i965: Remove the paths for making a const surface object for a NULL BO.
Eric Anholt [Fri, 5 Mar 2010 21:24:24 +0000 (13:24 -0800)]
i965: Remove the unused SDC BO pointer from the sampler state key.
Since it's a BO pointer, it already lives outside the key in
brw->wm.sdc_bo[] which is used for sampler state lookup and setup.
Eric Anholt [Fri, 5 Mar 2010 21:19:09 +0000 (13:19 -0800)]
i965: Rename SNB brw_*_key structs to gen6_*_key structs.
Eric Anholt [Fri, 5 Mar 2010 21:18:13 +0000 (13:18 -0800)]
i965: Pack gen6 blend_state_key structure.
Eric Anholt [Fri, 5 Mar 2010 20:56:40 +0000 (12:56 -0800)]
intel: Only do batchbuffer debug if --enable-debug is used.
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.
Eric Anholt [Fri, 5 Mar 2010 20:47:21 +0000 (12:47 -0800)]
intel: Replace batch macro contents with function calls.
This manages to cut down another 3800 bytes.
Eric Anholt [Fri, 5 Mar 2010 20:40:45 +0000 (12:40 -0800)]
intel: Move the assertions about reloc delta from the macros to the function.
Cuts another 1800 bytes from the driver.
Eric Anholt [Fri, 5 Mar 2010 20:27:46 +0000 (12:27 -0800)]
intel: Check that the batch is mapped per BEGIN, not each OUT.
Shaves 800 bytes off the driver.
Eric Anholt [Fri, 5 Mar 2010 20:27:25 +0000 (12:27 -0800)]
i965: Try to assign SNB SF inputs to outputs.
Eric Anholt [Fri, 5 Mar 2010 02:26:33 +0000 (18:26 -0800)]
i965: Fix the SNB SF input size.
Chris Wilson [Fri, 5 Mar 2010 23:10:45 +0000 (23:10 +0000)]
Always return VOLATILE for ObjectPurgeable(VOLATILE)
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>
Brian Paul [Fri, 5 Mar 2010 21:24:02 +0000 (14:24 -0700)]
llvmpipe: add pipe_thread_wait() calls
Wait for threads to exit before cleaning up per-thread data.
Fixes hang on context destruction with glean makeCurrent test.
See fd.o bug 26536.
Brian Paul [Fri, 5 Mar 2010 20:30:24 +0000 (13:30 -0700)]
gallium/docs: document additional wrap mode restrictions
Brian Paul [Fri, 5 Mar 2010 20:27:51 +0000 (13:27 -0700)]
gallivm: minor arithmetic improvements
Brian Paul [Fri, 5 Mar 2010 20:21:56 +0000 (13:21 -0700)]
gallivm: implement non-normalized texture wrap modes
Note that only the PIPE_TEX_WRAP_CLAMP,CLAMP_TO_EDGE,CLAMP_TO_BORDER
modes work with non-normalized texcoords.
Brian Paul [Fri, 5 Mar 2010 19:38:05 +0000 (12:38 -0700)]
softpipe: implement PIPE_TEX_WRAP_CLAMP_TO_EDGE for unorm texture sampling
CLAMP_TO_BORDER and CLAMP_TO_EDGE were doing the same thing.
Brian Paul [Fri, 5 Mar 2010 19:32:32 +0000 (12:32 -0700)]
mesa: minor reformatting, new comments
Jesse Barnes [Fri, 5 Mar 2010 19:21:12 +0000 (11:21 -0800)]
progs/xdemos: fix up GLX extension checking
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.
Jesse Barnes [Fri, 5 Mar 2010 19:17:19 +0000 (11:17 -0800)]
DRI2: expose OML_sync_control if possible
If the server supports the OML related protocol, enable support for the
extension.
Jesse Barnes [Fri, 5 Mar 2010 18:31:39 +0000 (10:31 -0800)]
GLX: remove debug prints from glXWaitForMscOML dispatch
Leftover from earlier commit.
Jesse Barnes [Fri, 5 Mar 2010 18:28:41 +0000 (10:28 -0800)]
xdemos/omlsync: add waitformsc and swap interval code
Michal Krol [Fri, 5 Mar 2010 17:42:42 +0000 (18:42 +0100)]
progs: Add arbocclude2 demo.
Brian Paul [Fri, 5 Mar 2010 16:53:37 +0000 (09:53 -0700)]
gallium/docs: updated/improve sampler state documentation
Brian Paul [Fri, 5 Mar 2010 16:24:15 +0000 (09:24 -0700)]
docs: document GL_APPLE_object_purgeable
Brian Paul [Fri, 5 Mar 2010 16:23:43 +0000 (09:23 -0700)]
mesa: whitespace fixes, 80-column wrapping, etc.
Chris Wilson [Fri, 5 Mar 2010 15:03:51 +0000 (15:03 +0000)]
Merge branch 'object-purgeable'
Acked-by: Brian Paul <brianp@vmware.com>
Chris Wilson [Wed, 13 Jan 2010 18:35:25 +0000 (18:35 +0000)]
APPLE_object_purgeable: intel
Implement support for purgeable objects by using the GEM madvise ioctl.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chris Wilson [Fri, 13 Nov 2009 12:19:35 +0000 (12:19 +0000)]
APPLE_object_purgeable: core
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Chia-I Wu [Thu, 25 Feb 2010 08:37:04 +0000 (16:37 +0800)]
mesa/es: Update GLAPI and APISpec for GL_OES_EGL_image.
This generates the entrypoints and dispatches for GL_OES_EGL_image.
There is no real support yet.
Chia-I Wu [Fri, 5 Mar 2010 03:18:16 +0000 (11:18 +0800)]
st/egl: Add support for EGL_KHR_image_base and EGL_KHR_image_pixmap.
These extensions are not quite useful until the client APIs gain support
for the respective EGLImage extensions.
Chia-I Wu [Fri, 5 Mar 2010 03:00:15 +0000 (11:00 +0800)]
st/egl: Add get_param to native display interface.
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.
Chia-I Wu [Fri, 5 Mar 2010 02:40:15 +0000 (10:40 +0800)]
st/egl: Move modeset interface to native_modeset.h.
native.h is getting more and more complex. Move the independent modeset
interface to native_modeset.h to simplify native.h a little.
Chia-I Wu [Sun, 21 Feb 2010 02:58:22 +0000 (10:58 +0800)]
st/egl: Add event support to the native display interface.
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.
Vinson Lee [Fri, 5 Mar 2010 01:40:36 +0000 (17:40 -0800)]
Revert "mesa: Remove pointless comparison of unsigned integer with a negative constant."
This reverts commit
a05fdbcb719ac64e6be842372813f0f4ca2f4f93.
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
Eric Anholt [Thu, 4 Mar 2010 23:47:19 +0000 (15:47 -0800)]
intel: Remove non-kernel-exec-fencing support.
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.
Eric Anholt [Thu, 4 Mar 2010 23:33:21 +0000 (15:33 -0800)]
intel: Remove the unused s8 spans code. Not hit during no_rast piglit.
Shaves 5.5k off of the driver.
Michel Dänzer [Thu, 4 Mar 2010 23:15:40 +0000 (00:15 +0100)]
Fix comparison of unsigned value against < 0.
Brian Paul [Thu, 4 Mar 2010 22:53:41 +0000 (15:53 -0700)]
softpipe: minor tweaks to texture filtering code
Brian Paul [Thu, 4 Mar 2010 22:50:19 +0000 (15:50 -0700)]
gallivm: implement texture border color, plus tweaks to some wrap modes
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.
Brian Paul [Thu, 4 Mar 2010 22:52:01 +0000 (15:52 -0700)]
gallivm: added texture border_color field
Brian Paul [Thu, 4 Mar 2010 22:52:19 +0000 (15:52 -0700)]
gallivm: added question/comment
Brian Paul [Thu, 4 Mar 2010 22:52:37 +0000 (15:52 -0700)]
llvmpipe: new comment
Brian Paul [Thu, 4 Mar 2010 22:49:39 +0000 (15:49 -0700)]
gallivm: comments
Francisco Jerez [Thu, 4 Mar 2010 22:19:49 +0000 (23:19 +0100)]
dri/nouveau: Remove some CI remnants.
Andrew Randrianasulu [Thu, 4 Mar 2010 22:15:47 +0000 (23:15 +0100)]
dri/nouveau: Trivially add GL_ARB_texture_mirrored_repeat.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Andrew Randrianasulu [Mon, 1 Mar 2010 23:45:50 +0000 (23:45 +0000)]
dri/nouveau: Enable GL_EXT_stencil_wrap.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Andrew Randrianasulu [Mon, 1 Mar 2010 23:58:17 +0000 (23:58 +0000)]
dri/nouveau: Add GL_EXT_stencil_wrap for nv04.
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Francisco Jerez [Thu, 4 Mar 2010 20:40:47 +0000 (21:40 +0100)]
dri/nouveau: Fix rb->DataType for z24s8 renderbuffers.
Francisco Jerez [Thu, 4 Mar 2010 20:32:07 +0000 (21:32 +0100)]
dri/nouveau: Try to keep client buffers smaller than the scratch VBO length.
Francisco Jerez [Thu, 4 Mar 2010 20:27:11 +0000 (21:27 +0100)]
dri/nouveau: Pack client arrays as they're copied to the real BO.
Jesse Barnes [Thu, 4 Mar 2010 21:14:59 +0000 (13:14 -0800)]
xdemos: add OML sync test
Add program to test glXSwapBuffersMscOML behavior. Based on glsync.c.
Corbin Simpson [Thu, 4 Mar 2010 20:46:20 +0000 (12:46 -0800)]
r300g: Fix indexbuf upper limits.
Wine tends to pessimistically use ~0 for its max index, but r300s
only can go up to 2^24-1, causing the kernel checker to freak out.
Civ4 is marginally improved now. Still crashes, but not as bad.
Chris Wilson [Thu, 12 Nov 2009 10:15:49 +0000 (10:15 +0000)]
APPLE_object_purgeable: autogenerated files
Chris Wilson [Thu, 12 Nov 2009 10:12:56 +0000 (10:12 +0000)]
APPLE_object_purgeable: xml
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Brian Paul [Thu, 4 Mar 2010 17:51:31 +0000 (10:51 -0700)]
gallivm: rework and implement more texture wrap modes
All the texture wrap modes are now implemented for linear and nearest
sampling.
However, texture border color is not yet supported so some wrap modes
will produce int coords outside the texture bounds. We'll get garbage
values insted of the texture border color for now.
Brian Paul [Thu, 4 Mar 2010 17:50:26 +0000 (10:50 -0700)]
gallivm: added lp_build_fract()
Brian Paul [Thu, 4 Mar 2010 16:45:34 +0000 (09:45 -0700)]
gallivm: added lp_build_set_sign()
Brian Paul [Thu, 4 Mar 2010 15:36:26 +0000 (08:36 -0700)]
gallivm: added lp_build_negate()
Brian Paul [Sat, 27 Feb 2010 00:44:10 +0000 (17:44 -0700)]
gallivm: clarify unsigned vs. signed integer type construction
The lp_int_type() function was creating an unsigned type. So rename
that function to lp_uint_type() and create new lp_int_type() that
creates a signed type.
Eric Anholt [Wed, 3 Mar 2010 19:51:51 +0000 (11:51 -0800)]
i915: Enable texture tiling by default.
This now passes piglit testcases, and shows performance improvements
on openarena. Blit-heavy apps may see degradation, but the
expectation is that the common case of 3D rendering will see
significant wins.
This regresses gen-teximage on my 855, and no piglit tests on my 945.
Eric Anholt [Wed, 3 Mar 2010 19:49:39 +0000 (11:49 -0800)]
i915: Fix up i830 for tiled drawing offsets.
Corresponds to
b87406e55f029d29594ae76a4b39a4fe1007fe4f.
George Sapountzis [Thu, 4 Mar 2010 14:33:39 +0000 (16:33 +0200)]
fix getprocaddress test