Brian Paul [Mon, 31 Aug 2009 23:56:41 +0000 (17:56 -0600)]
progs/samples: added test/debug code for culling
Brian Paul [Mon, 31 Aug 2009 23:54:46 +0000 (17:54 -0600)]
swrast: fix selection/feedback regression
This fixes a conform selection/feedback regression introduced by commit
8f4d66c5f893b49eb3973aa3b31a856314c045c7
Brian Paul [Mon, 31 Aug 2009 20:57:59 +0000 (14:57 -0600)]
mesa: debug printf for KIL
Brian Paul [Mon, 31 Aug 2009 20:56:34 +0000 (14:56 -0600)]
progs/tests: disable depth test for second glDrawPixels
We don't want to z-test that glDrawPixels. Also, set the raster color to
red when drawing GL_DEPTH_COMPONENT image to aid in debugging.
Brian Paul [Mon, 31 Aug 2009 19:28:31 +0000 (13:28 -0600)]
swrast: can't use deferred texture/shading if using KIL instruction
If the fragment program uses KIL, we have to execute it before z/stencil
testing. Otherwise, deferred texture/shading lets us skip shading for
pixels that fail z/stencil testing.
Dave Airlie [Tue, 1 Sep 2009 00:50:40 +0000 (10:50 +1000)]
r300/compiler: fix warning due to no newline
Dave Airlie [Tue, 1 Sep 2009 00:12:20 +0000 (10:12 +1000)]
r200: emit max vtx info for index buffer.
We need this for the CS bounds checking.
Jakob Bornecrantz [Mon, 31 Aug 2009 23:42:39 +0000 (00:42 +0100)]
i915g: Implement new winsys
Jakob Bornecrantz [Sun, 30 Aug 2009 19:49:01 +0000 (20:49 +0100)]
i915g: Switch from pipe_winsys to intel_winsys
Also includes moving lots of functions from i915_batch.h
into intel_batchbuffer.h
Jakob Bornecrantz [Sun, 30 Aug 2009 17:30:35 +0000 (18:30 +0100)]
i915g: Add header file for new winsys interface
Jakob Bornecrantz [Sun, 30 Aug 2009 15:26:01 +0000 (16:26 +0100)]
i915g: Add new buffer code not yet hocked up
Jakob Bornecrantz [Mon, 31 Aug 2009 23:24:53 +0000 (00:24 +0100)]
st/xorg: Fix crash in MPH
Pauli Nieminen [Mon, 31 Aug 2009 21:39:20 +0000 (00:39 +0300)]
radeon: Fix null pointer reference in debug system if no context is bind.
Pauli Nieminen [Mon, 31 Aug 2009 17:44:11 +0000 (20:44 +0300)]
r600: Add more trace debug output to rendering pipeline.
Pauli Nieminen [Mon, 31 Aug 2009 17:25:33 +0000 (20:25 +0300)]
radeon: Add support for indenting debug output.
Indetion can be used to make it easier to read debug code when sections of debug output are indented.
Pauli Nieminen [Sun, 30 Aug 2009 20:58:45 +0000 (23:58 +0300)]
radeon: Add comment warning about not choosing critical debug level.
Pauli Nieminen [Sun, 30 Aug 2009 20:46:58 +0000 (23:46 +0300)]
radeon: Change default debug level to verbose.
Verbose is a lot better for developement but we should considre changing it to normal in stable branch.
Pauli Nieminen [Sun, 30 Aug 2009 20:39:15 +0000 (23:39 +0300)]
r300: Convert to shared debug code.
Pauli Nieminen [Sun, 30 Aug 2009 20:06:05 +0000 (23:06 +0300)]
r200: Convert r200 to use new style debug code.
Only very few places where realy converted so there isa lot of to do.
Pauli Nieminen [Sun, 30 Aug 2009 19:08:38 +0000 (22:08 +0300)]
r600: Convert to shared debug code and add a few new debug messages.
There is only a few functions that have debugging enabled now.
Pauli Nieminen [Sun, 30 Aug 2009 19:07:49 +0000 (22:07 +0300)]
radeon: Make OQ to use new style debugging.
Pauli Nieminen [Sun, 30 Aug 2009 19:07:13 +0000 (22:07 +0300)]
radeon: Add gcc attribute to enable pritnf format warnings.
Pauli Nieminen [Sun, 30 Aug 2009 16:44:16 +0000 (19:44 +0300)]
r100: Use shared debug code.
Converted r100 to use shared debug code with sed and fast compile check. New
code has compability layer so old debugging code doesn't have to be changed
all immidiatly.
Pauli Nieminen [Sun, 30 Aug 2009 13:48:33 +0000 (16:48 +0300)]
radeon: Add common debugging functions.
These function are aiming to make it very simple to add and keep large amount
of debugging code without having runtime impact in relase builds. Basic idea
is to expose simple printf style debugging functions that are inlined.
Level parameter will be evalueted in compile time so compiler can optimise
some of debugging functions out if compile time request for debug level is too
tight.
Brian Paul [Mon, 31 Aug 2009 17:17:59 +0000 (11:17 -0600)]
mesa: added const qualifiers, move local var
Brian Paul [Mon, 31 Aug 2009 17:14:16 +0000 (11:14 -0600)]
mesa: fix saturation logic in emit_texenv()
We need to clamp/saturate after each texenv stage, not just the last one.
Fixes glean texEnv failure for softpipe (and probably other fragment program-
based drivers).
Brian Paul [Mon, 31 Aug 2009 16:32:56 +0000 (10:32 -0600)]
docs: fixed glXCreateGLXPixmap() for direct rendering
Brian Paul [Mon, 31 Aug 2009 16:31:45 +0000 (10:31 -0600)]
docs/: document cross-compile fix
Marc Dietrich [Mon, 31 Aug 2009 15:56:33 +0000 (08:56 -0700)]
mesa: fix 32bit cross compilation on a 64bit machine
When cross compiling on a 64bit machine, gen_matypes.c is build
for the host machine (64bit) but must generates code for the target
machine (32bit). This causes wrong offsets all over the place and
crashes googleearth on my machine. Solution is to add -m32 when
cross compiling.
Attached patch is compatible with linux-x86-32 and autoconf based
builds.
Zack Rusin [Fri, 28 Aug 2009 21:19:23 +0000 (17:19 -0400)]
st/xorg: add code to render textured quads for composite acceleration
Zack Rusin [Fri, 28 Aug 2009 20:43:21 +0000 (16:43 -0400)]
st/xorg: setup constant buffers for vertex and fragment shaders
Michel Dänzer [Mon, 31 Aug 2009 16:41:54 +0000 (18:41 +0200)]
st/xorg: Re-organize the EXA ModifyPixmapHeader hook a bit.
This should also handle the case where the pixmap is backed by a (different)
texture before and afterwards.
Michel Dänzer [Mon, 31 Aug 2009 16:41:54 +0000 (18:41 +0200)]
st/xorg: Simplify EXA ModifyPixmapHeader hook for pPixmap != NULL.
Just let the upper layers handle it.
Michel Dänzer [Mon, 31 Aug 2009 16:41:53 +0000 (18:41 +0200)]
st/xorg: Don't always fall back for solid fills.
Alex Deucher [Mon, 31 Aug 2009 16:18:44 +0000 (12:18 -0400)]
r600: add missing r7xx pci id
Jakob Bornecrantz [Sun, 30 Aug 2009 19:25:17 +0000 (20:25 +0100)]
i915g: Reorg texture layout code
Jakob Bornecrantz [Sun, 30 Aug 2009 18:31:14 +0000 (19:31 +0100)]
i915g: Move transfer functions into i915_texture.c
Jakob Bornecrantz [Sun, 30 Aug 2009 18:20:45 +0000 (19:20 +0100)]
i915g: Reorg texture code a bit
Jakob Bornecrantz [Sun, 30 Aug 2009 16:45:47 +0000 (17:45 +0100)]
i915g: Don't use winsys directly in the driver
Jakob Bornecrantz [Sun, 30 Aug 2009 23:36:24 +0000 (00:36 +0100)]
i915g: Cleanup i915_prim_vbuf.c
Jakob Bornecrantz [Sun, 30 Aug 2009 20:10:36 +0000 (21:10 +0100)]
i915g: Cleanup i915_screen.[c|h]
Jakob Bornecrantz [Sun, 30 Aug 2009 20:03:43 +0000 (21:03 +0100)]
i915g: Cleanup i915_context.c
Jakob Bornecrantz [Sun, 30 Aug 2009 19:41:00 +0000 (20:41 +0100)]
i915g: Cleanup i915_blit.[c|h]
Jakob Bornecrantz [Sun, 30 Aug 2009 14:42:10 +0000 (15:42 +0100)]
i915g: Cleanup i915_state_emit.c
Jakob Bornecrantz [Sun, 30 Aug 2009 12:57:37 +0000 (13:57 +0100)]
i915g: Cleanup i915_texture.c
Jakob Bornecrantz [Sat, 29 Aug 2009 21:02:49 +0000 (22:02 +0100)]
i915g: Cleanup texture init functions a bit
Jakob Bornecrantz [Sat, 29 Aug 2009 10:46:46 +0000 (11:46 +0100)]
i915g: Rename pipe field on context to base
Jakob Bornecrantz [Sat, 29 Aug 2009 10:32:32 +0000 (11:32 +0100)]
i915g: Rename screen field on screen to base
Brian Paul [Mon, 31 Aug 2009 15:12:04 +0000 (09:12 -0600)]
mesa: set additional fields in _mesa_buffer_map_range()
Brian Paul [Mon, 31 Aug 2009 15:05:28 +0000 (09:05 -0600)]
mesa: set Length/Offset fields in _mesa_buffer_map()
Brian Paul [Mon, 31 Aug 2009 14:59:38 +0000 (08:59 -0600)]
mesa: additional assertions for ctx->Driver.UnmapBuffer()
The Pointer, Offset and Lenght fields should be cleared by the driver function
since ctx->Driver.Unmap() may be called from VBO code, etc.
Brian Paul [Mon, 31 Aug 2009 15:01:21 +0000 (09:01 -0600)]
intel: clear buffer fields in intel_bufferobj_unmap()
Brian Paul [Mon, 31 Aug 2009 14:50:15 +0000 (08:50 -0600)]
mesa: new assertions, comments about buffer mapping
Since ctx->Driver.MapBuffer() and ctx->Driver.MapBufferRange() may be called
from other places in Mesa (such as VBO) it's important that the driver
callbacks set all the buffer object fields properly (Pointer, Offset, Length,
etc). Add assertions to make sure that the driver does that.
Brian Paul [Mon, 31 Aug 2009 14:49:22 +0000 (08:49 -0600)]
st/mesa: fix obj->Pointer offset in st_bufferobj_map_range()
This fixes a bunch of gallium regressions since
commit
8096aa521369c3bcf5226c060efa6dd06e48ddc8
José Fonseca [Mon, 31 Aug 2009 09:22:36 +0000 (10:22 +0100)]
llvmpipe: Fallback to element-wise comparisons when no comparison intrinsic is available.
Although selection of vector elements is valid LLVM IR, no machine target
supports it yet.
This is a last-resort option, but it allows llvmpipe to be used on any
target supported by LLVM without modifications. Obviously better
performance is attainable by emitting SIMD intrinsics where otherwise
LLVM doesn't.
José Fonseca [Mon, 31 Aug 2009 09:00:38 +0000 (10:00 +0100)]
llvmpipe: In the abcense of a min/max intrinsic, use the comparison intrinsics.
José Fonseca [Mon, 31 Aug 2009 08:33:41 +0000 (09:33 +0100)]
llvmpipe: Actually commit lp_buffer.[ch].
Thanks Michel.
Michel Dänzer [Mon, 31 Aug 2009 08:22:19 +0000 (10:22 +0200)]
Gallium xlib: Add support for BGRA visuals.
Ben Skeggs [Mon, 31 Aug 2009 03:14:23 +0000 (13:14 +1000)]
nouveau: fix for dri state tracker changes
Ben Skeggs [Mon, 31 Aug 2009 03:00:34 +0000 (13:00 +1000)]
nouveau: introduce nouveau_miptree common to all nouveau pipe drivers
The winsys once again has to know about textures it seems, so we need a
common representation between all our pipe drivers to store some
information the winsys will need.
Only the nv50 driver has been fixed so far.
Ben Skeggs [Mon, 31 Aug 2009 02:55:56 +0000 (12:55 +1000)]
nouveau: hack winsys to compile again, it's broken still however
Marc Dietrich [Sun, 30 Aug 2009 15:24:27 +0000 (09:24 -0600)]
cell: fix compilation
Brian Paul [Sun, 30 Aug 2009 15:21:20 +0000 (09:21 -0600)]
swrast: minor code consolidation
Brian Paul [Sun, 30 Aug 2009 15:15:24 +0000 (09:15 -0600)]
mesa: consolidate texture-related code in meta.c
Also, allow using texture rectangles, NPOT textures or regular POT textures
(preferred in that order).
Brian Paul [Fri, 28 Aug 2009 14:55:20 +0000 (08:55 -0600)]
progs/util: minor updates to glutskel.c
Brian Paul [Thu, 27 Aug 2009 20:34:21 +0000 (14:34 -0600)]
intel: use more efficient loop over buffers
Brian Paul [Thu, 27 Aug 2009 20:47:24 +0000 (14:47 -0600)]
mesa: avoid redundant viewport changes in meta code
José Fonseca [Sun, 30 Aug 2009 11:36:03 +0000 (12:36 +0100)]
llvmpipe: Texture cache in 4 ubytes instead of 4 floats.
This is more a short term experiment than a long term commitment, as we'll
need to support higher precision textures too, as this will all be
be replaced by runtime generated code.
With this change most Mesa demos fps increased around 10%. Not a huge
improvement, but not a negligible one either.
José Fonseca [Sun, 30 Aug 2009 11:10:24 +0000 (12:10 +0100)]
llvmpipe: Use util_format_read_4f to read texture tiles.
José Fonseca [Sun, 30 Aug 2009 11:03:49 +0000 (12:03 +0100)]
llvmpipe: Texture cache is read-only. No need to flush.
José Fonseca [Sun, 30 Aug 2009 11:02:36 +0000 (12:02 +0100)]
util: Auto generate pixel format accessor functions from
This has several advantages over the u_
- not hand written
- no intermediate memcpy of raw pixels
- supports 4 ubytes in addition to floats
- no need to pass a pipe_transfer
It also has (hopefully temporary) limitations:
- no support for YUV
- no support for SRGB
José Fonseca [Sat, 29 Aug 2009 19:34:01 +0000 (20:34 +0100)]
llvmpipe: Eliminate internal pipe_buffer_map/unmap usage.
José Fonseca [Sat, 29 Aug 2009 19:33:28 +0000 (20:33 +0100)]
xlib: Implement lp_winsys::destroy.
Michel Dänzer [Sun, 30 Aug 2009 11:06:18 +0000 (13:06 +0200)]
Merge branch 'mesa_7_5_branch'
Conflicts:
src/glx/x11/glxcmds.c
Michel Dänzer [Sun, 30 Aug 2009 10:43:37 +0000 (12:43 +0200)]
glx/x11: Fix glXCreateGLXPixmap for direct rendering.
Fixes progs/xdemos/glxpixmap modified to use direct rendering.
Eric Anholt [Sat, 29 Aug 2009 20:23:58 +0000 (13:23 -0700)]
i965: Fix segfault with ARB_oq CheckQuery when results are already fetched.
Eric Anholt [Sat, 29 Aug 2009 20:21:07 +0000 (13:21 -0700)]
i965: Support PROGRAM_ENV_PARAMs in brw_vs_emit.c
José Fonseca [Sat, 29 Aug 2009 19:07:53 +0000 (20:07 +0100)]
llvmpipe: List lp_buffer.c in the Makefile.
José Fonseca [Sat, 29 Aug 2009 19:02:47 +0000 (20:02 +0100)]
xlib: Implement llvmpipe lp_winsys interface.
José Fonseca [Sat, 29 Aug 2009 19:02:25 +0000 (20:02 +0100)]
llvmpipe: Define an winsys for LLVM. Drop pipe_winsys
lp_winsys will eventually be unified with softpipe's eventually, but we
are free to move quicker since we don't have the myriad of users yet.
Will provide a pipe_winsys adaptor from Keith's softpipe-private-winsys
soon.
Pauli Nieminen [Sat, 29 Aug 2009 18:04:40 +0000 (21:04 +0300)]
r300: Disable threshold register for KMS.
Kernel side doesn't have required register in safe list so can't send it kernel.
Pauli Nieminen [Sat, 29 Aug 2009 18:00:21 +0000 (21:00 +0300)]
r300: Swtcl prediction was still missing scissors.
All that state stuff should really be in state atoms :/
Pauli Nieminen [Sat, 29 Aug 2009 15:38:30 +0000 (18:38 +0300)]
r300: Add missing pre_emit_count to swtcl state size prediction.
Christoph Bumiller [Sat, 29 Aug 2009 15:22:12 +0000 (17:22 +0200)]
nv50: set provoking vertex state
José Fonseca [Sat, 29 Aug 2009 08:18:19 +0000 (09:18 +0100)]
xlib: Update llvmpipe integration for changes in
José Fonseca [Sat, 29 Aug 2009 08:17:51 +0000 (09:17 +0100)]
llvmpipe: Update for changes in master.
José Fonseca [Sat, 29 Aug 2009 08:16:02 +0000 (09:16 +0100)]
mesa: Update sconscript for new ARB/FP assembler.
José Fonseca [Sat, 29 Aug 2009 08:15:10 +0000 (09:15 +0100)]
util: Add util_unsigned_logbase2.
Cherry picked from Keith's commit
f911c3b9897b90132c8621a72bfeb824eb3b01e5.
José Fonseca [Tue, 25 Aug 2009 07:05:31 +0000 (08:05 +0100)]
llvmpipe: Isolate sampling from TGSI translation.
José Fonseca [Tue, 25 Aug 2009 05:40:22 +0000 (06:40 +0100)]
llvmpipe: Better structure dereference naming.
José Fonseca [Mon, 24 Aug 2009 14:55:15 +0000 (15:55 +0100)]
llvmpipe: Fix shader variant key construction.
Fixes the blank screen on non-64bit mode.
José Fonseca [Mon, 24 Aug 2009 13:56:51 +0000 (14:56 +0100)]
llvmpipe: Fix build.
José Fonseca [Sun, 23 Aug 2009 13:25:31 +0000 (14:25 +0100)]
llvmpipe: Merge all pixel format related files.
José Fonseca [Sun, 23 Aug 2009 11:28:34 +0000 (12:28 +0100)]
llvmpipe: Factor out and optimize the input interpolation.
Special attention is given to the interpolation of side by side quads.
Multiplications are made only for the first quad. Interpolation of
inputs for posterior quads are done exclusively with additions, and
perspective divide if necessary.
José Fonseca [Sun, 23 Aug 2009 06:55:29 +0000 (07:55 +0100)]
llvmpipe: Pre-declare fetch_texel.
José Fonseca [Sun, 23 Aug 2009 06:38:41 +0000 (07:38 +0100)]
llvmpipe: Pass the alpha ref value and blend color in the jit context.
José Fonseca [Sun, 23 Aug 2009 05:35:09 +0000 (06:35 +0100)]
llvmpipe: Pass fragment context to generated function in a single structure.
José Fonseca [Sun, 23 Aug 2009 05:18:28 +0000 (06:18 +0100)]
llvmpipe: Structure manipulation helpers.
José Fonseca [Sun, 23 Aug 2009 04:52:20 +0000 (05:52 +0100)]
llvmpipe: Centralize the C <-> JIT interfaces in one place.
José Fonseca [Sat, 22 Aug 2009 22:30:28 +0000 (23:30 +0100)]
llvmpipe: Drop blend derived state.
Already included in the fragment shader.