mesa.git
15 years agollvmpipe: import experimental softpipe rasterizer code, wip binning code
Keith Whitwell [Wed, 7 Oct 2009 21:36:43 +0000 (22:36 +0100)]
llvmpipe: import experimental softpipe rasterizer code, wip binning code

WIP, does't build or run.

Rasterizer code is based on Nick Capen's devmaster posts and the
larrabee articles, but currently doesn't share either the performance
or correctness of either...

15 years agoi915g: Fix MSVC build.
Vinson Lee [Wed, 7 Oct 2009 20:29:23 +0000 (14:29 -0600)]
i915g: Fix MSVC build.

15 years agosoftpipe: new comments
Brian Paul [Wed, 7 Oct 2009 19:30:48 +0000 (13:30 -0600)]
softpipe: new comments

15 years agosoftpipe: whitespace and comment fixes
Brian Paul [Wed, 7 Oct 2009 19:21:57 +0000 (13:21 -0600)]
softpipe: whitespace and comment fixes

15 years agosoftpipe: prefix non-static functions with sp_
Brian Paul [Wed, 7 Oct 2009 19:17:20 +0000 (13:17 -0600)]
softpipe: prefix non-static functions with sp_

15 years agor300compiler: fix scons build again
Joakim Sindholt [Wed, 7 Oct 2009 19:02:18 +0000 (21:02 +0200)]
r300compiler: fix scons build again

15 years agoMerge branch 'master' into r300g-glsl
Nicolai Hähnle [Wed, 7 Oct 2009 18:45:08 +0000 (20:45 +0200)]
Merge branch 'master' into r300g-glsl

Conflicts:
src/gallium/drivers/r300/r300_tgsi_to_rc.c

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agoMerge branch 'mesa_7_6_branch'
Nicolai Hähnle [Wed, 7 Oct 2009 18:39:22 +0000 (20:39 +0200)]
Merge branch 'mesa_7_6_branch'

15 years agoshader_api: Fix bounds checking of glUniform and glUniformMatrix
Nicolai Hähnle [Sat, 3 Oct 2009 14:30:16 +0000 (16:30 +0200)]
shader_api: Fix bounds checking of glUniform and glUniformMatrix

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
15 years agoprog_parameter: Document the fact that Size may be > 4
Nicolai Hähnle [Sat, 3 Oct 2009 14:18:57 +0000 (16:18 +0200)]
prog_parameter: Document the fact that Size may be > 4

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agoutil: do some more util_blit_pixels cases without temporaries
Keith Whitwell [Wed, 7 Oct 2009 16:50:03 +0000 (17:50 +0100)]
util: do some more util_blit_pixels cases without temporaries

When the source surface is pointing at a 2d texture with only one
mipmap level, use that directly rather than creating a temporary.
Probably want to cover more cases, but this is a start.

15 years agomesa/st: add missing mesa constant file name
Keith Whitwell [Wed, 7 Oct 2009 16:48:45 +0000 (17:48 +0100)]
mesa/st: add missing mesa constant file name

There are many different names for constants in mesa, we were missing
one since the ureg rewrite.

15 years agost/mesa: pass pipe_screen, not pipe_context to st_choose_format() functions
Brian Paul [Wed, 7 Oct 2009 15:58:03 +0000 (09:58 -0600)]
st/mesa: pass pipe_screen, not pipe_context to st_choose_format() functions

These don't depend on context state, but use a screen pointer.

15 years agodocs: fix glXQueryDrawable() bugs
Brian Paul [Wed, 7 Oct 2009 15:41:00 +0000 (09:41 -0600)]
docs: fix glXQueryDrawable() bugs

15 years agomesa/xlib: fix glXQueryDrawable() bugs, see bug 24320
Brian Paul [Wed, 7 Oct 2009 15:40:22 +0000 (09:40 -0600)]
mesa/xlib: fix glXQueryDrawable() bugs, see bug 24320

15 years agogallium/xlib: fix glXQueryDrawable() bugs, see bug 24320
Brian Paul [Wed, 7 Oct 2009 15:40:04 +0000 (09:40 -0600)]
gallium/xlib: fix glXQueryDrawable() bugs, see bug 24320

15 years agoprogs/xdemos: test glXQueryDrawable()
Brian Paul [Wed, 7 Oct 2009 15:11:23 +0000 (09:11 -0600)]
progs/xdemos: test glXQueryDrawable()

15 years agoprogs/xdemos: fix swapped parameters to CreatePbuffer()
Brian Paul [Wed, 7 Oct 2009 15:10:48 +0000 (09:10 -0600)]
progs/xdemos: fix swapped parameters to CreatePbuffer()

15 years agost/dri: Add missing front buffer case in dri_get_buffers().
Michel Dänzer [Wed, 7 Oct 2009 14:36:39 +0000 (16:36 +0200)]
st/dri: Add missing front buffer case in dri_get_buffers().

This seems to help for compiz at least with some drivers.

Also add an assert(0) to catch unhandled cases in the future.

15 years agoswrast: s/GLfloat/GLuint/ in bzero()
Brian Paul [Wed, 7 Oct 2009 14:07:53 +0000 (08:07 -0600)]
swrast: s/GLfloat/GLuint/ in bzero()

15 years agoswrast: add missing returns
Brian Paul [Wed, 7 Oct 2009 01:05:23 +0000 (19:05 -0600)]
swrast: add missing returns

15 years agoprogs/test: Fix MSVC build.
Vinson Lee [Wed, 7 Oct 2009 13:54:31 +0000 (07:54 -0600)]
progs/test: Fix MSVC build.

15 years agomesa/xlib: return 0 for errorBase, eventBase in glXQueryExtension()
Brian Paul [Wed, 7 Oct 2009 13:45:15 +0000 (07:45 -0600)]
mesa/xlib: return 0 for errorBase, eventBase in glXQueryExtension()

A little better than leaving the values undefined, I think.
See bug 24321.

15 years agogallium/xlib: return 0 for errorBase, eventBase in glXQueryExtension()
Brian Paul [Wed, 7 Oct 2009 13:43:12 +0000 (07:43 -0600)]
gallium/xlib: return 0 for errorBase, eventBase in glXQueryExtension()

A little better than leaving the values undefined, I think.
See bug 24321.

15 years agoi915g: Use buffer write instead of map for lit vertices
Jakob Bornecrantz [Wed, 7 Oct 2009 02:28:04 +0000 (03:28 +0100)]
i915g: Use buffer write instead of map for lit vertices

15 years agoi915g: Change order of buffer_write arguments
Jakob Bornecrantz [Wed, 7 Oct 2009 02:26:03 +0000 (03:26 +0100)]
i915g: Change order of buffer_write arguments

They now follow the pipe_buffer_write style,
its the gallium driver that sets the interface not
the winsys.

15 years agoi915g: Disable vbuf fifo and minor commenting of vbuf code
Jakob Bornecrantz [Wed, 7 Oct 2009 00:40:37 +0000 (01:40 +0100)]
i915g: Disable vbuf fifo and minor commenting of vbuf code

The vbuf fifo doesn't appear to help once the libdrm
reuse flag has been set.

15 years agonv04-nv40: Fix swizzle transfers for NPOT sizes.
Younes Manton [Wed, 7 Oct 2009 02:07:47 +0000 (22:07 -0400)]
nv04-nv40: Fix swizzle transfers for NPOT sizes.

Workarounds not necessary, SIFM can handle NPOT, we just weren't setting
dst dimensions properly. SIFM can't handle odd w,h though, that still
needs fixing.

15 years agoprogs/tests: fix MSVC build.
Vinson Lee [Tue, 6 Oct 2009 22:02:47 +0000 (16:02 -0600)]
progs/tests: fix MSVC build.

15 years agor300/compiler: Fix R300 vertex program dumps
Nicolai Hähnle [Tue, 6 Oct 2009 19:24:44 +0000 (21:24 +0200)]
r300/compiler: Fix R300 vertex program dumps

The source register field has 8 bits.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300/compiler: Fix yet another regression in register allocation
Nicolai Hähnle [Tue, 6 Oct 2009 19:13:27 +0000 (21:13 +0200)]
r300/compiler: Fix yet another regression in register allocation

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300/compiler: Fix a really stupid logic inversion in the generic dataflow code
Nicolai Hähnle [Tue, 6 Oct 2009 18:24:46 +0000 (20:24 +0200)]
r300/compiler: Fix a really stupid logic inversion in the generic dataflow code

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300/compiler: Fix regression in pair scheduling
Nicolai Hähnle [Tue, 6 Oct 2009 18:07:38 +0000 (20:07 +0200)]
r300/compiler: Fix regression in pair scheduling

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agoprogs/perf: Fix MSVC build.
Vinson Lee [Tue, 6 Oct 2009 01:42:58 +0000 (18:42 -0700)]
progs/perf: Fix MSVC build.

15 years agor600: r700PredictRenderSize can flush, so move index buffer setup after it
Andre Maasikas [Mon, 5 Oct 2009 06:38:52 +0000 (09:38 +0300)]
r600: r700PredictRenderSize can flush, so move index buffer setup after it

15 years agonv50: fix segfault when there's gaps in enabled texture units
Ben Skeggs [Tue, 6 Oct 2009 03:55:48 +0000 (13:55 +1000)]
nv50: fix segfault when there's gaps in enabled texture units

Tested with progs/demos/multiarb.

15 years agonouveau: fix buffer object leak
Ben Skeggs [Tue, 6 Oct 2009 03:18:09 +0000 (13:18 +1000)]
nouveau: fix buffer object leak

Very apparent with resizing windows on DRI2.

15 years agoi915g: Add more defines to tweek batchbuffer
Jakob Bornecrantz [Tue, 6 Oct 2009 01:30:43 +0000 (18:30 -0700)]
i915g: Add more defines to tweek batchbuffer

15 years agoi915g: Tweek vertexbuffer size
Jakob Bornecrantz [Tue, 6 Oct 2009 01:11:25 +0000 (18:11 -0700)]
i915g: Tweek vertexbuffer size

15 years agoi965g: remove 965/brw files from XLIB_WINSYS_SOURCES
Brian Paul [Mon, 5 Oct 2009 20:43:38 +0000 (14:43 -0600)]
i965g: remove 965/brw files from XLIB_WINSYS_SOURCES

15 years agoMerge branch 'mesa_7_6_branch'
Brian Paul [Mon, 5 Oct 2009 20:42:08 +0000 (14:42 -0600)]
Merge branch 'mesa_7_6_branch'

Conflicts:

src/gallium/auxiliary/util/u_cpu_detect.c

15 years agointel: use driReadDrawable in do_copy_texsubimage()
Brian Paul [Mon, 5 Oct 2009 20:26:16 +0000 (14:26 -0600)]
intel: use driReadDrawable in do_copy_texsubimage()

15 years agointel: use driReadDrawable, not driDrawable in do_blit_readpixels()
Brian Paul [Mon, 5 Oct 2009 20:25:36 +0000 (14:25 -0600)]
intel: use driReadDrawable, not driDrawable in do_blit_readpixels()

15 years agointel: remove a buffer equality test in _mesa_make_current()
Brian Paul [Mon, 5 Oct 2009 20:07:29 +0000 (14:07 -0600)]
intel: remove a buffer equality test in _mesa_make_current()

Before, if we called glXMakeCurrent() to change a context's window binding
while an FBO was bound, we weren't updating the intel->driDrawable and
intel->driReadDrawable fields.  This could cause us to dereference a null
pointer elsewhere.

15 years agoi915g: Drop the simple sufix
Jakob Bornecrantz [Tue, 29 Sep 2009 23:07:11 +0000 (16:07 -0700)]
i915g: Drop the simple sufix

None of the other driver have a silly sufix,
so just drop it. Nothing new added in this commit
or any other commit but this is better marketing.

15 years agoi965g: Drop i965simple
Jakob Bornecrantz [Tue, 29 Sep 2009 17:22:15 +0000 (10:22 -0700)]
i965g: Drop i965simple

The driver never work with real hardware and has
bitrotted for quite some time now, might as well
drop it. If somebody wants to look at it just use git.

15 years agor300g: fix scons build
Joakim Sindholt [Mon, 5 Oct 2009 17:25:04 +0000 (19:25 +0200)]
r300g: fix scons build

So I didn't touch r300compiler, but r300g now compiles after having
declarations and code untangled. As nha so gently points out, we shouldn't
have to do this just to comply with MSVC compilers.

15 years agomesa: fix return value when clipping {Read,Draw}Pixels height <= 0
Brian Paul [Mon, 5 Oct 2009 17:10:31 +0000 (11:10 -0600)]
mesa: fix return value when clipping {Read,Draw}Pixels height <= 0

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
(cherry picked from master, commit 7aeaca33c331f70d507fc83583b13b8d9fc3e847)

15 years agoFix building of GLSL demos which use M_PI
Jon TURNEY [Fri, 24 Jul 2009 19:33:25 +0000 (20:33 +0100)]
Fix building of GLSL demos which use M_PI

Some <math.h> files do not define M_PI, in which case, provide our own definition

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
15 years agoutil: Improve the cpuid assembly.
José Fonseca [Mon, 5 Oct 2009 15:45:38 +0000 (16:45 +0100)]
util: Improve the cpuid assembly.

No need to save ebx on 64bit. Use just xchgl. Refer to gcc's cpuid.h header.

Thanks to Uros Bizjak for pointing this out.

15 years agomesa: Copy textures' base format into wrapper renderbuffer.
José Fonseca [Mon, 5 Oct 2009 10:05:34 +0000 (11:05 +0100)]
mesa: Copy textures' base format into wrapper renderbuffer.

Otherwise st_copy_texsubimage will fallback to software blit due to
inconsistent base formats.

15 years agomesa/st: add ST_DEBUG environment variable
Keith Whitwell [Mon, 5 Oct 2009 14:50:11 +0000 (15:50 +0100)]
mesa/st: add ST_DEBUG environment variable

At last it's possible to turn on tgsi dumps and other debugging in the
state tracker without modifying sources...

15 years agoutil: add lost code to util_make_fragment_tex_shader_writemask()
Keith Whitwell [Mon, 5 Oct 2009 14:46:47 +0000 (15:46 +0100)]
util: add lost code to util_make_fragment_tex_shader_writemask()

This got ported to ureg at some point, but lost the code that
distinguishes it from regular util_make_fragment_tex_shader().

15 years agor600: update vertex program selection for draw path
Andre Maasikas [Mon, 5 Oct 2009 09:53:40 +0000 (12:53 +0300)]
r600: update vertex program selection for draw path

15 years agoUse _mesa_select_tex_image() rather than hardcoding face 0.
Michel Dänzer [Mon, 5 Oct 2009 10:31:51 +0000 (12:31 +0200)]
Use _mesa_select_tex_image() rather than hardcoding face 0.

Fixes crash loading a map in sauerbraten with

hwmipmap 1

in ~/.sauerbraten/config.cfg.

15 years agost/dri: avoid segfault if we can't get a pixmap's buffers
Ben Skeggs [Mon, 5 Oct 2009 05:51:47 +0000 (15:51 +1000)]
st/dri: avoid segfault if we can't get a pixmap's buffers

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
15 years agonv50: support PIPE_FORMAT_X8R8G8B8_UNORM
Ben Skeggs [Mon, 5 Oct 2009 03:41:33 +0000 (13:41 +1000)]
nv50: support PIPE_FORMAT_X8R8G8B8_UNORM

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
15 years agonouveau: return pitch value from local_handle_from_texture()
Ben Skeggs [Mon, 5 Oct 2009 03:39:34 +0000 (13:39 +1000)]
nouveau: return pitch value from local_handle_from_texture()

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
15 years agomesa: fix return value when clipping {Read,Draw}Pixels height <= 0
Ben Skeggs [Mon, 5 Oct 2009 04:42:45 +0000 (14:42 +1000)]
mesa: fix return value when clipping {Read,Draw}Pixels height <= 0

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
15 years agost/dri: no need to request fake front buffer, only handle it being returned
Ben Skeggs [Mon, 5 Oct 2009 05:32:55 +0000 (15:32 +1000)]
st/dri: no need to request fake front buffer, only handle it being returned

The previous behaviour was incorrect, and resulted in EXT_tfp being broken
for DDX drivers that implement the correct behaviour (intel/radeon/nouveau).

In the cases where a fake front buffer is required, the X server will
return one when requesting __DRI_BUFFER_FRONT_LEFT.

The Xorg state tracker (aka modesetting_drv) is likely broken now until
it's modified to match the other drivers.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
15 years agor200: remove subpixel offset from viewport
Frederic Crozat [Sun, 4 Oct 2009 21:46:40 +0000 (17:46 -0400)]
r200: remove subpixel offset from viewport

Fixes bug fdo 20340 for r200.

15 years agoutil: Make assert a no-op on non-debug builds.
José Fonseca [Sun, 4 Oct 2009 20:59:24 +0000 (21:59 +0100)]
util: Make assert a no-op on non-debug builds.

This ensures that an assertion like

  assert(expensive_test());

won't have any penalty on release builds. It also implies that no vital
code should be in assert expressions.

15 years agollvmpipe: Ensure tile cache transfers are mapped before flushing it.
José Fonseca [Sun, 4 Oct 2009 12:25:24 +0000 (13:25 +0100)]
llvmpipe: Ensure tile cache transfers are mapped before flushing it.

15 years agollvmpipe: Autogenerate lp_tile_soa.c from u_format.csv.
José Fonseca [Sun, 4 Oct 2009 12:04:08 +0000 (13:04 +0100)]
llvmpipe: Autogenerate lp_tile_soa.c from u_format.csv.

This is just a temporary change until we code generate the tile read/write
functions in runtime. The new code avoids an extra memcpy that exists in
u_tile.c functions, from which lp_tile_soa.c was originally based.

This achieves up to 5% improvement, particularly in frames with
little geometry overlap.

15 years agoutil: Fix cpuid invocation for x86_64.
José Fonseca [Sun, 4 Oct 2009 11:49:31 +0000 (12:49 +0100)]
util: Fix cpuid invocation for x86_64.

15 years agollvmpipe: Remove loop testing from format testing.
José Fonseca [Sun, 4 Oct 2009 10:36:42 +0000 (11:36 +0100)]
llvmpipe: Remove loop testing from format testing.

Loop building will be rewritten.

15 years agollvmpipe: Match header's protection macro with filename.
José Fonseca [Sun, 4 Oct 2009 10:35:50 +0000 (11:35 +0100)]
llvmpipe: Match header's protection macro with filename.

15 years agollvmpipe: Adjust format assertion.
José Fonseca [Sat, 3 Oct 2009 21:15:17 +0000 (22:15 +0100)]
llvmpipe: Adjust format assertion.

We support array layout too -- if it has a single channel.

15 years agor300/compiler Add support for more of the Sxx set instructions
Nicolai Hähnle [Sun, 4 Oct 2009 16:26:15 +0000 (18:26 +0200)]
r300/compiler Add support for more of the Sxx set instructions

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300/compiler: Emit flow control instructions and ALU result writes on R500
Nicolai Hähnle [Sun, 4 Oct 2009 15:53:08 +0000 (17:53 +0200)]
r300/compiler: Emit flow control instructions and ALU result writes on R500

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300g: xRGB and RGBx formats.
Corbin Simpson [Thu, 1 Oct 2009 02:44:38 +0000 (19:44 -0700)]
r300g: xRGB and RGBx formats.

We now have 48 GLX visuals. Pretty soon, we'll have 90+ visuals,
only five of which ever get tested. :3

15 years agor300/compiler: Refactor the radeon_pair code to support control flow instructions
Nicolai Hähnle [Sun, 4 Oct 2009 14:49:53 +0000 (16:49 +0200)]
r300/compiler: Refactor the radeon_pair code to support control flow instructions

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300/compiler: Refactor to allow different instruction types
Nicolai Hähnle [Sun, 4 Oct 2009 09:25:48 +0000 (11:25 +0200)]
r300/compiler: Refactor to allow different instruction types

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300/compiler: Introduce aluresult register for branch operation support
Nicolai Hähnle [Sun, 4 Oct 2009 09:13:09 +0000 (11:13 +0200)]
r300/compiler: Introduce aluresult register for branch operation support

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agointel: Suppress a compiler warning for an pointer->int cast
Chris Wilson [Sat, 3 Oct 2009 22:08:39 +0000 (23:08 +0100)]
intel: Suppress a compiler warning for an pointer->int cast

intel_pixel_read.c: In function ‘do_blit_readpixels’:
intel_pixel_read.c:221: warning: cast from pointer to integer of
different size

Cast via an intermediate (GLintptr) instead and hope the result fits
within GLuint... [It should as we simply do not support textures *that*
large!]

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
15 years agointel: Assert that relocation offsets are within the target
Chris Wilson [Fri, 2 Oct 2009 18:46:03 +0000 (19:46 +0100)]
intel: Assert that relocation offsets are within the target

This should catch the common programming error where we attempt to
emit a relocation to beyond the end of the target buffer.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
15 years agor300/compiler: Introduce control flow instructions and refactor dataflow
Nicolai Hähnle [Sat, 3 Oct 2009 19:28:59 +0000 (21:28 +0200)]
r300/compiler: Introduce control flow instructions and refactor dataflow

Note that control flow instruction support isn't actually fully functional yet.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agollvmpipe: Fetch tile only if a color buffer is bound.
José Fonseca [Sat, 3 Oct 2009 18:42:22 +0000 (19:42 +0100)]
llvmpipe: Fetch tile only if a color buffer is bound.

15 years agoMerge branch 'master' into r300-compiler
Nicolai Hähnle [Sat, 3 Oct 2009 17:30:48 +0000 (19:30 +0200)]
Merge branch 'master' into r300-compiler

15 years agoprog_parameter: Document the fact that Size may be > 4
Nicolai Hähnle [Sat, 3 Oct 2009 14:18:57 +0000 (16:18 +0200)]
prog_parameter: Document the fact that Size may be > 4

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300g: Do not abort on fragment program compiler error
Nicolai Hähnle [Sat, 3 Oct 2009 17:20:31 +0000 (19:20 +0200)]
r300g: Do not abort on fragment program compiler error

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300g: Fix memory leak in radeon_texture_from_shared_handle
Nicolai Hähnle [Sat, 3 Oct 2009 15:56:51 +0000 (17:56 +0200)]
r300g: Fix memory leak in radeon_texture_from_shared_handle

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300g: Build in the trace and softpipe driver for xorg state tracker
Sedat Dilek [Sat, 3 Oct 2009 16:01:58 +0000 (18:01 +0200)]
r300g: Build in the trace and softpipe driver for xorg state tracker

Same as in src/gallium/winsys/drm/intel/xorg/Makefile

Thanks MrCooper for explanations on IRC

[ Summary amended by Michel Dänzer to clarify that this is related to the xorg
  state tracker ]

15 years agoradeon: Cope better with texture images with no miptrees.
Michel Dänzer [Sat, 3 Oct 2009 16:01:58 +0000 (18:01 +0200)]
radeon: Cope better with texture images with no miptrees.

Fixes crash with compiz magnifier plugin.

15 years agoswrast: Move up state validation in _swrast_ReadPixels.
Michel Dänzer [Sat, 3 Oct 2009 16:01:58 +0000 (18:01 +0200)]
swrast: Move up state validation in _swrast_ReadPixels.

This ensures the driver won't map the wrong set of textures.

15 years agometa: Make sure texImage->TexFormat is valid for CopyTex(Sub)Image.
Michel Dänzer [Sat, 3 Oct 2009 16:01:57 +0000 (18:01 +0200)]
meta: Make sure texImage->TexFormat is valid for CopyTex(Sub)Image.

15 years agor300g: Remove an unnecessarily created pipe buffer (and thus fix a leak)
Nicolai Hähnle [Sat, 3 Oct 2009 15:49:16 +0000 (17:49 +0200)]
r300g: Remove an unnecessarily created pipe buffer (and thus fix a leak)

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agost/dri: Install APPLE_vertex_array_object functions
Nicolai Hähnle [Sat, 3 Oct 2009 15:39:32 +0000 (17:39 +0200)]
st/dri: Install APPLE_vertex_array_object functions

Besides from being necessary to use that extension, it also fixes a crash
when deleting the currently bound vertex array object.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300g: Reset vbo_offset after allocation of a new buffer
Nicolai Hähnle [Sat, 3 Oct 2009 15:24:04 +0000 (17:24 +0200)]
r300g: Reset vbo_offset after allocation of a new buffer

This fixes the glxgears bug, among other things.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agost/dri: Install ARB_vertex_array_object functions
Nicolai Hähnle [Sat, 3 Oct 2009 00:11:02 +0000 (02:11 +0200)]
st/dri: Install ARB_vertex_array_object functions

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agor300: Workaround problem on R500 with very large fragment programs
Nicolai Hähnle [Fri, 2 Oct 2009 23:26:38 +0000 (01:26 +0200)]
r300: Workaround problem on R500 with very large fragment programs

The non-KMS interface is to blame here. In theory, a proper fix
could be produced that works for the KMS interface only, but it
require cleaning a lot of mess. Easier to just do it right in r300g.

Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>
15 years agomesa: optimized _mesa_meta_BlitFramebuffer() for src=texture case
Brian Paul [Fri, 2 Oct 2009 19:59:41 +0000 (13:59 -0600)]
mesa: optimized _mesa_meta_BlitFramebuffer() for src=texture case

If the src renderbuffer is actually a texture, we can directly use that
texture as the src and avoid a copy.

15 years agoi965: Use a little stack space to avoid a malloc in wm_get_binding_table.
Eric Anholt [Fri, 2 Oct 2009 17:53:56 +0000 (10:53 -0700)]
i965: Use a little stack space to avoid a malloc in wm_get_binding_table.

15 years agomesa: Remove another unexplained Flush call, this time from BindFramebuffer.
Eric Anholt [Fri, 2 Oct 2009 00:59:05 +0000 (17:59 -0700)]
mesa: Remove another unexplained Flush call, this time from BindFramebuffer.

Combined with the previous fix, it takes cairo-gl firefox-talos-gfx time
from 120 seconds to 90 seconds on my GM45.

15 years agoRevert "Flush driver, not just tnl module."
Eric Anholt [Thu, 1 Oct 2009 23:53:12 +0000 (16:53 -0700)]
Revert "Flush driver, not just tnl module."

This reverts commit df058298e1570eea8712f9bb051f674fab2eaf24.  It didn't
explain why it was required, doesnt appear to be required, and is a
significant performance penalty for cairo-gl firefox.

Conflicts:

src/mesa/main/fbobject.c

15 years agointel: Remove an unexplained flush from intelClearWithBlit.
Eric Anholt [Fri, 2 Oct 2009 01:07:57 +0000 (18:07 -0700)]
intel: Remove an unexplained flush from intelClearWithBlit.

15 years agor600: remove support for host-based ibs
Alex Deucher [Fri, 2 Oct 2009 18:25:52 +0000 (14:25 -0400)]
r600: remove support for host-based ibs

no longer used now that the hw supports this natively.

Also, clean up some formatting.

15 years agomesa/st: don't reuse vertex buffers for bitmap, clear quads
Keith Whitwell [Fri, 2 Oct 2009 14:36:47 +0000 (15:36 +0100)]
mesa/st: don't reuse vertex buffers for bitmap, clear quads

Currently using max_slots > 1 will cause synchronous rendering
if the driver flushes its command buffers between one bitmap and the
next.

Need to improve buffer_write to allow NO_WAIT (as well as no_flush)
updates to buffers where we know there is no conflict with previous
data.

15 years agost/xorg: Use PIPE_TRANSFER_MAP_DIRECTLY flag in EXA PrepareAccess hook.
Michel Dänzer [Fri, 2 Oct 2009 16:13:26 +0000 (18:13 +0200)]
st/xorg: Use PIPE_TRANSFER_MAP_DIRECTLY flag in EXA PrepareAccess hook.

Propagate NULL return value.

This also allows removing the DRM_MODE_FEATURE_DIRTYFB specific pixmap
management hacks.

15 years agogallium: Add PIPE_TRANSFER_MAP_DIRECTLY usage flag.
Michel Dänzer [Fri, 2 Oct 2009 16:13:26 +0000 (18:13 +0200)]
gallium: Add PIPE_TRANSFER_MAP_DIRECTLY usage flag.

Asks the driver to map the texture storage directly or return NULL if that's
not possible.