Commit Graph

32075 Commits

Author SHA1 Message Date
Brian Paul b60aa251e4 st/mesa: fix incorrect glCopyPixels between window/FBO
There was a DrawBuffer/ReadBuffer typo and we were neglecting to invert
the texture coords when copying from a window to an FBO.

Plus, add some surface dump/debug code (disabled).

(cherry picked from commit 34f02071618624263eba839b5aeb930d0e794078)
2010-03-10 10:42:22 -07:00
Brian Paul c78ac7fcfa st/mesa: fix incorrect glDrawPixels into FBO
We weren't inverting the textured quad when drawing into an fbo.

(cherry picked from commit 8d3f629a13afb0d6acafc7a007972fdc5efe6847)
2010-03-10 10:41:22 -07:00
Michel Dänzer 766d90f1a2 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
2010-03-10 18:26:25 +01:00
Alex Deucher ffd625d4aa radeon: don't attempt to use alternate blit formats for depth buffers
noticed by fredrikh on IRC.
2010-03-08 17:38:39 -05:00
Brian Paul e1762fb870 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.
2010-03-08 11:39:51 -07:00
Brian Paul 80dc54e308 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.
2010-03-08 11:39:51 -07:00
Alex Deucher df9bf78f88 r600: enable GL_ARB_pixel_buffer_object 2010-03-08 12:00:57 -05:00
Brian Paul fe25bee14f 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.
2010-03-08 10:00:29 -07:00
Alex Deucher 9458c2061b radeon/r200/r600: allow src and dst BOs to be placed in GTT during blit 2010-03-08 11:50:01 -05:00
Alex Deucher d7ad1b8b07 radeon/r200/r600: reset bos when validating buffers during blit 2010-03-08 11:49:53 -05:00
Alex Deucher c65235f97e r600: recalculate point size, if point min/max size changes 2010-03-08 11:49:44 -05:00
Alex Deucher d18b302365 r600: no need to flush on context init 2010-03-08 11:49:31 -05:00
Maciej Cencora b3b6bd5da1 r300: don't enable EXT_packed_depth_stencil
R300 hw doesn't support sampling from Z24_S8 or S8_Z24 formats.
2010-03-08 11:49:23 -05:00
Maciej Cencora 29e02c7e72 radeon: no need to emit full state twice after flush 2010-03-08 11:49:16 -05:00
Maciej Cencora 4572ae1925 r300: allow src and dst BOs to be placed in GTT during blit
Fixes some relocation failures
2010-03-08 11:49:09 -05:00
Maciej Cencora 62b3321d7d r300: reset bos when validating buffers during blit 2010-03-08 11:49:01 -05:00
Maciej Cencora 8ccd83ab92 radeon: fallback to software in glCopyTexImage if blit isn't available 2010-03-08 11:48:52 -05:00
Maciej Cencora 2872c1cc32 r300: VAP flush is needed only when vertex program or constants are changed 2010-03-08 11:48:45 -05:00
Maciej Cencora 77ed4d1f5d r300: recalculate point size, if point min/max size changes
Fixes two wine d3d9 unit tests
2010-03-08 11:48:36 -05:00
Maciej Cencora 44d92d4bbe r300: no need to flush on context init 2010-03-08 11:48:28 -05:00
Maciej Cencora b1ab15c633 r300: remove unnecessary code
_tnl_UpdateFixedFunctionProgram is already called in r300_draw.c
2010-03-08 11:48:20 -05:00
Brian Paul 26aa870a0d mesa: add render-to-texture case for MESA_FORMAT_S8_Z24 2010-03-08 09:38:07 -07:00
Brian Paul 614f490ca9 mesa: s/GL_DEPTH_STENCIL/GL_DEPTH_COMPONENT/ for MESA_FORMAT_Z16 renderbuffer
MESA_FORMAT_Z16 has no stencil bits.
2010-03-08 09:35:28 -07:00
Chia-I Wu ee6fbf8d2f 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.
2010-03-08 11:29:25 +08:00
Vinson Lee 661b416e07 gallivm: Initialize variables for default cases.
Fixes use of uninitialized variables in non-debug builds.
2010-03-06 20:30:28 -08:00
Vinson Lee ba8f4c5d36 progs/demos: Add arbocclude2 to Makefile and .gitignore. 2010-03-05 23:18:01 -08:00
Brian Paul ae7b3a632d 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 96ab4d2b84)
2010-03-05 17:32:36 -07:00
Brian Paul c781e2841a docs: remove merge conflict garbage 2010-03-05 17:32:07 -07:00
Ian Romanick 77fc3ef911 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>
2010-03-05 16:04:59 -08:00
Ian Romanick 66c0abba6b 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>
2010-03-05 16:04:59 -08:00
Ian Romanick ebbec7e4e4 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>
2010-03-05 16:04:59 -08:00
Ian Romanick c67af0628b swrast: Remove stray comment that mentions ctx->Visual
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2010-03-05 16:04:59 -08:00
Brian Paul 1a0a2b64ca gallivm: checkpoint: code gen for mipmap selection 2010-03-05 16:52:11 -07:00
Brian Paul b5038fdd65 llvmpipe: added code to set texture depth, max mipmap levels info 2010-03-05 16:51:35 -07:00
Brian Paul 7f4b5c5387 gallivm: added methods for getting texture depth, num mipmap levels 2010-03-05 16:50:48 -07:00
Brian Paul 6bc644fe62 gallivm: checkpoint: texture LOD computation code gen 2010-03-05 16:32:09 -07:00
Brian Paul 36a0c4219d gallivm: added field for sampler lod 2010-03-05 16:32:09 -07:00
Eric Anholt 8c8e664f10 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%.
2010-03-05 15:23:30 -08:00
Eric Anholt a232cc59e3 intel: Remove support for the DRI1 TFP extension. 2010-03-05 15:23:30 -08:00
Eric Anholt 20952f0378 i965: Remove the paths for making a const surface object for a NULL BO. 2010-03-05 15:23:30 -08:00
Eric Anholt 9a38f76044 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.
2010-03-05 15:23:30 -08:00
Eric Anholt 879ea6f279 i965: Rename SNB brw_*_key structs to gen6_*_key structs. 2010-03-05 15:23:30 -08:00
Eric Anholt 5d18e86971 i965: Pack gen6 blend_state_key structure. 2010-03-05 15:23:30 -08:00
Eric Anholt 855515859e 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.
2010-03-05 15:23:30 -08:00
Eric Anholt 7392002041 intel: Replace batch macro contents with function calls.
This manages to cut down another 3800 bytes.
2010-03-05 15:23:30 -08:00
Eric Anholt 342a7f23bf intel: Move the assertions about reloc delta from the macros to the function.
Cuts another 1800 bytes from the driver.
2010-03-05 15:23:30 -08:00
Eric Anholt 8a9d8bd52a intel: Check that the batch is mapped per BEGIN, not each OUT.
Shaves 800 bytes off the driver.
2010-03-05 15:23:30 -08:00
Eric Anholt f6f5e87679 i965: Try to assign SNB SF inputs to outputs. 2010-03-05 15:23:30 -08:00
Eric Anholt 3b9612645e i965: Fix the SNB SF input size. 2010-03-05 15:23:30 -08:00
Chris Wilson 24f9011276 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>
2010-03-05 23:20:45 +00:00