Commit Graph

730 Commits

Author SHA1 Message Date
Kristian Høgsberg 79cbcb663d dri_interface.h: Add DRI image and eglImageLookup extensions
These are used for implementing the various EGLImage extensions.
2010-02-24 14:28:41 -05:00
Kristian Høgsberg caa46f7538 glapi: Add GL_OES_EGL_image 2010-02-24 13:38:55 -05:00
Francisco Jerez 61d26bc82e dri2: Event driven buffer validation.
When a buffer invalidation event is received from the X server, the
"invalidate" hook of the DRI2 flush extension is executed: A generic
implementation (dri2InvalidateDrawable) is provided that just bumps
the "pStamp" sequence number in __DRIdrawableRec.

For old servers not supporting buffer invalidation events, the
invalidate hook will be called before flushing the fake front/back
buffer (that's typically once per frame -- not a lot worse than the
situation we were in before).

No effort has been made on preserving backwards compatibility with
version 2 of the flush extension, but I think it's acceptable because
AFAIK no released stack is making use of it.

Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2010-02-16 10:38:50 -05:00
Kristian Høgsberg debf00e5fc dri_interface: Introduce DRI tokens for the texBuffer texture formats
This used to take GLX tokens, but the DRI interface can't depend on GLX
defines.  We fix this by introducing DRI tokens that have the same value
as the GLX texture format tokens.
2010-02-09 15:55:25 -05:00
Alan Coopersmith 8a985a988b eglplatform.h: recognize __unix as well for Solaris & other SVR4 platforms
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2010-02-05 19:38:16 -08:00
Robert Bragg 7a9329ba99 mesa: misc GLX_INTEL_swap_event fixes
Fixup a few issues found through testing:
  - update GLX names to match glproto
  - register DRI2WireToEvent so it actually gets called

Signed-off-by: Robert Bragg <robert@linux.intel.com>
2010-01-25 15:40:56 -08:00
Chia-I Wu 95f8f75ad8 egl: Update headers.
Update to the current versions found at
http://www.khronos.org/registry/egl/.  There is one modification in
khrplatform.h for GCC visibility.
2010-01-25 11:28:27 +08:00
Alan Coopersmith a7aaf052f9 Sun compilers now support some gcc __attribute__ values
Sun cc 5.9 and later (__SUNPRO_C >= 0x590) support __attribute__ calls
for aligned, always_inline, noinline, pure, const, and malloc.

This commit includes updates to files that were regenerated by gl_XML.py
after adding the __SUNPRO_C checks to it

Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
Signed-off-by: Brian Paul <brianp@vmware.com>
2010-01-19 10:15:55 -08:00
Jesse Barnes c6ef705e41 Merge branch 'master' of ssh://people.freedesktop.org/~jbarnes/mesa
Conflicts due to DRI1 removal:
	src/mesa/drivers/dri/intel/intel_context.c
	src/mesa/drivers/dri/intel/intel_screen.c
2010-01-11 15:23:29 -05:00
Chia-I Wu 5ec99c04a9 st/vega: Fix breakage from -fvisibility=hidden.
Mark VG and VGU functions as public.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-11 10:04:28 -05:00
José Fonseca dc6bcc92ee gallium: Provide alternative stdint.h and stdbool.h C99 headers, instead of ad-hoc definitions.
Everybody is using the C99's integer types. Everybody except Microsoft,
which in turns means everybody is including their own definitions of C99
integer types for MSVC, causing duplicate definitions when linking two
projects. This is the case of building Gallium and LLVM with MSVC.

Shipping alternative stdint.h and stdbool.h headers for MSVC allows us
to share a single definition. It also removes clutter from the Gallium
headers.
2010-01-10 10:39:29 +00:00
Jesse Barnes 7f170573ea DRI2/GLX: add INTEL_swap_event support
Add event support for the GLX swap buffers event, along with DRI2 protocol
support for generating GLX swap buffers events in the direct rendered case.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-08 12:37:43 -05:00
Jesse Barnes a35f6bb207 DRI2: add SwapBuffers support
Support the new DRI2 protocol request, DRI2SwapBuffers, in both direct
and indirect rendering context.  This request allows the display server
to optimize back->front swaps (e.g. through page flipping) and allows us
to more easily support other GLX features like swap interval and the OML
sync extension in DRI2.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
2010-01-08 12:29:50 -05:00
José Fonseca aaf7ecfd81 glew: Update to version 1.5.2. 2010-01-06 12:23:37 +00:00
Chia-I Wu 897cb8950a egl: Fix breakage from -fvisibility=hidden.
Mark EGL API and driver functions as PUBLIC.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
2010-01-05 11:23:52 -05:00
José Fonseca 33f44b93d2 mesa: Avoid WIN32_LEAN_AND_MEAN re-definition. 2010-01-01 12:16:18 +00:00
José Fonseca 700a2ebbf1 glut: Silent the glut*_ATEXIT_HACK defined but not used warnings.
There are two ways to silent this: put inline keyword, or reimplement the
hack as a #define. inline keyword actually varies slightly with compiler
so I've opted by the latter.
2010-01-01 11:00:58 +00:00
Tom Fogal f42c861f02 Regenerate gl_mangle.h.
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-12-23 11:38:14 -07:00
Tom Fogal 7593bcb6ec gl: added mangled glXGetProcAddressARB define
Signed-off-by: Brian Paul <brianp@vmware.com>
2009-11-19 09:33:32 -07:00
Brian Paul 5c0dc902e7 gl: updated wglext.h to version 17 2009-10-23 14:49:26 -06:00
Brian Paul 559da98c2b gl: updated glxext.h to version 25 2009-10-23 14:49:26 -06:00
Brian Paul 9df9696f6d gl: updated glext.h to version 56 2009-10-23 14:49:20 -06:00
Brian Paul f7fb30f03b mesa: regenerated gl_mangle.h file 2009-10-08 09:19:42 -06:00
Brian Paul 2b992dc327 gl: restore some PFNGL typedefs
Commit d33c315d9e removed a few too many
typedefs.  We need the typedefs in glext.h which are protected by #ifdef
GL_VERSION_1_2 but we can exclude the ones protected by
GL_VERSION_1_2_DEPRECATED.
2009-09-15 09:36:31 -06:00
Brian Paul 0c309bb494 Merge branch 'mesa_7_5_branch' into mesa_7_6_branch
Conflicts:

	Makefile
	configs/default
	progs/glsl/Makefile
	src/gallium/auxiliary/util/u_simple_shaders.c
	src/gallium/state_trackers/glx/xlib/xm_api.c
	src/mesa/drivers/dri/i965/brw_draw_upload.c
	src/mesa/drivers/dri/i965/brw_vs_emit.c
	src/mesa/drivers/dri/intel/intel_context.h
	src/mesa/drivers/dri/intel/intel_pixel.c
	src/mesa/drivers/dri/intel/intel_pixel_read.c
	src/mesa/main/texenvprogram.c
	src/mesa/main/version.h
2009-09-09 08:33:39 -06:00
Brian Paul 18bdb6e712 egl: also use X types for building on Apple/MacOS X
See bug 20413.
2009-09-08 09:20:43 -06:00
Brian Paul 27148ccaba gl: upgrade wglext.h to version 15 2009-08-03 11:24:09 -06:00
Brian Paul 39bf48f281 gl: upgrade glxext.h to version 23 2009-08-03 11:24:09 -06:00
Brian Paul 2d725dac40 gl: upgrade glext.h to version 54 2009-08-03 11:24:09 -06:00
Zack Rusin edb0267170 Merge commit 'origin/openvg-1.0' 2009-07-06 21:43:26 -04:00
Keith Whitwell 1b05b5b4fe glew: correct misspelling of glFramebufferTextureLayer
This was misspelt as glFramebufferTexturLayer (missing e), causing
conflicts with the correctly spelt version in glext.h and extfuncs.h.
2009-06-18 10:13:55 +01:00
Brian Paul a04af335a4 Merge branch 'mesa_7_5_branch'
Conflicts:

	src/mesa/drivers/dri/i915/i915_tex_layout.c
	src/mesa/drivers/dri/i965/brw_wm_glsl.c
	src/mesa/drivers/dri/intel/intel_buffer_objects.c
	src/mesa/drivers/dri/intel/intel_pixel_bitmap.c
	src/mesa/drivers/dri/intel/intel_pixel_draw.c
	src/mesa/main/enums.c
	src/mesa/main/texstate.c
	src/mesa/vbo/vbo_exec_array.c
2009-06-24 08:54:37 -06:00
Brian Paul b0d874bfbe mesa: regenerated gl_mange.h file 2009-06-15 10:47:07 -06:00
Michal Krol 4c034441a8 mesa: Fix wglext.h prototypes. 2009-06-05 15:01:08 +02:00
Brian Paul 81a0ef3f20 mesa: update wglext.h to latest version 2009-06-04 10:30:25 -06:00
Brian Paul d33c315d9e mesa: remove PFNGL typedefs that are in glext.h 2009-06-04 10:29:44 -06:00
Brian Paul 73a48a8af3 mesa: upgrade glext.h to version 52
A number of the PFNGL* function typedefs are now in glext.h and must be
omitted from the gl.h file.  gl.h will be pruned in the next commit.
2009-06-04 10:27:47 -06:00
Zack Rusin 544dd4b11f OpenVG 1.0 State Tracker
Import of the OpenVG 1.0 state tracker for Gallium.
2009-05-01 12:51:59 -04:00
Samuel Thibault d18dd6ad11 GNU/Hurd fixes
Here is a couple of fixes for GNU/Hurd:
- dri_interface.h: no libdrm support either.
- configure.ac:
 - GNU/Hurd is a GNU OS with _GNU_SOURCE and PTHREADS.
 - GNU needs a couple of flags like other OSes

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
2009-04-24 19:10:01 -07:00
Ian Romanick dbf87f2312 DRI2: Implement interface for drivers to access DRI2GetBuffersWithFormat
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-24 12:48:20 -07:00
José Fonseca 46857f3c66 mesa: Don't define WGL_ARB_extensions_string in mesa_wgl.h.
It breaks wglext.h as it doesn't define PFNWGLGETEXTENSIONSSTRINGARBPROC.
2009-04-10 13:26:35 +01:00
Ian Romanick 82634ee8df DRI2: Provide an interface for drivers to flush front-buffer rendering
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-09 14:18:14 -07:00
Roland Scheidegger a9bf5b5cca gl: add new OGL 3.1 enums to glext.h
This is just temporary until the upstream source is updated.
2009-03-28 02:02:35 +01:00
Roland Scheidegger 0d9a715cea gl: update glext.h to version 48 2009-03-28 02:02:28 +01:00
Brian Paul 33fa6a2755 egl: include stdint.h to get the c99 integer typedefs
Fixes breakage from commit 6dd9c22101
2009-03-25 13:02:44 -06:00
Alan Coopersmith 2e2f3b4086 Add Solaris to OS'es using X in eglplatform.h
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-03-25 11:10:03 -07:00
Alan Coopersmith 6dd9c22101 Convert u_int*_t to C99 standard uint*_t
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-03-25 11:07:31 -07:00
Brian Paul 4934ddf5d7 gl: update include/GL/glext.h to version 48 2009-03-25 08:33:10 -06:00
Eric Anholt 66175aac76 Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.
This requires upgrading the interface so that the argument to
glXBindTexImageEXT isn't just dropped on the floor.  Note that this only
fixes the accelerated path on Intel, as Mesa's texture format support is
missing x8r8g8b8 support (right now, GL_RGB textures get uploaded as a8r8gb8,
but in this case we're not doing the upload so we can't really work around it
that way).

Fixes bugs with compositors trying to use shaders that use alpha channels, on
windows without a valid alpha channel.  Bug #19910 and likely others as well.

Reviewed-by:	Ian Romanick <ian.d.romanick@intel.com>
2009-03-20 10:41:28 -07:00
Brian Paul 493b69a0c8 gl: added include/GL/wglext.h 2009-03-05 10:01:28 -07:00
Brian Paul 8d5b8a4615 gl: update glext.h to version 46 2009-03-05 08:25:37 -07:00
Brian Paul 5c18ff2bf8 fix incorrect prototype for glMapBufferRange() in glext.h
Needs to return void *
2009-03-04 20:26:23 -07:00
Benjamin Close 161307f178 egl: Allow compilation to succeed with FreeBSD
Signed-off-by: Benjamin Close <Benjamin.Close@clearchain.com>
2009-02-25 07:53:26 -07:00
Alan Hourihane 65562453fb glx: add support for a reallyFlush() function before swap occurs. 2009-02-23 20:28:11 +00:00
Brian Paul fe0ccf323d mesa: regenerated gl_mange.h file 2009-02-21 16:01:54 -07:00
Brian Paul 66204969a0 mesa: bump gl.h version comment to 7.7 (bug 20170) 2009-02-18 15:38:31 -07:00
José Fonseca 5ef5162103 glut: Fix broken font symbols when gcc visibility attributes used. 2009-02-12 15:50:33 +00:00
José Fonseca b5c901a730 glut: Don't try to guess system headers.
Just include them, especially such basic header as stdlib.h
2009-02-12 13:54:54 +00:00
José Fonseca 4367778832 glut: Automatic library linkage only on MSVC. 2009-01-24 15:32:01 +00:00
José Fonseca 0e4e76572e glut: Use a new define GLUT_STATIC to distinguish static builds.
_DLL is defined by MSVC when building against a DLL version of the CRT
library. It bears no relation to whether we are building a DLL or not. That
is, we can build a DLL against a static CRT, or a static lib against a
dynamicaly linked CRT. See more detail at
http://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx

This gets DLL version of glut linking correctly both with MinGW and MSVC.

PS: GL/gl.h (and others) must be fixed too.
2009-01-24 13:52:02 +00:00
José Fonseca 492c7b360d glut: Ensure windows.h is included on windows.
Trying to override windows headers is a recipe for disaster. Especially
when using with glew. Also the windows headers in recent MinGW are complete
enough that they don't need patching up.
2009-01-24 12:47:02 +00:00
José Fonseca 57d00016ca glew: Initial import.
From glew 1.5.1 release.
2009-01-23 12:32:35 +00:00
José Fonseca d150e6a2e6 glut: Do not rely on GLAPIENTRY symbol.
GLEW does some defining/undefining of GLAPIENTRY making it unreliable. GLEW
should also be fixed, but removing the dependency on this symbol.

This also restores the ability for GLUT to be used with -fvisibility=hidden.
The downside of this is that ld warns of:

  Warning: size of symbol `glutBitmapXXXXX' changed from 4 in glut_xxx.o to 16 in glut_xxxx.o

Due to the fonts being declared void * (*4 bytes), but defined as 16byte static
structure. I'll fix that in a later commit.

See also commits:
 - f321f16e83
 - d084982240
2009-01-23 12:27:10 +00:00
José Fonseca 4558f6a7e4 glut: Don't include mesa_wgl.h on MinGW builds.
windows.h header recent MinGW versions already declare the WGL API, and
including mesa_wgl.h actually cause build failures.
2009-01-22 14:29:01 +00:00
Alan Hourihane d3866f026a dri: add fake front definitions 2009-01-19 15:40:30 +00:00
Alan Hourihane 658b1bdb1c Merge commit 'origin/master' into gallium-0.2
Conflicts:
	docs/install.html
	docs/relnotes-7.3.html
	src/mesa/shader/slang/slang_codegen.c
	src/mesa/shader/slang/slang_compile.c
	src/mesa/shader/slang/slang_emit.c
	src/mesa/shader/slang/slang_preprocess.c
	src/mesa/shader/slang/slang_preprocess.h
2009-01-14 23:33:41 +00:00
Brian Paul ef193c10e7 mesa: remove old GLView.h header for BeOS 2009-01-10 12:07:58 -07:00
Brian Paul c3a00a728b mesa: remove deprecated headers from Makefile.am 2009-01-10 12:06:29 -07:00
Brian Paul 287102ddcc mesa: deprecate GL/amesa.h header (allegro driver) 2009-01-10 12:04:39 -07:00
Brian Paul f5979b0c15 mesa: deprecate the GL/fxmesa.h header 2009-01-10 12:01:40 -07:00
Brian Paul d25cc16efa mesa: remove the ancient include/GL/ugl*.h headers 2009-01-10 12:00:27 -07:00
Brian Paul 1636328b0a xmesa: deprecate the "XMesa" interface
Move the include/GL/xmesa*.h files to src/mesa/drivers/x11/ so they're no
longer considered public.
2009-01-10 11:57:13 -07:00
Brian Paul 4441e0a7b2 mesa: latest glxext.h header, no version change 2009-01-09 11:16:44 +00:00
Brian Paul 258c55db11 mesa: import glext.h version 44 2009-01-09 11:16:43 +00:00
Brian Paul f7b4c2cca9 mesa: latest glxext.h header, no version change 2009-01-08 17:20:41 -07:00
Brian Paul 08fdc741bc mesa: import glext.h version 44 2009-01-08 17:20:18 -07:00
Jon Turney 867705b8c5 dri: fix for Cygwin compilation, bug 19144 2008-12-18 14:17:06 -07:00
Jon Turney 8e7599892f dri: fix for Cygwin compilation, bug 19144 2008-12-17 18:01:16 -07:00
José Fonseca 81aa678ce8 glut: MinGW portability fixes.
Still, it doesn't run as well as the glut binaries...
2008-11-21 10:44:31 +09:00
Alan Hourihane 81c862205e Merge commit 'origin/master' into gallium-0.2
Conflicts:

	src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
2008-11-01 22:57:26 +00:00
Brian Paul 239ce2240a glx: added PFNGL*PROC typedefs for GLX 1.3 functions
Since we define GLX_VERSION_1_3 in glx.h, the typedefs in the glxext.h header
were getting skipped.
2008-10-29 15:49:19 -06:00
Nigel Stewart cd1283f515 glu: fix compilation problem when using Windows gl.h (sf bug 2204589) 2008-10-29 09:23:48 -06:00
Alan Hourihane 61d3a66456 Merge commit 'origin/master' into gallium-0.2 2008-10-27 15:37:22 +00:00
Brian Paul 8c20c913f8 mesa: version 43 of glext.h 2008-10-23 11:23:36 -06:00
Brian Paul 3efd3b1512 mesa: version 21 of glxext.h 2008-10-23 11:21:32 -06:00
Keith Whitwell 45efcc44c7 Remove CVS keywords.
Cherry-picked from gallium-0.1

Conflicts:

	src/glu/sgi/libnurbs/interface/bezierEval.h
	src/glu/sgi/libnurbs/interface/bezierPatch.h
	src/glu/sgi/libnurbs/interface/bezierPatchMesh.h
	src/glu/sgi/libnurbs/internals/dataTransform.h
	src/glu/sgi/libnurbs/internals/displaymode.h
	src/glu/sgi/libnurbs/internals/sorter.h
	src/glu/sgi/libnurbs/nurbtess/definitions.h
	src/glu/sgi/libnurbs/nurbtess/directedLine.h
	src/glu/sgi/libnurbs/nurbtess/gridWrap.h
	src/glu/sgi/libnurbs/nurbtess/monoChain.h
	src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h
	src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h
	src/glu/sgi/libnurbs/nurbtess/partitionX.h
	src/glu/sgi/libnurbs/nurbtess/partitionY.h
	src/glu/sgi/libnurbs/nurbtess/polyDBG.h
	src/glu/sgi/libnurbs/nurbtess/polyUtil.h
	src/glu/sgi/libnurbs/nurbtess/primitiveStream.h
	src/glu/sgi/libnurbs/nurbtess/quicksort.h
	src/glu/sgi/libnurbs/nurbtess/rectBlock.h
	src/glu/sgi/libnurbs/nurbtess/sampleComp.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h
	src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h
	src/glu/sgi/libnurbs/nurbtess/sampledLine.h
	src/glu/sgi/libnurbs/nurbtess/searchTree.h
	src/glu/sgi/libnurbs/nurbtess/zlassert.h
	src/glu/sgi/libutil/error.c
	src/glu/sgi/libutil/glue.c
	src/glu/sgi/libutil/gluint.h
	src/glu/sgi/libutil/project.c
	src/glu/sgi/libutil/registry.c
	src/glx/x11/glxclient.h
	src/glx/x11/glxext.c
	src/mesa/drivers/dri/ffb/ffb_dd.h
	src/mesa/drivers/dri/ffb/ffb_points.h
	src/mesa/drivers/dri/gamma/gamma_context.h
	src/mesa/drivers/dri/gamma/gamma_macros.h
	src/mesa/drivers/dri/i810/i810context.h
	src/mesa/drivers/dri/r128/r128_dd.h
	src/mesa/drivers/dri/tdfx/tdfx_dd.h
2008-09-21 11:00:44 -07:00
Keith Whitwell 9644fa6c48 Merge branch 'master' into gallium-0.2
Conflicts:

	include/GLES/egl.h
	include/GLES/egltypes.h
	src/egl/main/eglconfig.c
	src/egl/main/eglconfig.h
	src/glu/sgi/libnurbs/interface/bezierEval.h
	src/glu/sgi/libnurbs/interface/bezierPatch.h
	src/glu/sgi/libnurbs/interface/bezierPatchMesh.h
	src/glu/sgi/libnurbs/internals/dataTransform.h
	src/glu/sgi/libnurbs/internals/displaymode.h
	src/glu/sgi/libnurbs/internals/sorter.h
	src/glu/sgi/libnurbs/nurbtess/definitions.h
	src/glu/sgi/libnurbs/nurbtess/directedLine.h
	src/glu/sgi/libnurbs/nurbtess/gridWrap.h
	src/glu/sgi/libnurbs/nurbtess/monoChain.h
	src/glu/sgi/libnurbs/nurbtess/monoPolyPart.h
	src/glu/sgi/libnurbs/nurbtess/monoTriangulation.h
	src/glu/sgi/libnurbs/nurbtess/partitionX.h
	src/glu/sgi/libnurbs/nurbtess/partitionY.h
	src/glu/sgi/libnurbs/nurbtess/polyDBG.h
	src/glu/sgi/libnurbs/nurbtess/polyUtil.h
	src/glu/sgi/libnurbs/nurbtess/primitiveStream.h
	src/glu/sgi/libnurbs/nurbtess/quicksort.h
	src/glu/sgi/libnurbs/nurbtess/rectBlock.h
	src/glu/sgi/libnurbs/nurbtess/sampleComp.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompBot.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompRight.h
	src/glu/sgi/libnurbs/nurbtess/sampleCompTop.h
	src/glu/sgi/libnurbs/nurbtess/sampleMonoPoly.h
	src/glu/sgi/libnurbs/nurbtess/sampledLine.h
	src/glu/sgi/libnurbs/nurbtess/searchTree.h
	src/glu/sgi/libnurbs/nurbtess/zlassert.h
	src/glu/sgi/libutil/error.c
	src/glu/sgi/libutil/glue.c
	src/glu/sgi/libutil/gluint.h
	src/glu/sgi/libutil/project.c
	src/glu/sgi/libutil/registry.c
	src/glx/x11/Makefile
	src/glx/x11/glxclient.h
	src/glx/x11/glxext.c
	src/mesa/drivers/dri/ffb/ffb_dd.h
	src/mesa/drivers/dri/ffb/ffb_points.h
	src/mesa/drivers/dri/gamma/gamma_context.h
	src/mesa/drivers/dri/gamma/gamma_macros.h
	src/mesa/drivers/dri/i810/i810context.h
	src/mesa/drivers/dri/r128/r128_dd.h
	src/mesa/drivers/dri/r128/r128_tex.h
	src/mesa/drivers/dri/tdfx/tdfx_dd.h
	src/mesa/drivers/x11/xm_buffer.c
	src/mesa/glapi/glapi.c
	src/mesa/main/dispatch.c
	src/mesa/main/state.c
	src/mesa/main/texstate.c
	src/mesa/shader/arbprogparse.c
	src/mesa/shader/arbprogram.c
	src/mesa/shader/nvfragparse.c
	src/mesa/shader/nvprogram.c
	src/mesa/shader/shader_api.c
	src/mesa/sources
	src/mesa/swrast/s_aaline.c
	src/mesa/swrast/s_aaline.h
	src/mesa/swrast/s_aatriangle.h
	src/mesa/swrast/s_accum.c
	src/mesa/swrast/s_alpha.h
	src/mesa/swrast/s_bitmap.c
	src/mesa/swrast/s_blend.h
	src/mesa/swrast/s_context.c
	src/mesa/swrast/s_copypix.c
	src/mesa/swrast/s_depth.c
	src/mesa/swrast/s_depth.h
	src/mesa/swrast/s_drawpix.c
	src/mesa/swrast/s_drawpix.h
	src/mesa/swrast/s_feedback.c
	src/mesa/swrast/s_feedback.h
	src/mesa/swrast/s_fog.h
	src/mesa/swrast/s_lines.h
	src/mesa/swrast/s_logic.h
	src/mesa/swrast/s_masking.h
	src/mesa/swrast/s_points.c
	src/mesa/swrast/s_points.h
	src/mesa/swrast/s_readpix.c
	src/mesa/swrast/s_span.c
	src/mesa/swrast/s_span.h
	src/mesa/swrast/s_stencil.h
	src/mesa/swrast/s_texcombine.c
	src/mesa/swrast/s_texcombine.h
	src/mesa/swrast/s_texfilter.c
	src/mesa/swrast/s_texfilter.h
	src/mesa/swrast/s_texstore.c
	src/mesa/swrast/s_triangle.c
	src/mesa/swrast/s_triangle.h
	src/mesa/swrast/s_zoom.h
	src/mesa/swrast_setup/ss_context.c
	src/mesa/swrast_setup/ss_triangle.h
	src/mesa/tnl/t_draw.c
	src/mesa/tnl/t_vb_light.c
	src/mesa/tnl/t_vertex_generic.c
	src/mesa/tnl/t_vertex_sse.c
	src/mesa/tnl/t_vp_build.h
	src/mesa/tnl/tnl.h
	src/mesa/x86/common_x86.c
2008-09-21 10:28:06 -07:00
Keith Whitwell 5a46e17671 mesa: standardize on C99's uint*_t instead of u_int*_t 2008-09-21 09:45:00 -07:00
Adam Jackson dc8058c337 Update to SGI FreeB 2.0.
Under the terms of version 1.1, "once Covered Code has been published
under a particular version of the License, Recipient may, for the
duration of the License, continue to use it under the terms of that
version, or choose to use such Covered Code under the terms of any
subsequent version published by SGI."

FreeB 2.0 license refers to "dates of first publication".  They are here
taken to be 1991-2000, as noted in the original license text:

 ** Original Code. The Original Code is: OpenGL Sample Implementation,
 ** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
 ** Inc. The Original Code is Copyright (c) 1991-2000 Silicon Graphics, Inc.
 ** Copyright in any portions created by third parties is as indicated
 ** elsewhere herein. All Rights Reserved.

Official FreeB 2.0 text:

http://oss.sgi.com/projects/FreeB/SGIFreeSWLicB.2.0.pdf

As always, this code has not been tested for conformance with the OpenGL
specification.  OpenGL conformance testing is available from
http://khronos.org/ and is required for use of the OpenGL logo in
product advertising and promotion.
2008-09-19 17:16:53 -04:00
Keith Whitwell cc7dd4fc1b Merge commit 'origin/gallium-0.1' into gallium-0.2
Conflicts:

	Makefile
	progs/demos/Makefile
	progs/glsl/Makefile
	progs/redbook/Makefile
	progs/samples/Makefile
	progs/tests/Makefile
	progs/trivial/Makefile
	progs/xdemos/Makefile
	src/gallium/Makefile
	src/mesa/main/attrib.c
	src/mesa/main/bufferobj.c
	src/mesa/vbo/vbo_exec_draw.c
2008-09-11 18:32:05 +01:00
Alan Hourihane 47ad296a18 Merge branch 'master' of git+ssh://git.freedesktop.org/git/mesa/mesa into gallium-0.2
Conflicts:

	src/mesa/drivers/dri/i915/intel_ioctl.c
	src/mesa/main/texstore.c
	src/mesa/tnl/t_vp_build.c
	src/mesa/vbo/vbo_exec_draw.c
2008-09-11 17:32:18 +01:00
Keith Whitwell 0397b2bb41 Merge branch 'gallium-0.1' into gallium-0.2
A first attempt at moving gallium onto a branch directly off master...

It will be interesting to see how much work this takes to get running.

Have resolved the conflicts semi-arbitarily, not compiled or tested.

Conflicts:

	.gitignore
	Makefile
	configs/config.mgw
	configs/darwin
	configs/darwin-x86ppc
	configs/default
	configs/freebsd-dri
	configs/linux-dri
	configs/linux-dri-xcb
	configs/linux-fbdev
	configs/linux-static
	configs/linux-x86-64-static
	configs/linux-x86-static
	doxygen/Makefile
	include/GL/gl.h
	progs/demos/Makefile
	progs/demos/descrip.mms
	progs/demos/texenv.c
	progs/egl/.gitignore
	progs/egl/Makefile
	progs/glsl/.gitignore
	progs/glsl/Makefile
	progs/glsl/convolutions.c
	progs/samples/Makefile.mgw
	progs/tests/.gitignore
	progs/trivial/.gitignore
	progs/trivial/point-param.c
	progs/trivial/tri.c
	progs/xdemos/.gitignore
	progs/xdemos/glthreads.c
	src/egl/drivers/demo/Makefile
	src/egl/drivers/dri/Makefile
	src/egl/main/Makefile
	src/glu/Makefile
	src/glu/sgi/Makefile
	src/glu/sgi/Makefile.mgw
	src/glut/glx/Makefile.mgw
	src/glut/os2/WarpWin.cpp
	src/glut/os2/glut_cindex.cpp
	src/glut/os2/glut_gamemode.cpp
	src/glut/os2/glut_win.cpp
	src/glut/os2/glut_winmisc.cpp
	src/glut/os2/os2_glx.cpp
	src/glut/os2/os2_menu.cpp
	src/glut/os2/os2_winproc.cpp
	src/glw/Makefile
	src/glx/x11/dri_glx.c
	src/glx/x11/glxext.c
	src/mesa/Makefile
	src/mesa/Makefile.mgw
	src/mesa/descrip.mms
	src/mesa/drivers/beos/Makefile
	src/mesa/drivers/common/descrip.mms
	src/mesa/drivers/common/driverfuncs.c
	src/mesa/drivers/directfb/Makefile
	src/mesa/drivers/dri/Makefile.template
	src/mesa/drivers/dri/common/dri_bufmgr.c
	src/mesa/drivers/dri/common/dri_bufmgr.h
	src/mesa/drivers/dri/common/dri_util.c
	src/mesa/drivers/dri/common/extension_helper.h
	src/mesa/drivers/dri/common/mmio.h
	src/mesa/drivers/dri/common/utils.c
	src/mesa/drivers/dri/common/utils.h
	src/mesa/drivers/dri/glcore/Makefile
	src/mesa/drivers/dri/i810/i810screen.c
	src/mesa/drivers/dri/i915/intel_ioctl.c
	src/mesa/drivers/dri/i915/intel_ioctl.h
	src/mesa/drivers/dri/i915/intel_screen.c
	src/mesa/drivers/dri/i915/server/i830_common.h
	src/mesa/drivers/dri/i915/server/i830_dri.h
	src/mesa/drivers/dri/i965/intel_screen.c
	src/mesa/drivers/dri/i965/server/i830_common.h
	src/mesa/drivers/dri/i965/server/i830_dri.h
	src/mesa/drivers/dri/mach64/mach64_screen.c
	src/mesa/drivers/dri/nouveau/nouveau_context.h
	src/mesa/drivers/dri/nouveau/nouveau_fifo.c
	src/mesa/drivers/dri/nouveau/nouveau_fifo.h
	src/mesa/drivers/dri/nouveau/nouveau_screen.c
	src/mesa/drivers/dri/nouveau/nouveau_screen.h
	src/mesa/drivers/dri/r128/r128_tex.h
	src/mesa/drivers/dri/savage/savageioctl.h
	src/mesa/drivers/fbdev/Makefile
	src/mesa/drivers/osmesa/Makefile
	src/mesa/drivers/osmesa/descrip.mms
	src/mesa/drivers/x11/Makefile
	src/mesa/drivers/x11/descrip.mms
	src/mesa/drivers/x11/xm_dd.c
	src/mesa/glapi/glapi.c
	src/mesa/glapi/glthread.c
	src/mesa/main/api_validate.c
	src/mesa/main/attrib.c
	src/mesa/main/bufferobj.c
	src/mesa/main/bufferobj.h
	src/mesa/main/buffers.c
	src/mesa/main/config.h
	src/mesa/main/context.c
	src/mesa/main/descrip.mms
	src/mesa/main/drawpix.c
	src/mesa/main/enums.c
	src/mesa/main/fbobject.c
	src/mesa/main/glheader.h
	src/mesa/main/imports.c
	src/mesa/main/mipmap.c
	src/mesa/main/mm.c
	src/mesa/main/mm.h
	src/mesa/main/mtypes.h
	src/mesa/main/points.c
	src/mesa/main/sources
	src/mesa/main/state.c
	src/mesa/main/texcompress_fxt1.c
	src/mesa/main/texenvprogram.c
	src/mesa/main/texobj.c
	src/mesa/main/texstate.c
	src/mesa/main/texstore.c
	src/mesa/math/descrip.mms
	src/mesa/shader/arbprogram.c
	src/mesa/shader/descrip.mms
	src/mesa/shader/prog_execute.c
	src/mesa/shader/prog_statevars.c
	src/mesa/shader/prog_statevars.h
	src/mesa/shader/prog_uniform.c
	src/mesa/shader/program.c
	src/mesa/shader/program.h
	src/mesa/shader/shader_api.c
	src/mesa/shader/slang/descrip.mms
	src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
	src/mesa/sources
	src/mesa/swrast/descrip.mms
	src/mesa/swrast/s_drawpix.c
	src/mesa/swrast/s_fragprog.c
	src/mesa/swrast/s_readpix.c
	src/mesa/swrast/s_span.c
	src/mesa/swrast_setup/descrip.mms
	src/mesa/tnl/descrip.mms
	src/mesa/tnl/t_context.h
	src/mesa/tnl/t_vp_build.c
	src/mesa/tnl/tnl.h
	src/mesa/vbo/descrip.mms
	src/mesa/vbo/vbo_context.c
	src/mesa/vbo/vbo_exec_array.c
	src/mesa/x86-64/xform4.S
	src/mesa/x86/rtasm/x86sse.c
	src/mesa/x86/rtasm/x86sse.h
	windows/VC6/progs/glut/glut.dsp
	windows/VC7/mesa/gdi/gdi.vcproj
	windows/VC7/mesa/glu/glu.vcproj
	windows/VC7/mesa/mesa.sln
	windows/VC7/mesa/mesa/mesa.vcproj
	windows/VC7/mesa/osmesa/osmesa.vcproj
	windows/VC7/progs/glut/glut.vcproj
	windows/VC8/mesa/gdi/gdi.vcproj
	windows/VC8/mesa/glu/glu.vcproj
	windows/VC8/mesa/mesa.sln
	windows/VC8/mesa/mesa/mesa.vcproj
	windows/VC8/progs/glut/glut.vcproj
2008-09-11 16:05:15 +01:00
José Fonseca 8c092def6c Remove CVS keywords.
Please remove CVS keywords when importing third-party code into the git
repository.
2008-08-31 17:43:20 +09:00
Kristian Høgsberg f56b569e9a DRI2: Drop sarea, implement swap buffers in the X server. 2008-08-29 12:13:14 -04:00
Brian Paul 0423a39239 version 20 of glxext.h 2008-08-11 15:21:40 -06:00
Brian Paul 1a1079e066 version 41 of glext.h 2008-08-11 15:21:40 -06:00
Brian Paul 7536f39622 version 41 of glext.h 2008-08-11 15:12:42 -06:00
Brian Paul d80d0bb4d6 version 20 of glxext.h 2008-08-11 15:12:42 -06:00
Jeremy Huddleston 01ac4540f0 Apple: Some changes to fix compilation problems on OSX 2008-08-08 02:19:52 -07:00
Jonathan White b908ce93d4 egl: define vsnprintf 2008-08-06 16:42:38 -06:00
Jonathan White 240962faf7 egl: added snprintf, strcasecmp defines 2008-08-05 19:20:43 -06:00
Jonathan White b51584184a egl: typedef uint8_t for Windows 2008-08-05 08:12:38 -06:00
Jonathan White 73c3c4d1cc egl: typedef u_int32_t for Windows 2008-08-04 16:30:58 -06:00
Jonathan White e4f3770690 mesa: WinCE fixes 2008-07-16 16:11:38 -06:00
Blair Sadewitz 99233e483d additional preprocessor checks for stdint.h, inttypes.h, etc
The patches to glext.h and glxext.h have been sent to Khronos/bugzilla.
2008-07-15 17:30:51 -06:00
Blair Sadewitz b7c54945fe additional preprocessor checks for stdint.h, inttypes.h, etc
The patches to glext.h and glxext.h have been sent to Khronos/bugzilla.
2008-07-15 17:21:56 -06:00
Jonathan White f4caddd66f egl: updated GL_APIENTRY for Windows 2008-07-07 17:57:02 -06:00
José Fonseca 810888f656 gles: Don't define GLAPIENTRY here. 2008-06-30 12:49:32 +09:00
José Fonseca 0f9a1e43bc egl: WinCE doesn't have sys/types.h 2008-06-28 20:40:44 +09:00
Jonathan White b028b0cc53 egl: Windows updates to the platform.h files 2008-06-27 07:13:58 -06:00
José Fonseca 0b3d1b1ea4 mesa: WGL is not part of the WinCE API.
Although it would be interesting having the GDI winsys running on WinCE
several Windows GDI API functions and data structures are missing from
WinCE headers, making this far from a trivial endeavor.
2008-06-24 13:00:03 +09:00
José Fonseca 543bba6ee3 mesa: Don't include sys/types.h on WinCE.
We probably shouldn't be including sys/types.h at all, but let's leave that
for another time.
2008-06-24 11:00:01 +09:00
Alan Hourihane 6f7ed99b30 revert the DRI2 commits 2008-06-12 00:11:54 +01:00
Alan Hourihane 5e9fe62c70 add missed files for DRI2 merge 2008-06-11 15:25:35 +01:00
Alan Hourihane 4566b006f1 Bring in DRI2 changes 2008-06-11 14:10:08 +01:00
Jonathan White adaf0385e8 egl: updated EGLAPI for Windows 2008-06-06 15:13:59 -06:00
Jonathan White fe1a2d1fff egl: assorted fixes for Windows
Note that int32_t is typedef'd both in p_compiler.h and eglplatform.h
2008-06-05 15:07:03 -06:00
Brian Paul 1b386f4416 egl: new GLES/glplatform.h header 2008-06-04 10:27:22 -06:00
Brian Paul 3783994048 egl: updated GLES/gl.h and GLES/glext.h headers from Khronos.org 2008-06-04 10:17:56 -06:00
Brian Paul 0ebc94d236 egl: added OpenGL ES 2.0 header files in new GLES2 directory 2008-06-04 10:04:31 -06:00
Brian Paul df8f9a1690 egl: created GLES/egl.h backward-compatibility header (see comments inside) 2008-06-04 10:03:39 -06:00
Brian Paul 493f3a0032 egl: moved egl.h into EGL/ directory 2008-06-04 10:01:16 -06:00
Brian Paul 3e702fa881 egl: moved eglext.h into EGL/ directory 2008-06-04 10:00:32 -06:00
Brian Paul 0d8676822d remove old/unused foomesa.h example header 2008-06-04 09:33:02 -06:00
Brian Paul 645c131264 Assorted Windows fixes (Karl Schultz) 2008-05-29 10:42:02 -06:00
Brian Paul c6426c97b9 obsolete with EGL 1.4 2008-05-27 13:45:01 -06:00
Brian Paul 2fe1a55ab2 added EGL_MESA_screen_surface, EGL_MESA_copy_context extensions 2008-05-27 13:43:56 -06:00
Brian Paul 57da567dc5 added typedefs for X/Mesa 2008-05-27 13:43:34 -06:00
Brian Paul 0841f0a85e remove stray ! character 2008-05-27 13:43:17 -06:00
Brian Paul 704a5c7efb new eglplatform.h from Khronos.org (replaces GLES/egltypes.h) 2008-05-27 13:43:01 -06:00
Brian Paul 6438f6fdf7 new eglext.h from Khronos 2008-05-27 13:42:38 -06:00
Brian Paul d0f5d8c5a3 EGL 1.4 header from Khronos 2008-05-27 13:42:12 -06:00
José Fonseca 77ce568ff7 Remove CVS keywords. 2008-05-26 20:14:40 +09:00
George Sapountzis d4510e53d8 drop GLcore 2008-05-23 22:48:55 +03:00
George Sapountzis 280bf89bd4 Add DRI driver that uses the mesa swrast module. 2008-05-20 16:03:44 -04:00
Brian Paul deceeca18d mesa: update/add newer GL ES headers 2008-05-07 08:47:55 -06:00
George Sapountzis 32a2a095f4 glcore: build from mesa 2008-04-23 11:12:30 +03:00
Kristian Høgsberg e82dd8c6e1 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.
2008-03-31 16:51:26 -04:00
Brian 4e6c2c4f85 updated to version 40 2008-03-25 08:12:19 -06:00
Brian 7048545c44 fix wrong values for GL_READ/DRAW_FRAMEBUFFER_BINDING_EXT tokens 2008-03-24 19:56:30 -06:00
Kristian Høgsberg dcbe215c01 DRI2: Make setTexBuffer take a __DRIdrawable instead of a BO handle.
This fixes a problem where texturing from the same Pixmap more than
once per batchbuffer would hang the DRI driver.  We just use the region
associated with the front left renderbuffer of the __DRIdrawable for
texturing, which avoids creating different regions for the same BO.

This change also make GLX_EXT_texture_from_pixmap work for direct
rendering, since tracking the __DRIdrawable -> BO handle now uses
the standard DRI2 event buffer.  Of course, DRI2 direct rendering
doesn't exist yet.

Finally, this commit bumps the DRI interface version again, accounting
for the change in the DRI_TEX_BUFFER extension and the change in
commit 0bba0e5be7 to pass in the
event buffer head index on drawable creation.
2008-03-09 21:28:04 -04:00
Kristian Høgsberg 0bba0e5be7 DRI2: Add event buffer head as an argument to driCreateNewDrawable().
The DRI driver needs to know where in the buffer to start reading.
2008-03-09 21:16:30 -04:00
Kristian Høgsberg 3d608c7a2d [dri2] Add tail pointer to reemitDrawableInfo callback.
When the DRI doesn't parse the event buffer for a while, the X server
may overwrite data that the driver didn't get a chance to look at.  The
reemitDrawableInfo callback requests that the X server reemit all info
for the specified drawable.  To make use of this, the drive needs to know
the new tail pointer so it know where to start reading from.
2008-03-03 19:16:20 -05:00
Kristian Høgsberg 6cb3f5c4d8 Use __DRIextension mechanism providing loader functionality to the driver.
Instead of passing in a fixed struct, the loader now passes in a list
of __DRIextension structs, to advertise the functionality it can provide
to the driver.  Each extension is individually versioned and can be
extended or phased out as the interface develops.
2008-02-29 15:05:39 -05:00
Kristian Høgsberg 16242a8007 Reduce the versioning madness required to create a DRI2 screen.
Right now the DRI2 screen constructor takes 3 different versions:
DRI, DDX and DRM.  This is mostly useless, though:

  DRI: The DRI driver doesn't actually care about the DRI protocol,
  it only talks to the loader, which in turn speaks DRI protocol.  Thus,
  the DRI protocol version is of not interest to the DRI driver, but it
  needs to know what functionality the loader provides.  At this point
  that's reflected in the __DRIinterfaceMethods struct and the
  internal_version integer.

  DDX: The DDX version number is essentially used to track extensions
  to the SAREA.  With DRI2 the SAREA consists of a number of versioned,
  self-describing blocks, so the DDX version is no longer interesting.

  DRM: We have the fd, lets just ask the kernel ourselves.
2008-02-29 15:05:39 -05:00
José Fonseca 60159c1b09 Convert crlf->lf line endings.
Windows/DOS users should enable core.autocrlf from now on:

  git config --global core.autocrlf true
2008-02-28 16:34:32 +09:00
José Fonseca 2573f0e5d6 Convert crlf->lf line endings.
Windows/DOS users should enable core.autocrlf from now on.
2008-02-28 15:53:13 +09:00
Kristian Høgsberg 6e8d21d72f Remove GetMSC DriverAPI function.
The DriverAPI is internal to the DRI drivers and GetDrawableMSC
obsoletes GetMSC.  Also, since the DRI driver interface has not yet
been released, just drop the getMSC function from the DRI interface
instead using the ABI preserving version mechanism.

Finally, using void pointer privates in the DRI interface is not allowed,
always pass the actual types around (__DRIdrawable in this case) to
enhance type safety and readability of the code.
2008-02-25 19:02:06 -05:00
Kristian Høgsberg 6d48779c7e Add TTM buffer object based texture from pixmap implementation.
Currently only implemented for intel hw.
2008-02-14 22:12:51 -05:00
Kristian Høgsberg 7da5705b09 Add new DRI2 infrastructure. 2008-02-14 17:56:42 -05:00