Michel Dänzer [Sun, 25 Nov 2007 13:20:36 +0000 (14:20 +0100)]
libGL: Make sure a valid value is returned for GLX_BIND_TO_MIPMAP_TEXTURE_EXT.
If the server didn't send a value, assume it's not supported.
A more generic solution might be better for this kind of problem, but an
attempt for this failed (see https://bugs.freedesktop.org/show_bug.cgi?id=9264)
and this allows compiz to work with drivers that support
GL_EXT_framebuffer_object.
Michel Dänzer [Sun, 25 Nov 2007 13:17:02 +0000 (14:17 +0100)]
intel: Fix relative symlinks.
Brian [Fri, 23 Nov 2007 23:19:25 +0000 (16:19 -0700)]
better test of point attenuation
Brian [Fri, 23 Nov 2007 21:35:46 +0000 (14:35 -0700)]
#define GL_GLEXT_PROTOTYPES to silence warning
Brian [Fri, 23 Nov 2007 19:01:57 +0000 (12:01 -0700)]
Consolidate texture fetch code and use partial derivatives when possible.
Brian [Fri, 23 Nov 2007 17:25:48 +0000 (10:25 -0700)]
Fix parsing of gl_FrontLightModelProduct.sceneColor, don't segfault on variable array indexes.
Brian [Fri, 23 Nov 2007 16:14:39 +0000 (09:14 -0700)]
need to check border width in sample_linear_2d() - fixes failed assertion in texwrap.c test
Brian [Thu, 22 Nov 2007 16:31:16 +0000 (09:31 -0700)]
Consolidate point size computation, clamping in get_size().
Also, apply user-defined clamp limits to point size even when not using
attentuation or program-computed size.
Brian [Thu, 22 Nov 2007 16:29:38 +0000 (09:29 -0700)]
Print point/line size range limits
Roland Scheidegger [Thu, 22 Nov 2007 01:49:11 +0000 (02:49 +0100)]
fix z buffer read/write issue with rv100-like chips and old ddx
Eric Anholt [Mon, 5 Nov 2007 22:55:52 +0000 (14:55 -0800)]
[965] Replace 965 texture format code with common code.
The only functional difference should be that 965 now gets the optimization
where textures default to 16bpp when the screen is 16bpp.
Eric Anholt [Fri, 9 Nov 2007 19:45:25 +0000 (11:45 -0800)]
[965] Remove dead exec vfmt code which was replaced by generic vbo code.
Brian [Mon, 19 Nov 2007 20:05:00 +0000 (13:05 -0700)]
clamp lambda to Min/MaxLod
Eric Anholt [Mon, 19 Nov 2007 22:37:14 +0000 (14:37 -0800)]
[965] Add INTEL_DEBUG=fall debugging output.
Eric Anholt [Mon, 19 Nov 2007 23:26:14 +0000 (15:26 -0800)]
[965] Convert DBG macro to use FILE_DEBUG_FLAG like i915.
Brian [Mon, 19 Nov 2007 17:37:54 +0000 (10:37 -0700)]
fix some texture format assertions, etc
Brian [Mon, 19 Nov 2007 16:55:17 +0000 (09:55 -0700)]
fix out-of-bounds array index (ix=-1)
Eric Anholt [Sat, 17 Nov 2007 00:43:45 +0000 (16:43 -0800)]
[intel] Add 965 support to shared intel_blit.c
This requires that regions grow a marker of whether they are tiled or not,
because fence (surface) registers are ignored by the 965 2D engine.
Eric Anholt [Sat, 17 Nov 2007 00:14:42 +0000 (16:14 -0800)]
[i915] Pass static region names in so debugging says more than "static region".
Eric Anholt [Sat, 17 Nov 2007 00:05:11 +0000 (16:05 -0800)]
[intel] Move additional code to be shared from intel_context.h to intel/.
Eric Anholt [Fri, 16 Nov 2007 23:51:34 +0000 (15:51 -0800)]
[intel] Move intel_tex.h into place, forgotten in the previous commit.
Eric Anholt [Thu, 25 Oct 2007 22:37:13 +0000 (15:37 -0700)]
[965] Add batchbuffer decode for several more packets.
Eric Anholt [Fri, 16 Nov 2007 23:01:48 +0000 (15:01 -0800)]
[intel] Fix typos in intel_chipset.h macros.
Eric Anholt [Fri, 16 Nov 2007 22:56:26 +0000 (14:56 -0800)]
[i915] Add INTEL_DEBUG=sync debug flag to wait for fences after making them.
Eric Anholt [Thu, 25 Oct 2007 18:31:15 +0000 (11:31 -0700)]
[i915] Reenable batchbuffer debug under INTEL_DEBUG=bat.
Eric Anholt [Thu, 15 Nov 2007 22:00:17 +0000 (14:00 -0800)]
[intel] Add some doxygen notes on what the bufmgr_fake block members mean.
Eric Anholt [Fri, 16 Nov 2007 22:45:26 +0000 (14:45 -0800)]
[intel] Add a simple relocation cache to the fake buffer manager.
This is required for 965 performance, as it avoids a lot of repeated data
uploads of the state caches due to surface offsets in them.
Eric Anholt [Fri, 16 Nov 2007 22:38:09 +0000 (14:38 -0800)]
[intel] Assert against 0-sized buffers in dri_bufmgr_fake.c.
They shouldn't be created, and this often helps catch stupid issues.
Eric Anholt [Fri, 16 Nov 2007 22:20:24 +0000 (14:20 -0800)]
[intel] Add support for multiple levels of relocation in bufmgr_fake.
This is required for 965 support, which has relocations in other places than
just the batchbuffer.
Eric Anholt [Sat, 10 Nov 2007 00:43:21 +0000 (16:43 -0800)]
[i915] Push locking in intelClearWithTris down inside meta_draw_poly.
The lock coverage and checks for cliprects were unneeded since the batchbuffer
will have INTEL_BATCH_CLIPRECTS anyway. It appeared to be a leftover from
intelClearWithBlit.
This makes the locking requirements of i915 meta_draw_quad match i965
meta_draw_quad.
Brian [Fri, 16 Nov 2007 22:18:30 +0000 (15:18 -0700)]
added z/s keys to reset/step rotation
Brian [Fri, 16 Nov 2007 22:17:37 +0000 (15:17 -0700)]
Only emit texcoords for enabled units. Enable/disable units with 0..7 keys.
Also, asst. clean-ups.
Roland Scheidegger [Thu, 15 Nov 2007 00:13:16 +0000 (01:13 +0100)]
fix bogus assumption if ddx has set up surface reg for z buffer
this is wrong since even if ddx has not set up a surface reg to cover the z
buffer we should pretend it has on those rv100 chips since they presumably do
not do z buffer tiling if not using hyperz, so we can use linear addressing
just the same. Doesn't seem to fix #13080, but it's wrong anyway and the bug
almost certainly broke newer non-tcl chips.
Roland Scheidegger [Wed, 14 Nov 2007 23:52:38 +0000 (00:52 +0100)]
fix position invariant vertex programs for sw-tnl
do the same math as for fixed function pipe, including
user clip planes.
(mostly resurrected from the dead t_vb_arbprogram.c code)
Brian [Mon, 12 Nov 2007 15:02:09 +0000 (08:02 -0700)]
remove dependency on libGLU
Brian [Mon, 12 Nov 2007 14:51:28 +0000 (07:51 -0700)]
add glw.pc.in to tarball list, remove from DEPEND_FILES
Xiang, Haihao [Mon, 12 Nov 2007 02:20:26 +0000 (10:20 +0800)]
i965: correct the opcode of XY_SETUP_BLT_CMD. fix bug #12730
Brian [Sat, 10 Nov 2007 00:02:12 +0000 (17:02 -0700)]
test that point/line/quad rendering hits the right pixels
Eric Anholt [Fri, 9 Nov 2007 23:05:56 +0000 (15:05 -0800)]
[i915] Remove old frontbuffer rotation hack.
This was replaced in previous releases of xserver/dri/libGL by reporting the
damage to the frontbuffer so that the server and driver could handle it
appropriately.
Eric Anholt [Wed, 7 Nov 2007 00:07:10 +0000 (16:07 -0800)]
[intel] By default, output batchbuffer decode to stderr like other debug info.
Eric Anholt [Thu, 8 Nov 2007 22:49:37 +0000 (14:49 -0800)]
[intel] Initialize a depth buffer if the visual has depth 24 but no stencil.
Eric Anholt [Wed, 7 Nov 2007 18:04:59 +0000 (10:04 -0800)]
[intel] Move over files that will be shared with 965-fbo work.
Brian [Fri, 9 Nov 2007 15:55:49 +0000 (08:55 -0700)]
check for texture and renderbuffer in check_end_texture_render()
Benno Schulenberg [Fri, 9 Nov 2007 15:54:21 +0000 (08:54 -0700)]
code clean-ups, reformatting
Benno Schulenberg [Fri, 9 Nov 2007 15:54:16 +0000 (08:54 -0700)]
remove commented-out code
Roland Scheidegger [Fri, 9 Nov 2007 13:49:01 +0000 (14:49 +0100)]
recreate from changed gl_API.xml
Roland Scheidegger [Fri, 9 Nov 2007 13:46:59 +0000 (14:46 +0100)]
alias ProgramEnvParameter4xyARB and ProgramParameter4xyNV (bug #12935)
these should be the same functions (as per spec).
Ian Romanick [Fri, 9 Nov 2007 01:45:34 +0000 (17:45 -0800)]
Prevent loss of vectorequiv information when an alias follows the function being aliased.
Benno Schulenberg [Thu, 8 Nov 2007 14:34:20 +0000 (07:34 -0700)]
fix Unichrome/Blender crash, bug 13142
Kristian Høgsberg [Tue, 6 Nov 2007 19:34:15 +0000 (14:34 -0500)]
Fix compilation for !GLX_DIRECT_RENDERING.
Kristian Høgsberg [Tue, 6 Nov 2007 18:32:04 +0000 (13:32 -0500)]
Remove a couple of "deprecated" fields from __GLXcontextRec.
The __GLXcontextRec struct is internal to the libGL implementation. No point
in "deprecating", just get rid of it.
Kristian Høgsberg [Tue, 6 Nov 2007 16:56:24 +0000 (11:56 -0500)]
Don't return 0 in a void function.
Michel Dänzer [Tue, 6 Nov 2007 17:24:46 +0000 (18:24 +0100)]
r200: Re-expose SetTexOffset functionality.
This seems to have been mismerged with the DRI interface changes.
Michel Dänzer [Tue, 6 Nov 2007 17:22:42 +0000 (18:22 +0100)]
r200: Fix SetTexOffset format for 16 bit pixmaps/textures.
Use symbolic array indices to clarify.
Kristian Høgsberg [Tue, 6 Nov 2007 16:22:59 +0000 (11:22 -0500)]
Pass the visual id to XF86DRICreateContextWithConfig(), not fbconfig id.
Oliver McFadden [Mon, 5 Nov 2007 22:05:16 +0000 (22:05 +0000)]
Renamed the R300_VAP_UNKNOWN_221C to R300_VAP_CLIP_CNTL.
Dave Airlie [Sun, 4 Nov 2007 04:02:55 +0000 (15:02 +1100)]
r300: initial user clipping for TCL paths
I've no idea if this code might break something or how it should interact
with vertex shaders, it makes the clip demo work for me
Kristian Høgsberg [Mon, 5 Nov 2007 22:02:03 +0000 (17:02 -0500)]
Lookup visual in visual list, not fbconfig list.
Also, handle visual not found error case by throwing X error.
Kristian Høgsberg [Mon, 5 Nov 2007 20:42:55 +0000 (15:42 -0500)]
Filter both visuals and fbconfigs against driver supported configs.
Brian [Mon, 5 Nov 2007 21:41:18 +0000 (14:41 -0700)]
Check for NULL VB->EdgeFlag array.
There might be a bug elsewhere, but this is a simple work-around for now.
See bug 12614
Brian [Mon, 5 Nov 2007 21:38:27 +0000 (14:38 -0700)]
fix mmx code (bug 12614)
Michel Dänzer [Mon, 5 Nov 2007 09:03:26 +0000 (10:03 +0100)]
Fix GLX build of xserver master branch.
The internal CreatePixmap API has been extended.
Brian [Sat, 3 Nov 2007 14:50:55 +0000 (08:50 -0600)]
Fix mem leak in SSE code generation path (Michel Dänzer) and don't crash if _mesa_exec_malloc() returns NULL.
(picked from mesa_7_0_branch)
Brian [Sat, 3 Nov 2007 14:46:59 +0000 (08:46 -0600)]
fix typo
Dave Airlie [Sat, 3 Nov 2007 08:35:39 +0000 (19:35 +1100)]
r300: move more vap registers out of non tcl paths
Dave Airlie [Sat, 3 Nov 2007 08:20:22 +0000 (19:20 +1100)]
r300: fix misnumber register
Dave Airlie [Sat, 3 Nov 2007 07:58:46 +0000 (18:58 +1100)]
r300: fix texwrap border color
Brian [Thu, 1 Nov 2007 14:00:45 +0000 (08:00 -0600)]
remove dead code in _mesa_new_program()
Dan Nicholson [Thu, 1 Nov 2007 13:01:53 +0000 (06:01 -0700)]
Add -fno-strict-aliasing workaround for all GCC targets
Use a GCC option to work around aliasing bugs. See commit
013dbcd for
more details.
Dave Airlie [Thu, 1 Nov 2007 08:19:45 +0000 (19:19 +1100)]
nouveau: ppc, swap fragment programs on big endian systems.
Thanks to the PS3 RSX project for figuring this out.
Dave Airlie [Wed, 31 Oct 2007 23:41:27 +0000 (10:41 +1100)]
i915: make i915 use the cached mappings for batch/buffer objects.
This should restore gears speed on 9xx hardware
Dan Nicholson [Wed, 31 Oct 2007 23:18:29 +0000 (16:18 -0700)]
configs: Set -fexceptions for GLUT on linux-dri like other targets
Quite a while ago, the GCC option -fexceptions was added for building
libglut. See here:
http://article.gmane.org/gmane.comp.video.mesa3d.devel/9499
This was missing in the linux-dri targets.
Dan Nicholson [Wed, 24 Oct 2007 01:17:16 +0000 (18:17 -0700)]
confdiff.sh: A testing script for comparing configs settings
This is a simple script that compares the make variables set by two
different configs stubs. The purpose is to highlight differences so
that any unnecessary duplication or divergence can be removed.
For example, on Linux x86:
$ ./bin/confdiff.sh linux linux-x86
The output isn't very clean, but it should highlight that the only
difference is that the x86 target uses x86 assembler sources.
The script uses bash, mktemp, make, sed and diff. It is probably not
very portable and might only work on GNU make.
Dan Nicholson [Wed, 31 Oct 2007 17:33:20 +0000 (10:33 -0700)]
configs: Always use -fPIC for shared libraries, never for static
Mesa currently disables -fPIC for DRI on x86, but most Linux distros are
re-enabling -fPIC for all DRI arches. Let's just do that here since
that's normally what's wanted for shared libraries. Some justification:
http://bugs.gentoo.org/show_bug.cgi?id=110840#c9
On the other hand, position-independent code is only necessary when
building shared libraries, so disable it for the static cases.
Dan Nicholson [Wed, 31 Oct 2007 16:47:39 +0000 (09:47 -0700)]
Add -fno-strict-aliasing workaround for Linux GCC targets
Most Linux distros work around aliasing problems in Mesa by compiling
with the GCC option -fno-strict-aliasing. Two examples:
https://bugs.freedesktop.org/show_bug.cgi?id=6046
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=394311
This makes -fno-strict-aliasing the default with a comment that
developers should consider commenting it out. There is a already a note
about these bugs in docs/helpwanted.html.
Brian [Wed, 31 Oct 2007 15:57:07 +0000 (09:57 -0600)]
GLSL support in i965 driver
Brian [Wed, 31 Oct 2007 15:44:01 +0000 (09:44 -0600)]
updated list
Brian [Wed, 31 Oct 2007 15:38:51 +0000 (09:38 -0600)]
check for count==0 in _mesa_validate_DrawArrays()
Michel Dänzer [Tue, 30 Oct 2007 16:47:17 +0000 (17:47 +0100)]
Fix some build warnings, mostly with XCB.
Brian [Tue, 30 Oct 2007 16:24:34 +0000 (10:24 -0600)]
Alias glStencilOpSeparateATI with glStencilOpSeparate.
Brian [Tue, 30 Oct 2007 16:23:58 +0000 (10:23 -0600)]
test glStencilFuncSeparateATI()
Brian [Tue, 30 Oct 2007 15:13:58 +0000 (09:13 -0600)]
Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
Roland Scheidegger [Tue, 30 Oct 2007 13:09:17 +0000 (14:09 +0100)]
add missing _mesa_StencilFuncSeparateATI function
Michel Dänzer [Tue, 30 Oct 2007 12:16:50 +0000 (13:16 +0100)]
More vblank cleanups.
* Fix crash at context creation in most drivers supporting vblank.
* Don't pass vblank sequence or flags to functions that get passed the drawable
private already.
* Attempt to initialize vblank related drawable private fields just once
per drawable. May need more work in some drivers.
Eric Anholt [Mon, 29 Oct 2007 18:56:50 +0000 (11:56 -0700)]
[i915] Include header to pick up intel_ttm_bo_create_from_handle() proto.
Eric Anholt [Mon, 29 Oct 2007 20:24:27 +0000 (13:24 -0700)]
Merge branch 'origin'
Jesse Barnes [Mon, 29 Oct 2007 19:06:36 +0000 (12:06 -0700)]
Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa
Jesse Barnes [Mon, 29 Oct 2007 18:56:31 +0000 (11:56 -0700)]
Refactor and fix core vblank support
Consolidate support for synchronizing to and retrieving vblank counters. Also
fix the core vblank code to return monotonic MSC counters, which are required
by some GLX extensions. Adding support for multiple pipes to a low level
driver is fairly easy, the Intel 965 driver provides simple example code (see
intel_buffers.c:intelWindowMoved()).
The new code bumps the media stream counter extension version to 2 and adds a
new getDrawableMSC callback. This callback takes a drawablePrivate pointer,
which is used to calculate the MSC value seen by clients based on the actual
vblank counter(s) returned from the kernel. The new drawable private fields
are as follows:
- vblSeq - used for tracking vblank counts for buffer swapping
- vblFlags - flags (e.g. current pipe), updated by low level driver
- msc_base - MSC counter from the last time the current pipe changed
- vblank_base - kernel DRM vblank counter from the last time the pipe changed
Using the above variables, the core vblank code (in vblank.c) can calculate a
monotonic MSC value. The low level DRI drivers are responsible for updating
the current pipe (by setting VBLANK_FLAG_SECONDARY for example in vblFlags)
along with msc_base and vblank_base whenever the pipe associated with a given
drawable changes (again, see intelWindowMoved for an example of this).
Drivers should fill in the GetDrawableMSC DriverAPIRec field to point to
driDrawableGetMSC32 and add code for pipe switching as outlined above to fully
support the new scheme.
Dan Nicholson [Mon, 29 Oct 2007 18:21:37 +0000 (11:21 -0700)]
Build xdemos programs by default on linux-dri
Since libglut is no longer hardcoded, we can build the xdemos programs
so long as a GLX enabled libGL and libGLU have been built.
Chris Rankin [Mon, 29 Oct 2007 18:37:32 +0000 (14:37 -0400)]
Remember to call XSync() before resetting X error handler.
Dan Nicholson [Mon, 29 Oct 2007 18:17:04 +0000 (11:17 -0700)]
linux-dri-xcb: Fix undefined refs when linking with libGL
GL_LIB_DEPS was missing -lXdamage and -lXfixes, which was causing
linker errors when trying to build the programs.
Brian [Mon, 29 Oct 2007 16:01:15 +0000 (10:01 -0600)]
disable ctx->Driver.NewProgram() call in _mesa_new_program()
This was causing infinite recursive calls w/ software drivers.
All vertex/fragment shaders should be allocated by calling
ctx->Driver.NewProgram(), not by calling _mesa_new_program().
Dan Nicholson [Mon, 29 Oct 2007 15:05:13 +0000 (09:05 -0600)]
update APP_LIB_DEPS for static library configs (patch 3/3)
Dan Nicholson [Mon, 29 Oct 2007 15:04:30 +0000 (09:04 -0600)]
simplify APP_LIB_DEPS (patch 2/3)
Dan Nicholson [Mon, 29 Oct 2007 15:03:01 +0000 (09:03 -0600)]
specify app lib dependencies in Makefiles (patch 1/3)
Alan Hourihane [Sun, 28 Oct 2007 20:07:37 +0000 (20:07 +0000)]
Only set R_MODE with NV_point_sprite
Dan Nicholson [Fri, 26 Oct 2007 22:43:44 +0000 (15:43 -0700)]
configs: Fix linux-static to link correctly
The linux-static target was missing necessary libraries and hardcoding
their location to /usr/X11R6/lib. This makes it comparable to the x86
and x86-64 static targets.
Zou Nan hai [Fri, 26 Oct 2007 07:39:50 +0000 (15:39 +0800)]
Merge branch '965-glsl'
Conflicts:
src/mesa/drivers/dri/i965/brw_sf.h
src/mesa/drivers/dri/i965/intel_context.c
Brian [Thu, 25 Oct 2007 20:46:35 +0000 (14:46 -0600)]
use grep -q
Dan Nicholson [Thu, 25 Oct 2007 18:34:16 +0000 (11:34 -0700)]
Ignore new programs