José Fonseca [Fri, 9 Oct 2009 12:22:42 +0000 (13:22 +0100)]
util: Force ESI register for cpuid's ebx result.
Fixes a segfault and better code. Unfortunately using an arbitrary
register ("=r") causes the gcc to abort when the code is optimized saying
it can't satisfy the constraint. Setting seems to do the trick.
José Fonseca [Fri, 9 Oct 2009 10:29:33 +0000 (11:29 +0100)]
llvmpipe: Eliminate constant mapping/unmapping.
José Fonseca [Tue, 6 Oct 2009 15:59:07 +0000 (16:59 +0100)]
progs: Remove unused empty file.
José Fonseca [Mon, 5 Oct 2009 17:32:36 +0000 (18:32 +0100)]
gdi: Fix the build when llvmpipe is requested (the default) but llvm is not present.
Andre Maasikas [Fri, 9 Oct 2009 07:46:12 +0000 (10:46 +0300)]
r600: fixup KIL instruction a bit
- KILLGT takes 2 arguments
- arb KIL has no dst register
- add TODO about clause ending but currently piglit fp-kil passes and
does not hang the card
Brian Paul [Fri, 9 Oct 2009 02:49:32 +0000 (20:49 -0600)]
docs: bump libdrm version requirement
Probably need to bump other version requirements too...
Eric Anholt [Fri, 9 Oct 2009 00:18:12 +0000 (17:18 -0700)]
mesa: Bump the required libdrm version to reflect reality.
Not all drivers require the latest version, but distros are good at
tracking it since we've got a good record as far as not regressing, and
it sure beats having a weird compile failure in someone else's driver
later on.
Eric Anholt [Fri, 2 Oct 2009 01:16:52 +0000 (18:16 -0700)]
i965: Use bo_references for the state cache delete function.
This appears to shave about 3% off the CPU usage in cairo-gl for firefox.
Eric Anholt [Fri, 2 Oct 2009 00:53:12 +0000 (17:53 -0700)]
intel: Use new drm_intel_bo_references() to avoid flushing.
Brian Paul [Thu, 8 Oct 2009 18:50:42 +0000 (12:50 -0600)]
mesa: free display list state after freeing shared state
Fixes bug 24402.
Brian Paul [Thu, 8 Oct 2009 15:28:07 +0000 (09:28 -0600)]
Merge branch 'mesa_7_6_branch'
Conflicts:
src/mesa/drivers/common/meta.c
Brian Paul [Thu, 8 Oct 2009 15:17:13 +0000 (09:17 -0600)]
mesa: regenerated gl_mangle.h file
Vinson Lee [Thu, 8 Oct 2009 14:08:11 +0000 (08:08 -0600)]
progs/tests: Fix MSVC build.
Brian Paul [Wed, 7 Oct 2009 22:51:26 +0000 (16:51 -0600)]
mesa: clean up extended opcode code
Brian Paul [Wed, 7 Oct 2009 22:41:18 +0000 (16:41 -0600)]
mesa: move gl_list_instruction and gl_list_extensions to dlist.c
Brian Paul [Wed, 7 Oct 2009 22:32:25 +0000 (16:32 -0600)]
mesa: added _mesa_free_display_list_data()
Brian Paul [Wed, 7 Oct 2009 22:21:34 +0000 (16:21 -0600)]
mesa: clean-up display list mem allocation, fix NULL handling
The -1 term in alloc_instruction() foiled later NULL pointer checks.
Brian Paul [Wed, 7 Oct 2009 22:12:26 +0000 (16:12 -0600)]
main: replace ALLOC_INSTRUCTION macro with regular function
Brian Paul [Wed, 7 Oct 2009 22:03:04 +0000 (16:03 -0600)]
mesa: rename display list functions
_mesa_alloc_instruction() sounded like it was related to vertex/fragment
program instructions, but it wasn't.
Brian Paul [Wed, 7 Oct 2009 20:43:27 +0000 (14:43 -0600)]
gallium/xlib: call XQueryExtension() in glXQueryExtension()
See bug 24321.
Brian Paul [Wed, 7 Oct 2009 20:42:14 +0000 (14:42 -0600)]
mesa/xlib: call XQueryExtension() in glXQueryExtension()
See bug 24321.
Vinson Lee [Wed, 7 Oct 2009 20:29:23 +0000 (14:29 -0600)]
i915g: Fix MSVC build.
Brian Paul [Wed, 7 Oct 2009 20:07:49 +0000 (14:07 -0600)]
mesa: don't need to free textures, VBOs, etc. in _mesa_meta_free()
They're freed by the normal context deallocation code.
Fixes Blender crash, bug 24185.
Brian Paul [Wed, 7 Oct 2009 19:30:48 +0000 (13:30 -0600)]
softpipe: new comments
Brian Paul [Wed, 7 Oct 2009 19:21:57 +0000 (13:21 -0600)]
softpipe: whitespace and comment fixes
Brian Paul [Wed, 7 Oct 2009 19:17:20 +0000 (13:17 -0600)]
softpipe: prefix non-static functions with sp_
Joakim Sindholt [Wed, 7 Oct 2009 19:02:18 +0000 (21:02 +0200)]
r300compiler: fix scons build again
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>
Nicolai Hähnle [Wed, 7 Oct 2009 18:39:22 +0000 (20:39 +0200)]
Merge branch 'mesa_7_6_branch'
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>
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>
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.
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.
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.
Brian Paul [Wed, 7 Oct 2009 15:41:00 +0000 (09:41 -0600)]
docs: fix glXQueryDrawable() bugs
Brian Paul [Wed, 7 Oct 2009 15:40:22 +0000 (09:40 -0600)]
mesa/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
Brian Paul [Wed, 7 Oct 2009 15:11:23 +0000 (09:11 -0600)]
progs/xdemos: test glXQueryDrawable()
Brian Paul [Wed, 7 Oct 2009 15:10:48 +0000 (09:10 -0600)]
progs/xdemos: fix swapped parameters to CreatePbuffer()
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.
Brian Paul [Wed, 7 Oct 2009 14:07:53 +0000 (08:07 -0600)]
swrast: s/GLfloat/GLuint/ in bzero()
Brian Paul [Wed, 7 Oct 2009 01:05:23 +0000 (19:05 -0600)]
swrast: add missing returns
Vinson Lee [Wed, 7 Oct 2009 13:54:31 +0000 (07:54 -0600)]
progs/test: Fix MSVC build.
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.
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.
Jakob Bornecrantz [Wed, 7 Oct 2009 02:28:04 +0000 (03:28 +0100)]
i915g: Use buffer write instead of map for lit vertices
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.
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.
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.
Vinson Lee [Tue, 6 Oct 2009 22:02:47 +0000 (16:02 -0600)]
progs/tests: fix MSVC build.
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>
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>
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>
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>
Vinson Lee [Tue, 6 Oct 2009 01:42:58 +0000 (18:42 -0700)]
progs/perf: Fix MSVC build.
Andre Maasikas [Mon, 5 Oct 2009 06:38:52 +0000 (09:38 +0300)]
r600: r700PredictRenderSize can flush, so move index buffer setup after it
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.
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.
Jakob Bornecrantz [Tue, 6 Oct 2009 01:30:43 +0000 (18:30 -0700)]
i915g: Add more defines to tweek batchbuffer
Jakob Bornecrantz [Tue, 6 Oct 2009 01:11:25 +0000 (18:11 -0700)]
i915g: Tweek vertexbuffer size
Brian Paul [Mon, 5 Oct 2009 20:43:38 +0000 (14:43 -0600)]
i965g: remove 965/brw files from XLIB_WINSYS_SOURCES
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
Brian Paul [Mon, 5 Oct 2009 20:26:16 +0000 (14:26 -0600)]
intel: use driReadDrawable in do_copy_texsubimage()
Brian Paul [Mon, 5 Oct 2009 20:25:36 +0000 (14:25 -0600)]
intel: use driReadDrawable, not driDrawable in do_blit_readpixels()
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.
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.
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.
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.
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)
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>
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.
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.
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...
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().
Andre Maasikas [Mon, 5 Oct 2009 09:53:40 +0000 (12:53 +0300)]
r600: update vertex program selection for draw path
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.
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>
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>
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>
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>
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>
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.
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.
José Fonseca [Sun, 4 Oct 2009 12:25:24 +0000 (13:25 +0100)]
llvmpipe: Ensure tile cache transfers are mapped before flushing it.
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.
José Fonseca [Sun, 4 Oct 2009 11:49:31 +0000 (12:49 +0100)]
util: Fix cpuid invocation for x86_64.
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.
José Fonseca [Sun, 4 Oct 2009 10:35:50 +0000 (11:35 +0100)]
llvmpipe: Match header's protection macro with filename.
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.
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>
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>
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
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>
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>
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>
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>
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>
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>
José Fonseca [Sat, 3 Oct 2009 18:42:22 +0000 (19:42 +0100)]
llvmpipe: Fetch tile only if a color buffer is bound.
Nicolai Hähnle [Sat, 3 Oct 2009 17:30:48 +0000 (19:30 +0200)]
Merge branch 'master' into r300-compiler