Commit Graph

11476 Commits

Author SHA1 Message Date
Dan Nicholson 01b18abf93 Add -fno-strict-aliasing workaround for all GCC targets
Use a GCC option to work around aliasing bugs. See commit 013dbcd for
more details.
2007-11-01 06:03:31 -07:00
Dave Airlie ee793281b2 nouveau: ppc, swap fragment programs on big endian systems.
Thanks to the PS3 RSX project for figuring this out.
2007-11-01 19:19:45 +11:00
Dave Airlie 1b880c7e3c i915: make i915 use the cached mappings for batch/buffer objects.
This should restore gears speed on 9xx hardware
2007-11-01 10:41:39 +11:00
Dan Nicholson dbcd20f1c2 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.
2007-10-31 16:18:29 -07:00
Dan Nicholson d7eb97bbc3 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.
2007-10-31 14:59:13 -07:00
Dan Nicholson c3b5adaa9a 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.
2007-10-31 14:19:20 -07:00
Dan Nicholson 013dbcd611 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.
2007-10-31 09:47:39 -07:00
Brian 2bdd467dfd GLSL support in i965 driver 2007-10-31 09:57:47 -06:00
Brian 7f80dc1ebe updated list 2007-10-31 09:57:47 -06:00
Brian 5cb203433a check for count==0 in _mesa_validate_DrawArrays() 2007-10-31 09:57:47 -06:00
Michel Dänzer d2f19a554a Fix some build warnings, mostly with XCB. 2007-10-30 17:58:50 +01:00
Brian a7f64635a6 Alias glStencilOpSeparateATI with glStencilOpSeparate. 2007-10-30 10:24:34 -06:00
Brian 8b8a970593 test glStencilFuncSeparateATI() 2007-10-30 10:23:58 -06:00
Brian f70ca96ba9 Finish up ATI_separate_stencil
Add entrypoints to glapi XML file and regenerate files.
Implement glStencilOpSeparateATI().
Consolidate some code in stencil.c
2007-10-30 09:13:58 -06:00
Roland Scheidegger 4c53635aab add missing _mesa_StencilFuncSeparateATI function 2007-10-30 14:09:17 +01:00
Michel Dänzer 3177b4e2cf 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.
2007-10-30 13:16:50 +01:00
Eric Anholt dc1264970e [i915] Include header to pick up intel_ttm_bo_create_from_handle() proto. 2007-10-29 13:24:29 -07:00
Eric Anholt b0edb9c38a Merge branch 'origin' 2007-10-29 13:24:27 -07:00
Jesse Barnes ad8ee7db3b Merge branch 'master' of ssh://git.freedesktop.org/git/mesa/mesa 2007-10-29 12:06:36 -07:00
Jesse Barnes 38fdb47d26 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.
2007-10-29 12:06:00 -07:00
Dan Nicholson 06ca14543e 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.
2007-10-29 11:43:20 -07:00
Chris Rankin 1421bffb18 Remember to call XSync() before resetting X error handler. 2007-10-29 14:37:32 -04:00
Dan Nicholson 3b9e28d507 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.
2007-10-29 11:17:04 -07:00
Brian 40133487db 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().
2007-10-29 10:01:15 -06:00
Dan Nicholson 162914675a update APP_LIB_DEPS for static library configs (patch 3/3) 2007-10-29 09:05:13 -06:00
Dan Nicholson 9ef1d9f03a simplify APP_LIB_DEPS (patch 2/3) 2007-10-29 09:04:30 -06:00
Dan Nicholson c05aa5ec4c specify app lib dependencies in Makefiles (patch 1/3) 2007-10-29 09:03:01 -06:00
Alan Hourihane b59dbd822f Only set R_MODE with NV_point_sprite 2007-10-28 20:07:37 +00:00
Dan Nicholson 9514209593 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.
2007-10-26 15:46:37 -07:00
Zou Nan hai 6ef27b88e6 Merge branch '965-glsl'
Conflicts:

	src/mesa/drivers/dri/i965/brw_sf.h
	src/mesa/drivers/dri/i965/intel_context.c
2007-10-26 15:39:50 +08:00
Brian ff042bfdee use grep -q 2007-10-25 14:47:14 -06:00
Dan Nicholson 8578534f48 Ignore new programs 2007-10-25 11:34:16 -07:00
Brian 6dcf65ff0d simplify/fix the ASM_FLAGS tests (bug 12931) 2007-10-25 11:10:10 -06:00
Alex Neundorf cae5b7f1e3 added catamount-osmesa-pgi config 2007-10-24 16:31:22 -06:00
Brian 26479fa3b3 don't build x86, x86-64 dirs if not needed 2007-10-24 16:24:06 -06:00
Brian 55d4f32fc2 fix assorted bugs, works now 2007-10-24 13:55:22 -06:00
Brian 5e9272c748 add to git 2007-10-24 12:43:02 -06:00
Brian e48f0b09ab Implement gl_PointCoord attribute for GLSL fragment shaders.
Contains the normalized fragment position within a point sprite.
2007-10-24 11:37:05 -06:00
Brian c9d495c6f0 properly init dst reg's CondMask/Swizzle fields 2007-10-23 10:55:24 -06:00
Brian 2a8e9bb00f bump up MAX_INSTRUCTIONS and add an assertion to catch emitting too many instructions 2007-10-23 10:24:53 -06:00
Brian e90dd4bf8f add directfb glut sources to tarball 2007-10-23 08:22:21 -06:00
Brian 2667e5642f don't apply ColorMask to main gc 2007-10-22 17:50:59 -06:00
Kristian Høgsberg a074857cdc glxinfo: Try creating a GLX context using an fbconfig if no visuals are available. 2007-10-18 15:19:38 -04:00
Michel Dänzer 950fff0f9a i915: Add some sanity checks to blit command debugging code. 2007-10-18 18:30:15 +02:00
Ian Romanick a663e846b6 Framework for supporting z24_s8 and z32 depth textures on r300. 2007-10-17 16:25:39 -07:00
Ian Romanick 42a4386a4c Initial support for ARB_depth_texture
Currently only GL_DEPTH_COMPONENT16 are supported.  I don't know what the
hardware bits are to select the other formats, but it shouldn't be too hard
to figure out.
2007-10-17 16:25:39 -07:00
Ian Romanick b961eccc92 Support cards that have ARB_fp but not ARB_shadow. 2007-10-17 16:25:39 -07:00
Ian Romanick 374158b044 mga: Enable (trivial) support for GL_APPLE_vertex_array_object, bump DRIVER_DATE 2007-10-17 16:25:39 -07:00
Ian Romanick 366b2c6902 mga: Enable (trivial) support for GL_EXT_gpu_program_parameters. 2007-10-17 16:25:38 -07:00
Kristian Høgsberg aad5c0fdc7 pbutil: Do not require GLX_SGIX_pbuffer for fbconfig only-functions. 2007-10-17 17:04:59 -04:00