Dave Airlie [Wed, 16 Apr 2008 10:25:08 +0000 (20:25 +1000)]
Merge branch 'master' into r500test
Conflicts:
src/mesa/drivers/dri/r300/r300_cmdbuf.c
src/mesa/drivers/dri/r300/r300_ioctl.c
Dave Airlie [Wed, 16 Apr 2008 06:49:32 +0000 (16:49 +1000)]
bufmgr_fake: disable debugging again
Dave Airlie [Wed, 16 Apr 2008 06:37:13 +0000 (16:37 +1000)]
intel: fix _mesa_error ctx I introduced at lsat minute
Dave Airlie [Wed, 16 Apr 2008 06:22:05 +0000 (16:22 +1000)]
intel/fake_bufmgr: Attempt to restrict references to objects in a batchbuffer > aperture size.
So with compiz on Intel hw with fake bufmgr, opening 4 firefox windows at 1680x1050 and hitting alt-tab, could cause the batchbuffer to try and reference more than the 32MB of RAM allocated.
Fix 1:
Fix 1 is to pre-verify the list of buffers against the current batchbuffer and if it can't possibly fit in the aperture to flush the batchbuffer to the hardware
and try again. If the buffers still can't fit well then you are hosed as I'm not sure there is a nice way to tell anyone.
Fix 2:
Next problem was that even with a simple check for total < aperture, we ran
into fragmentation issues, this meant that half way down a set of buffers,
we would fail as no blocks were available. Fix this by nuking the memory
manager from orbit and letting it start again and relayout the blocks in a
manner that fits.
Fix 3:
Finally the initial problem we were seeing was a memcpy to a NULL backing store.
We seem to end up with a texture at some point that never gets mapped but ends up with data in it. compiz al-tab icons have this property. So I created a card dirty bit that memcpy's any buffer that is !static and is written to back to memory. This probably is wrong but it makes compiz work for now.
Caveats:
965 support is still fail.
Brian [Tue, 15 Apr 2008 02:54:13 +0000 (20:54 -0600)]
fix multi-draw buffer regression
Brian Paul [Mon, 14 Apr 2008 20:10:32 +0000 (14:10 -0600)]
only use __x86_64__, not __amd64__ (bug 15503)
Brian Paul [Mon, 14 Apr 2008 19:43:24 +0000 (13:43 -0600)]
fix GL_ARB_texture_rectangle breakage
Brian Paul [Mon, 14 Apr 2008 19:40:43 +0000 (13:40 -0600)]
check for _WIN32 and __WIN32__
David Flynn [Mon, 14 Apr 2008 18:55:12 +0000 (12:55 -0600)]
define #extension GL_ARB_texture_rectangle
Roland Scheidegger [Sat, 12 Apr 2008 00:40:27 +0000 (02:40 +0200)]
r200: fix XPD vertex program instruction when using temps as inputs
due to the two read ports limit into temp memory may need the MAD_2 instruction
for the second instruction of the decomposed XPD.
While here, also try to avoid MAD_2 for MAD if all 3 inputs are temps but the
temps aren't actually distinct.
Brian Paul [Fri, 11 Apr 2008 15:35:18 +0000 (09:35 -0600)]
fix failed assertion (parameter can be a PROGRAM_CONSTANT)
Brian Paul [Fri, 11 Apr 2008 14:59:05 +0000 (08:59 -0600)]
add missing glViewport calls
Brian Paul [Fri, 11 Apr 2008 14:08:22 +0000 (08:08 -0600)]
comments
Michel Dänzer [Thu, 10 Apr 2008 19:45:52 +0000 (15:45 -0400)]
Get the default GLXPixmap texture target from the server when appropriate.
Fixes compiz with direct rendering when both GLX_TEXTURE_2D_EXT and
GLX_TEXTURE_RECTANGLE_EXT are supported for a GLXPixmap and the
application didn't specify the texture target as a GLX drawable attribute
when creating the GLX drawable.
Brian [Thu, 10 Apr 2008 04:30:14 +0000 (22:30 -0600)]
more make clean items
Brian [Thu, 10 Apr 2008 04:29:33 +0000 (22:29 -0600)]
use InitUniforms()
Brian [Thu, 10 Apr 2008 04:28:23 +0000 (22:28 -0600)]
Replace duplicated code with new shaderutil.c functions
Brian [Thu, 10 Apr 2008 04:27:36 +0000 (22:27 -0600)]
shader utility functions
Hasso Tepper [Wed, 9 Apr 2008 18:03:05 +0000 (11:03 -0700)]
Add support for dfbsd to mklib script.
Hasso Tepper [Wed, 9 Apr 2008 17:56:12 +0000 (10:56 -0700)]
Add $(X11_INCLUDES) to shut makedepend up.
Hasso Tepper [Wed, 9 Apr 2008 17:51:21 +0000 (10:51 -0700)]
autoconf: Add dfbsd support.
Jie Luo [Tue, 8 Apr 2008 23:17:06 +0000 (19:17 -0400)]
Handle fbconfig comparison correctly for attributes the X server didn't send.
Kristian Høgsberg [Tue, 8 Apr 2008 22:26:24 +0000 (18:26 -0400)]
Only convert configs if screen creation was successful.
Thanks to Adam Jackson for pointing it out.
Michel Dänzer [Mon, 7 Apr 2008 08:28:42 +0000 (10:28 +0200)]
r300: Fix r300VAPInputRoute{0,1} for big endian platforms.
Brian [Sat, 5 Apr 2008 01:26:29 +0000 (19:26 -0600)]
7.0.3 updates
Brian [Sat, 5 Apr 2008 01:25:26 +0000 (19:25 -0600)]
updated w/ 7.0.3 release
Brian [Sat, 5 Apr 2008 01:25:14 +0000 (19:25 -0600)]
import 7.0.3 relnotes from 7.0 branch
Brian [Sat, 5 Apr 2008 00:55:22 +0000 (18:55 -0600)]
added glGetActiveUniform_func
Brian [Fri, 4 Apr 2008 15:38:22 +0000 (09:38 -0600)]
mesa: add missing glPush/PopMatrix() calls
Brian [Fri, 4 Apr 2008 13:30:29 +0000 (07:30 -0600)]
mesa: add missing glPush/PopMatrix() calls
Brian [Fri, 4 Apr 2008 03:51:31 +0000 (21:51 -0600)]
rewrite some of the mat*mat, mat*vec intrinsics
Also, remove obsolete matrix codegen code.
Brian [Fri, 4 Apr 2008 02:12:32 +0000 (20:12 -0600)]
silence warning
Kristian Høgsberg [Wed, 2 Apr 2008 23:17:31 +0000 (19:17 -0400)]
Pick up dri2proto from the standard proto header include path.
Kristian Høgsberg [Wed, 2 Apr 2008 23:04:57 +0000 (19:04 -0400)]
Initialize GLX_EXT_texture_from_pixmap attributes correctly.
Roland Scheidegger [Tue, 1 Apr 2008 21:24:11 +0000 (23:24 +0200)]
fix mistakenly set ATIFragmentShader._Enabled bit (bug 15269)
Brian [Tue, 1 Apr 2008 14:41:08 +0000 (08:41 -0600)]
added some missing calls to _mesa_enable_x_y_extensions()
Dan Nicholson [Mon, 24 Mar 2008 17:01:50 +0000 (10:01 -0700)]
Use AC_CHECK_PROGS to find alternate make programs
The autoconf macro AC_PATH_PROGS handles the case of searching for
multiple program names already, so we don't need to open code it. Also
changed the search to AC_CHECK_PROGS so that it doesn't set the full
path unless the user specified. Finally, report back the found value at
the end for what the user should run.
Markus Amsler [Mon, 31 Mar 2008 20:58:28 +0000 (14:58 -0600)]
fix parsing bug involving comments at the end of ARB v/f programs
Kristian Høgsberg [Wed, 26 Mar 2008 23:26:59 +0000 (19:26 -0400)]
DRI interface changes and DRI2 direct rendering support.
Add DRI2 direct rendering support to libGL and add DRI2 client side
protocol code. Extend the GLX 1.3 create drawable functions in
glx_pbuffer.c to call into the DRI driver when possible.
Introduce __DRIconfig, opaque struct that represents a DRI driver
configuration. Get's rid of the open coded __GLcontextModes in the
DRI driver interface and the context modes create and destroy
functions that the loader was requires to provide. glcore.h is no
longer part of the DRI driver interface. The DRI config is GL binding
agnostic, that is, not specific to GLX, EGL or other bindings.
The core API is now also an extension, and the driver exports a list
of extensions as the symbol __driDriverExtensions, which the loader
must dlsym() for. The list of extension will always include the DRI
core extension, which allows creating and manipulating DRI screens,
drawables and contexts. The DRI legacy extension, when available,
provides alternative entry points for creating the DRI objects that
work with the XF86DRI infrastructure.
Change DRI2 client code to not use drm drawables or contexts. We
never used drm_drawable_t's and the only use for drm_context_t was as
a unique identifier when taking the lock. We now just allocate a
unique lock ID out of the DRILock sarea block. Once we get rid of the
lock entirely, we can drop this hack.
Change the interface between dri_util.c and the drivers, so that the
drivers now export the DriverAPI struct as driDriverAPI instead of the
InitScreen entry point. This lets us avoid dlsym()'ing for the DRI2
init screen function to see if DRI2 is supported by the driver.
Xiang, Haihao [Mon, 31 Mar 2008 09:02:47 +0000 (17:02 +0800)]
mesa: Free all shader program data before deleting all
shader/shader program objects to avoid memory access error.
Xiang, Haihao [Mon, 31 Mar 2008 08:27:47 +0000 (16:27 +0800)]
Revert "mesa: separate shader program object from shader object." (bug#15244)
This reverts commit
3ffd11f71d021f672b9bc15b3c39c155a0e2fecb.
Xiang, Haihao [Mon, 31 Mar 2008 05:45:06 +0000 (13:45 +0800)]
i915: texture object's lod bias. fix bug #15192
Markus Amsler [Sun, 30 Mar 2008 16:12:47 +0000 (16:12 +0000)]
r300: Copy-and-paste error from the vertex program branch.
Markus Amsler [Sun, 30 Mar 2008 16:10:47 +0000 (16:10 +0000)]
r300: Take PROGRAM_CONSTANT into account.
This bug was introduced by commit
978145a075255ae153ee05c2a037400e61558079.
Oliver McFadden [Sat, 29 Mar 2008 14:46:32 +0000 (14:46 +0000)]
Merge branch 'r300-vertprog-branch' of ssh://people.freedesktop.org/~z3ro/mesa
Brian [Fri, 28 Mar 2008 19:24:12 +0000 (13:24 -0600)]
fix texture/renderbuffer mix-up in test_attachment_completeness()
Xiang, Haihao [Fri, 28 Mar 2008 09:32:45 +0000 (17:32 +0800)]
i965: depth offset on glPolygonMode(GL_LINE/GL_POINT)
Dave Airlie [Fri, 28 Mar 2008 02:16:33 +0000 (13:16 +1100)]
r300: finish conversion of RS_INST regs
Dave Airlie [Fri, 28 Mar 2008 02:06:28 +0000 (13:06 +1100)]
r300: move to using RS_INST names
Brian [Thu, 27 Mar 2008 22:17:37 +0000 (16:17 -0600)]
consolidate some parsing functions that were pretty much identical for vertex/fragment programs
Brian [Thu, 27 Mar 2008 22:01:53 +0000 (16:01 -0600)]
when negating scalar src args, use NEGATE_XYZW, not NEGATE_X
This makes things easier on the back-end when generating GPU code.
cherry-picked from gallium-0.1
Brian [Thu, 27 Mar 2008 22:00:15 +0000 (16:00 -0600)]
Set param_var->param_binding_type = PROGRAM_CONSTANT
cherry-picked from gallium-0.1
Eric Anholt [Thu, 27 Mar 2008 18:57:08 +0000 (11:57 -0700)]
Add a couple of test apps for line/unfilled polygon clipping.
Michal Wajdeczko [Wed, 26 Mar 2008 20:43:16 +0000 (13:43 -0700)]
[965] Fix massively broken state cache dirty flagging.
It was flagging a last_bo update even when last_bo didn't change, but
another part was failing to update last_bo when it should have.
Michal Wajdeczko [Wed, 26 Mar 2008 20:33:34 +0000 (13:33 -0700)]
[intel] Use mesa texmemory functions to allocate teximage Data.
Failure to consistently do so resulted in mismatched aligned versus
unaligned alloc/free.
Eric Anholt [Wed, 26 Mar 2008 20:23:43 +0000 (13:23 -0700)]
[965] Don't let the negate flags of src0 affect 1 constants in precalc_dst/lit
This patch is a variant of a submission by Michal Wajdeczko to fix
oglconform fpalu failures.
Michal Wajdeczko [Wed, 26 Mar 2008 19:51:20 +0000 (12:51 -0700)]
[965] Correctly set read mask for OPCODE_SWZ in pass1.
While OPCODE_SWZ has usually been optimized away in pass0, it may still
exist if a SWZ with dst saturate was emitted in pass_fp. Fixes an error
in oglconform fpalu.c.
Eric Anholt [Tue, 25 Mar 2008 17:22:50 +0000 (10:22 -0700)]
[965] Clean up whitespace and dead code from do_unfilled change.
Oliver McFadden [Wed, 26 Mar 2008 08:01:13 +0000 (08:01 +0000)]
r300: Indented the vertex program code...
Oliver McFadden [Wed, 26 Mar 2008 07:53:16 +0000 (07:53 +0000)]
r300: Cleaned up the default vertex program code with longer lines.
Oliver McFadden [Wed, 26 Mar 2008 07:28:29 +0000 (07:28 +0000)]
r300: Removed the last of the duplicate vertex program macros.
Oliver McFadden [Wed, 26 Mar 2008 07:09:21 +0000 (07:09 +0000)]
r300: Added Copyright lines to the vertex program code.
Zou Nan hai [Wed, 26 Mar 2008 06:40:30 +0000 (14:40 +0800)]
[i915] don't use 4x4 filter for 1D shadowmap
Oliver McFadden [Wed, 26 Mar 2008 06:31:33 +0000 (06:31 +0000)]
r300: Renamed the Mesa opcode translation functions.
Oliver McFadden [Wed, 26 Mar 2008 06:24:48 +0000 (06:24 +0000)]
r300: Renamed the destination-and-opcode/source macros to more appropriate names.
Brian [Tue, 25 Mar 2008 20:03:52 +0000 (14:03 -0600)]
implement glGet/BindAttribLocationARB() for display lists
More such shader functions are needed...
Brian [Tue, 25 Mar 2008 14:11:27 +0000 (08:11 -0600)]
updated to version 40
Xiang, Haihao [Tue, 25 Mar 2008 09:29:08 +0000 (17:29 +0800)]
intel: fix the issue "VBO: Cannot allocate memory for a BO" on
965 after merging intel_context.c from i915 and i965. fix bug# 15152.
Brian [Tue, 25 Mar 2008 01:55:41 +0000 (19:55 -0600)]
add GL_READ_FRAMEBUFFER_BINDING_EXT case, regenerate get.c file
Brian [Tue, 25 Mar 2008 01:55:11 +0000 (19:55 -0600)]
fix wrong values for GL_READ/DRAW_FRAMEBUFFER_BINDING_EXT tokens
Alex Deucher [Mon, 24 Mar 2008 18:49:43 +0000 (14:49 -0400)]
R300: fix typo r300 fog reg
Noticed by pzad on IRC
Oliver McFadden [Mon, 24 Mar 2008 12:46:56 +0000 (12:46 +0000)]
r300: Merged the constant zero/one source macros.
Oliver McFadden [Mon, 24 Mar 2008 12:46:40 +0000 (12:46 +0000)]
r300: Merged the Vector and Math Engine opcode macros.
Eric Anholt [Sat, 22 Mar 2008 18:03:16 +0000 (11:03 -0700)]
autoconf: Add a workaround for second AC_PROG_PATH not overwriting results.
Brian [Sat, 22 Mar 2008 16:27:03 +0000 (10:27 -0600)]
use ctx->Driver.DeleteProgram() in a few more places
Brian [Sat, 22 Mar 2008 15:11:43 +0000 (09:11 -0600)]
delete default programs with ctx->Driver.DeleteProgram()
Dave Airlie [Sat, 22 Mar 2008 01:00:25 +0000 (11:00 +1000)]
r500: fixup fake shader to keep gears going
Dave Airlie [Sat, 22 Mar 2008 00:56:48 +0000 (10:56 +1000)]
r500: enable gb tiling for r5xx
Dave Airlie [Sat, 22 Mar 2008 00:55:32 +0000 (10:55 +1000)]
r500: fixup support for emitting fragment program to hardware.
Also fixup the constant emission
this breaks glxgears from what I can see but its another step to correctness
Michal Wajdeczko [Fri, 21 Mar 2008 21:18:26 +0000 (14:18 -0700)]
[965] Avoid emitting dead code for DPx/math instructions.
The pass1 optimization stage clears out writemasks and registers, but the
instructions themselves are still being processed at this stage, and could
have resulted in them still being emitted.
Michal Wajdeczko [Fri, 21 Mar 2008 20:48:12 +0000 (13:48 -0700)]
[965] Improve pinterp performance by delaying reads of just-written regs.
Michal Wajdeczko [Fri, 21 Mar 2008 20:43:44 +0000 (13:43 -0700)]
[965] Fix negating of unsigned value in emit_wpos_xy.
Michal Wajdeczko [Fri, 21 Mar 2008 20:41:12 +0000 (13:41 -0700)]
[965] Add MVP code for position invariant vertex programs.
This fixes the arbvptorus demo.
Michal Wajdeczko [Fri, 21 Mar 2008 20:11:07 +0000 (13:11 -0700)]
[win32] Use native aligned memory allocation functions.
Michal Wajdeczko [Fri, 21 Mar 2008 20:05:42 +0000 (13:05 -0700)]
[965] Shuffle state flags to match the order we initialize them in.
Michal Wajdeczko [Fri, 21 Mar 2008 00:38:12 +0000 (17:38 -0700)]
intel: Use _mesa_ffs wrapper, and fix a use-after-free with INTEL_DEBUG=buf.
Eric Anholt [Fri, 21 Mar 2008 00:28:58 +0000 (17:28 -0700)]
autoconf: automatically detect if -ldl is required.
This logic was copied from the xserver.
Eric Anholt [Fri, 21 Mar 2008 00:19:07 +0000 (17:19 -0700)]
Fix xdemos build on FreeBSD: <sys/types.h> before <netinet/tcp.h>
Eric Anholt [Fri, 21 Mar 2008 00:14:20 +0000 (17:14 -0700)]
Fix autoconf build on FreeBSD: detect gmake, and put -D*_SOURCE under linux.
Brian [Fri, 21 Mar 2008 20:19:28 +0000 (14:19 -0600)]
Refactor PBO validate/map code.
We always need to do PBO validation, so do that in core Mesa before calling driver routine.
Brian [Fri, 21 Mar 2008 19:42:36 +0000 (13:42 -0600)]
include varray.h to silence warning
Brian [Fri, 21 Mar 2008 19:41:00 +0000 (13:41 -0600)]
add a number of PBO validate/map/unmap functions
Helper functions for (some) drivers, including swrast.
Brian [Fri, 21 Mar 2008 18:31:21 +0000 (12:31 -0600)]
Fix some PBO breakage.
In _mesa_Bitmap, can't early return if bitmap ptr is NULL, it may be an offset
into a PBO. Similarly for _mesa_GetTexImage.
Zou Nan hai [Fri, 21 Mar 2008 10:16:11 +0000 (18:16 +0800)]
[i965] multiple rendering target fix
Dave Airlie [Fri, 21 Mar 2008 07:05:29 +0000 (17:05 +1000)]
r500: setup fragment program constant emission atom
Zou Nan hai [Thu, 20 Mar 2008 09:47:02 +0000 (17:47 +0800)]
[i915] GL_DEPTH_TEXTURE_MODE fix
Dave Airlie [Thu, 20 Mar 2008 04:34:04 +0000 (14:34 +1000)]
r300: add rv530 pci id for the t60p laptop
Dave Airlie [Thu, 20 Mar 2008 04:30:59 +0000 (14:30 +1000)]
r300: this code really shouldn't be here.
For R500 just ignore it for now while I do something interesting like
run glxgears.
Dave Airlie [Thu, 20 Mar 2008 04:21:10 +0000 (14:21 +1000)]
mesa: cleanup state emission and rs for r500
trivial clear app now renders
Dave Airlie [Thu, 20 Mar 2008 03:55:56 +0000 (13:55 +1000)]
r500 RS unit setup