Corbin Simpson [Sat, 7 Mar 2009 08:42:12 +0000 (00:42 -0800)]
r300-gallium: A bit more vertex format fixup.
Ben Skeggs [Sat, 7 Mar 2009 07:28:08 +0000 (17:28 +1000)]
nouveau: use bo_handle_ref instead of bo_fake to get front-buffer bo
This'll work on non-GEM also as the DDX will just pass an offset, and
libdrm_nouveau knows to treat "handle" as a VRAM offset. When running
on GEM the DDX (it doesn't yet, but will) passes a buffer handle
instead.
Ben Skeggs [Sat, 7 Mar 2009 07:24:19 +0000 (17:24 +1000)]
nv50: simplify tesla object selection
GeForce 8/9 are a bit more consistent than nv40 so far, so this was
overkill before.
Ben Skeggs [Sat, 7 Mar 2009 07:21:15 +0000 (17:21 +1000)]
nouveau: fix more breakage from pipe_reference..
Ben Skeggs [Sat, 7 Mar 2009 07:14:24 +0000 (17:14 +1000)]
nouveau: make stateobjs start off with refcount of 1
Victor Stinner [Fri, 6 Mar 2009 13:03:15 +0000 (14:03 +0100)]
Fix nv50_screen_create()
Setup screen->pipe before using it (screen->constbuf =
screen->pipe.buffer_create(...))
Victor Stinner [Fri, 6 Mar 2009 12:52:19 +0000 (13:52 +0100)]
Fix nouveau_pipe_create() / nouveau_context_init(): raise an error if the screen/pipe creation failed
Alan Coopersmith [Wed, 16 Jul 2008 19:47:27 +0000 (12:47 -0700)]
Add Solaris to OS'es using PROT_EXEC mmap() to get executable heap space
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Corbin Simpson [Sat, 7 Mar 2009 03:07:13 +0000 (19:07 -0800)]
r300-gallium: Fix masking on vertex formats.
Gah, what a simple yet terrible mistake.
Corbin Simpson [Fri, 6 Mar 2009 22:23:20 +0000 (14:23 -0800)]
r300-gallium: Remove unknown regs.
Leftovers from fglrx traces, probably.
Corbin Simpson [Fri, 6 Mar 2009 22:13:21 +0000 (14:13 -0800)]
r300-gallium: Actually do framebuffer setup.
Can't believe this wasn't wired up.
Corbin Simpson [Fri, 6 Mar 2009 21:31:13 +0000 (13:31 -0800)]
r300-gallium: Make sure registers are inside BEGIN/END CS.
Corbin Simpson [Fri, 6 Mar 2009 21:18:12 +0000 (13:18 -0800)]
r300-gallium: Separate out fog block.
We'll never actually use fog block. (I hope.)
Brian Paul [Fri, 6 Mar 2009 22:45:01 +0000 (15:45 -0700)]
glsl: call the program optimizer
This still needs more testing bug glean and Mesa GLSL tests seem OK.
Brian Paul [Fri, 6 Mar 2009 23:00:25 +0000 (16:00 -0700)]
i965: check if we run out of GRF/temp registers
Before this change we would up emitting instructions with invalid register
numbers. This typically (but not always) hung the GPU. For now, just
prevent emitting bad instructions to avoid hangs. Still need to do some
kind of proper error recovery.
Brian Paul [Fri, 6 Mar 2009 22:55:33 +0000 (15:55 -0700)]
mesa: added _mesa_read_shader() function to read shaders from files
Useful for debugging to override an application's shader.
Brian Paul [Fri, 6 Mar 2009 22:39:14 +0000 (15:39 -0700)]
i965: bump up BRW_EU_MAX_INSN
This is the size of the intermediate instruction buffer.
Brian Paul [Fri, 6 Mar 2009 23:18:22 +0000 (16:18 -0700)]
mesa: add new program optimizer code
This is pretty simplistic for now, but helps with certain shaders.
Brian Paul [Fri, 6 Mar 2009 20:37:48 +0000 (13:37 -0700)]
i965: comments
Brian Paul [Fri, 6 Mar 2009 19:32:55 +0000 (12:32 -0700)]
i965: comments and minor clean-ups
Brian Paul [Fri, 6 Mar 2009 23:04:53 +0000 (16:04 -0700)]
i965: avoid unnecessary calls to brw_wm_is_glsl()
This function scans the shader to see if it has any GLSL features like
conditionals and loops. Calling this during state validation is expensive.
Just call it when the shader is given to the driver and save the result.
There's some new/temporary assertions to be sure we don't get out of sync
on this.
Maciej Cencora [Tue, 17 Feb 2009 12:30:33 +0000 (13:30 +0100)]
r300: fix depth write regression (found by Nicolai Haehnle)
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
Maciej Cencora [Sun, 15 Feb 2009 20:58:18 +0000 (21:58 +0100)]
r300: enable EXT_fog_coord extension
Remove fixed function fog setup.
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
Maciej Cencora [Sun, 15 Feb 2009 19:57:32 +0000 (20:57 +0100)]
r300: route fog coord and W pos correctly
Also cleanup sw tcl vertex buffer setup
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
Maciej Cencora [Wed, 18 Feb 2009 09:42:01 +0000 (10:42 +0100)]
r300: rewrite and hopefully simplify RS setup
Testing and regression fixes by Markus Amsler
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
Maciej Cencora [Wed, 4 Feb 2009 12:40:48 +0000 (13:40 +0100)]
r300: add few macros for RS setup
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
Maciej Cencora [Sun, 8 Feb 2009 01:28:27 +0000 (02:28 +0100)]
r300: silence valgrind
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
Maciej Cencora [Wed, 4 Feb 2009 12:37:57 +0000 (13:37 +0100)]
r300: Print reg address when debugging is enabled
Signed-off-by: Nicolai Haehnle <nhaehnle@gmail.com>
Keith Whitwell [Fri, 6 Mar 2009 21:15:19 +0000 (21:15 +0000)]
fp: add some more texture, position and kill tests
Keith Whitwell [Fri, 6 Mar 2009 20:42:40 +0000 (20:42 +0000)]
fp: new kill + position test
Keith Whitwell [Fri, 6 Mar 2009 18:53:56 +0000 (18:53 +0000)]
fp: dont reference fragment.position.zw
Keith Whitwell [Fri, 6 Mar 2009 11:05:09 +0000 (11:05 +0000)]
engine: also print fps data to stdout
Useful for figuring out how much of a perf impact the glBitmap fps
display has on a given driver.
Maciej Cencora [Fri, 6 Mar 2009 19:14:36 +0000 (20:14 +0100)]
r300: don't crash on sw tcl hw if point size vertex attrib is sent
Corbin Simpson [Fri, 6 Mar 2009 19:28:08 +0000 (11:28 -0800)]
r300-gallium: GA enhancements.
Basically an errata fixup register.
Corbin Simpson [Fri, 6 Mar 2009 19:17:55 +0000 (11:17 -0800)]
r300-gallium: Flat/smooth shading state.
Corbin Simpson [Fri, 6 Mar 2009 17:44:21 +0000 (09:44 -0800)]
r300-gallium: Pick up a few more bits of rs_state.
Including two registers that already should have been covered...huh...
José Fonseca [Fri, 6 Mar 2009 18:03:50 +0000 (18:03 +0000)]
wgl: Check support for all other depth/stencil formats.
José Fonseca [Fri, 6 Mar 2009 17:57:02 +0000 (17:57 +0000)]
wgl: Choose a supported S8Z24/Z24S8/X8Z24/Z24X8.
Jeremy Huddleston [Fri, 6 Mar 2009 16:20:21 +0000 (11:20 -0500)]
Updated darwin config for when X11 is not in the same location as we're installing to
José Fonseca [Fri, 6 Mar 2009 14:02:42 +0000 (14:02 +0000)]
mesa: Reads must also be done with lock held.
Otherwise two threads might think each made the refcount go zero.
José Fonseca [Fri, 6 Mar 2009 14:01:24 +0000 (14:01 +0000)]
mesa: Fix typo.
Windows threads block if one over-unlocks them.
Eric Anholt [Fri, 6 Mar 2009 07:32:00 +0000 (23:32 -0800)]
intel: Fix bpp setting of blits to 8bpp targets.
This was causing hangs in cairogears, as we would blit to the 8bpp target
(A8 texture) as 16bpp, and stomp over state objects.
Eric Anholt [Fri, 6 Mar 2009 02:50:29 +0000 (18:50 -0800)]
i965: fix 3DPRIMITIVE batch decode of the vertex count field.
Eric Anholt [Fri, 6 Mar 2009 02:17:13 +0000 (18:17 -0800)]
i965: Stop dumping programs after the first all-zeroes entry.
Eric Anholt [Fri, 6 Mar 2009 01:18:49 +0000 (17:18 -0800)]
intel: Add always_flush_batch driconf option for making small batchbuffers.
This can improve debugging with INTEL_DEBUG=batch,sync by giving smaller
batchbuffers.
Eric Anholt [Fri, 6 Mar 2009 01:08:36 +0000 (17:08 -0800)]
intel: Add always_flush_cache driconf option for debugging cache flush failure.
I keep wanting to hack this knob in as a one-time thing, so it seemed useful
to have all the time.
Eric Anholt [Thu, 5 Mar 2009 18:57:43 +0000 (10:57 -0800)]
i965: Add a note about why the _NEW_STENCIL is required in draw_buffers.
Eric Anholt [Thu, 5 Mar 2009 16:25:22 +0000 (08:25 -0800)]
intel: Remove a gratuitous MI_FLUSH after clearing with a blit.
The 3D destination shares the same cache so we don't have any trouble with
the later commands needing the writes flushed inside of the same batchbuffer.
Eric Anholt [Thu, 5 Mar 2009 16:13:21 +0000 (08:13 -0800)]
i965: Remove dead flushing code.
Joel Bosveld [Thu, 5 Mar 2009 23:46:08 +0000 (08:46 +0900)]
st/xorg: Install to XORG_DRIVER_INSTALL_DIR
Brian Paul [Fri, 6 Mar 2009 00:24:39 +0000 (17:24 -0700)]
i965: comments and formatting fixes
Brian Paul [Fri, 6 Mar 2009 00:23:42 +0000 (17:23 -0700)]
i965: fix emit_math1() function used for scalar instructions
Instructions such as RCP, RSQ, LOG must smear the result of the function
across the dest register's X, Y, Z and W channels (subject to write masking).
Before this change, only the X component was getting written.
Among other things, this fixes cube map texture sampling in GLSL shaders
(since cube lookups involve normalizing the texcoord).
Brian Paul [Fri, 6 Mar 2009 00:14:29 +0000 (17:14 -0700)]
mesa: added some assertions
Brian Paul [Fri, 6 Mar 2009 00:14:05 +0000 (17:14 -0700)]
mesa: when printing src regs, use |reg| for absolute value
And check opcode number to avoid crashing on driver-private opcodes.
Brian Paul [Fri, 6 Mar 2009 00:04:27 +0000 (17:04 -0700)]
i965: fix screen depth test in intel_validate_framebuffer)_
front_region may be null.
Brian Paul [Thu, 5 Mar 2009 22:08:36 +0000 (15:08 -0700)]
i965: init dest reg CondMask = COND_TR (the proper default)
Plus fix up a debug printf.
Corbin Simpson [Thu, 5 Mar 2009 19:59:22 +0000 (11:59 -0800)]
r300-gallium: Move RS block setup to CSO.
Corbin Simpson [Thu, 5 Mar 2009 19:01:03 +0000 (11:01 -0800)]
r300-gallium: Move scissor state.
Keep it grouped with all the other parameterized state.
Corbin Simpson [Thu, 5 Mar 2009 18:46:52 +0000 (10:46 -0800)]
r300-gallium: Fix up vertex count.
Corbin Simpson [Thu, 5 Mar 2009 18:46:10 +0000 (10:46 -0800)]
r300-gallium: Use only one CS section for vertex_format.
Brian Paul [Thu, 5 Mar 2009 17:01:53 +0000 (10:01 -0700)]
Revert "softpipe: added null ptr check for align_free() call in vbuf code"
This reverts commit
6db24f449de9cc81e1f7bb2dde55a9819463d5e5.
With a null ptr check in align_free() this is no longer needed.
Brian Paul [Thu, 5 Mar 2009 17:01:17 +0000 (10:01 -0700)]
gallium: added null ptr check in align_free()
Brian Paul [Thu, 5 Mar 2009 15:33:50 +0000 (08:33 -0700)]
mesa: add wglext.h to tarball list
Brian Paul [Thu, 5 Mar 2009 15:33:04 +0000 (08:33 -0700)]
gl: added include/GL/wglext.h
Brian Paul [Thu, 5 Mar 2009 16:49:00 +0000 (09:49 -0700)]
softpipe: added null ptr check for align_free() call in vbuf code
Fixes GALLIUM_NOCELL path. See bug 20475.
Corbin Simpson [Thu, 5 Mar 2009 16:41:04 +0000 (08:41 -0800)]
r300-gallium: C++ compat fix.
Oops. :3
Joakim Sindholt [Thu, 5 Mar 2009 16:22:55 +0000 (17:22 +0100)]
radeon-gallium: fix dri2 build
Brian Paul [Thu, 5 Mar 2009 15:25:37 +0000 (08:25 -0700)]
gl: update glext.h to version 46
Corbin Simpson [Thu, 5 Mar 2009 04:52:45 +0000 (20:52 -0800)]
radeon-gallium: Add Xorg state tracker Radeon winsys stub.
Corbin Simpson [Thu, 5 Mar 2009 04:46:10 +0000 (20:46 -0800)]
radeon-gallium: Only build drivers for state trackers that are enabled.
Brian Paul [Thu, 5 Mar 2009 04:03:29 +0000 (21:03 -0700)]
tests: add new mapbufrange.c test to test GL_ARB_map_buffer_range
This only tests the most basic functionality for now.
Brian Paul [Thu, 5 Mar 2009 03:26:23 +0000 (20:26 -0700)]
fix incorrect prototype for glMapBufferRange() in glext.h
Needs to return void *
Robert Ellison [Wed, 4 Mar 2009 23:48:51 +0000 (16:48 -0700)]
i965: add software fallback for conformant 3D textures and GL_CLAMP
The i965 hardware cannot do GL_CLAMP behavior on textures; an earlier
commit forced a software fallback if strict conformance was required
(i.e. the INTEL_STRICT_CONFORMANCE environment variable was set) and
2D textures were used, but it was somewhat flawed - it could trigger
the software fallback even if 2D textures weren't enabled, as long
as one texture unit was enabled.
This fixes that, and adds software fallback for GL_CLAMP behavior with
1D and 3D textures.
It also adds support for a particular setting of the INTEL_STRICT_CONFORMANCE
environment variable, which forces software fallbacks to be taken *all*
the time. This is helpful with debugging. The value is:
export INTEL_STRICT_CONFORMANCE=2
Corbin Simpson [Wed, 4 Mar 2009 23:48:45 +0000 (15:48 -0800)]
radeon-gallium: Enable EGL and Xorg state trackers.
Compile-tested only, but I have high hopes.
Corbin Simpson [Wed, 4 Mar 2009 23:36:42 +0000 (15:36 -0800)]
radeon-gallium: DRI2 state tracker, part 3.
Properly setup the build process for adding in xorg and egl trackers,
and finally put radeon_context and radeon_screen to bed.
Corbin Simpson [Wed, 4 Mar 2009 21:47:44 +0000 (13:47 -0800)]
r300-gallium: Add unaccelerated surface_copy.
Brian Paul [Wed, 4 Mar 2009 23:48:05 +0000 (16:48 -0700)]
mesa: call _mesa_get_cpu_string() to get CPU info for GL_RENDERER string
Brian Paul [Wed, 4 Mar 2009 23:43:07 +0000 (16:43 -0700)]
mesa: call _mesa_get_cpu_features() during one-time-init
Brian Paul [Wed, 4 Mar 2009 23:40:22 +0000 (16:40 -0700)]
mesa: new cpuinfo.c file to init/query cpu info and extensions
Brian Paul [Wed, 4 Mar 2009 23:39:11 +0000 (16:39 -0700)]
mesa: _mesa_get_x86_features() only needs to do its thing once
Jakob Bornecrantz [Wed, 4 Mar 2009 21:41:01 +0000 (22:41 +0100)]
st/xorg: Clean up xorg_exa.c a bit
Jakob Bornecrantz [Wed, 4 Mar 2009 22:51:14 +0000 (23:51 +0100)]
st/xorg: Change format function a bit
Jakob Bornecrantz [Wed, 4 Mar 2009 21:54:33 +0000 (22:54 +0100)]
st/xorg: Fix transfer double free
Jakob Bornecrantz [Wed, 4 Mar 2009 21:04:17 +0000 (22:04 +0100)]
intel: Fixup from refcount changes
Jakob Bornecrantz [Wed, 4 Mar 2009 23:03:27 +0000 (00:03 +0100)]
mesa: Add x86/common_x86.c to libmesagallium.a
Thanks to Brian for the refactor commit
Brian Paul [Wed, 4 Mar 2009 22:56:16 +0000 (15:56 -0700)]
mesa: move sse.h and 3dnow.h #includes
Brian Paul [Wed, 4 Mar 2009 22:46:36 +0000 (15:46 -0700)]
mesa: remove unneeded x86.h header
Brian Paul [Wed, 4 Mar 2009 22:44:38 +0000 (15:44 -0700)]
mesa: make _mesa_init_x86_transform_asm() static
Brian Paul [Wed, 4 Mar 2009 22:39:50 +0000 (15:39 -0700)]
mesa: rename common_x86_macros.h -> x86_xform.h
Brian Paul [Wed, 4 Mar 2009 22:35:21 +0000 (15:35 -0700)]
mesa: rename x86.c -> x86_xform.c
Brian Paul [Wed, 4 Mar 2009 22:21:13 +0000 (15:21 -0700)]
mesa: refactor x86 code
Move _mesa_init_all_x86_transform_asm() into x86.c so that common_x86.c
has no dependencies on the vertex transformation code.
Plus some comments and clean-ups.
José Fonseca [Wed, 4 Mar 2009 21:46:12 +0000 (21:46 +0000)]
Merge commit 'origin/master' into gallium-map-range
Keith Whitwell [Wed, 4 Mar 2009 21:35:17 +0000 (21:35 +0000)]
indices: add translate/generate functions for unfilled modes
Most of the time unfilled rendering requires a lot more thought than
just translating triangles to lines or points. But sometimes, you can
do exactly that, and it can be quite a bit quicker. Add code to do the
translation. The caller has to determine whether it's a legal thing
to do in the current state, in particular you'd need:
- culling disabled
- offset disabled
- same front and back fill modes
- possibly other stuff I can't think of.
Keith Whitwell [Wed, 4 Mar 2009 17:41:46 +0000 (17:41 +0000)]
clear-repeat: print fps, use 300x300 window size
Dan Nicholson [Wed, 4 Mar 2009 21:19:32 +0000 (13:19 -0800)]
autoconf: Restore _GNU_SOURCE for all Linux systems
This catches the linux-uclibc case and any others that were being set
prior to
98fcdf3f. Fixes bug 20345.
Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Patrice Mandin [Wed, 4 Mar 2009 19:38:14 +0000 (20:38 +0100)]
nouveau: oops, forgot to keep the NV10_SIFM object
Patrice Mandin [Wed, 4 Mar 2009 19:34:54 +0000 (20:34 +0100)]
nouveau: Use proper SIFM object on NV30
José Fonseca [Wed, 4 Mar 2009 17:49:52 +0000 (17:49 +0000)]
mesa: Follow ARB_map_buffer_range more stricly.
Namelly, FlushMappedBufferRange takes a subrange relative to the original
range.
José Fonseca [Wed, 4 Mar 2009 17:48:26 +0000 (17:48 +0000)]
gallium: Use consistent semantics for map ranges in gallium.
Which are slightly different from ARB_map_buffer_range semantics, since
gallium still supports more than one mapping of the same buffer.
José Fonseca [Wed, 4 Mar 2009 17:42:36 +0000 (17:42 +0000)]
Merge commit 'origin/master' into gallium-map-range