summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2014-01-23c11: Import threads.h emulation library.José Fonseca3-0/+992
Implementation is based of https://gist.github.com/2223710 with the following modifications: - inline implementatation - retain XP compatability - add temporary hack for static mutex initializers (as they are not part of the stack but still widely used internally) - make TIME_UTC a conditional macro (some system headers already define it, so this prevents conflict) - respect HAVE_PTHREAD macro Reviewed-by: Brian Paul <brianp@vmware.com> Acked-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Chad Versace <chad.versace@linux.intel.com>
2014-01-18pci_ids: no not include loader.hEmil Velikov1-1/+4
As per original approach by Rob, each user of the loader lib should include loader.h and the pci_id_driver_map.h header will be used exclusively by the loader. Add back the include guard __IS_LOADER and remove no longer needed include folder in the scons build. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-01-18loader: introduce the loader util libEmil Velikov1-13/+11
All the various window system integration layers duplicate roughly the same code for figuring out device and driver name, pci-id's, etc. Which is sad. So extract it out into a loader util lib. v2 (Emil) * Separate the introduction of libloader from the code de-duplication. * Strip out non-pci devices support. * Add scons + Android build system support. * Add VISIBILITY_CFLAGS to avoid exporting the loader funcs. v3 (Emil) * PIPE_OS_ANDROID is undefined at this scope, use ANDROID * Make sure we define _EGL_NO_DRM when building only swrast Signed-off-by: Rob Clark <robclark@freedesktop.org> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-01-17s/Tungsten Graphics/VMware/José Fonseca2-2/+2
Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the old copyright name is creating unnecessary confusion, hence this change. This was the sed script I used: $ cat tg2vmw.sed # Run as: # # git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed # # Rename copyrights s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g /Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./ s/TUNGSTEN GRAPHICS/VMWARE/g # Rename emails s/alanh@tungstengraphics.com/alanh@vmware.com/ s/jens@tungstengraphics.com/jowen@vmware.com/g s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/ s/jrfonseca\?@tungstengraphics.com/jfonseca@vmware.com/g s/keithw\?@tungstengraphics.com/keithw@vmware.com/g s/michel@tungstengraphics.com/daenzer@vmware.com/g s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/ s/zack@tungstengraphics.com/zackr@vmware.com/ # Remove dead links s@Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics@g # C string src/gallium/state_trackers/vega/api_misc.c s/"Tungsten Graphics, Inc"/"VMware, Inc"/ Reviewed-by: Brian Paul <brianp@vmware.com>
2014-01-06mesa: Remove GLXContextID typedef from glxext.h.Vinson Lee1-1/+0
This patch fixes this build error with gcc <= 4.5 and clang <= 3.1. CC clientattrib.lo In file included from ../../include/GL/glx.h:333:0, from glxclient.h:45, from clientattrib.c:32: ../../include/GL/glxext.h:275:13: error: redefinition of typedef 'GLXContextID' ../../include/GL/glx.h:171:13: note: previous declaration of 'GLXContextID' was here Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70591 Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-12-29Revert "mesa: Remove GLXContextID typedef from glx.h."Kenneth Graunke1-0/+1
This reverts commit 136a12ac98868d82c2ae9fcc80d11044a7ec56d1. According to belak51 on IRC, this commit broke Allegro, which would no longer compile. Applications apparently expect the GLXContextID typedef to exist in glx.h; removing it breaks them. A bit of searching around the internet revealed other complaints since upgrading to Mesa 10. Cc: "10.0" <mesa-stable@lists.freedesktop.org>
2013-12-24r600g: fix SUMO2 pci idAlex Deucher1-1/+1
0x9649 is sumo2, not sumo. Signed-off-by: Alex Deucher <alexander.deucher@amd.com> CC: "9.2" "10.0" <mesa-stable@lists.freedesktop.org>
2013-12-16Haiku: Add in public GL kit headersAlexander von Gluck IV4-0/+307
* These make up the base of what C++ GL Haiku applications use for 3D rendering. * Not placed in includes/GL to prevent Haiku headers from getting installed on non-Haiku systems. Acked-by: Brian Paul <brianp@vmware.com>
2013-12-13mesa: update glext.h to version 20131212Brian Paul1-7/+61
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
2013-12-13swrast* (gallium, classic): add MESA_copy_sub_buffer support (v3)Dave Airlie1-1/+8
This patches add MESA_copy_sub_buffer support to the dri sw loader and then to gallium state tracker, llvmpipe, softpipe and other bits. It reuses the dri1 driver extension interface, and it updates the swrast loader interface for a new putimage which can take a stride. I've tested this with gnome-shell with a cogl hacked to reenable sub copies for llvmpipe and the one piglit test. I could probably split this patch up as well. v2: pass a pipe_box, to reduce the entrypoints, as per Jose's review, add to p_screen doc comments. v3: finish off winsys interfaces, add swrast classic support as well. Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Signed-off-by: Dave Airlie <airlied@redhat.com> swrast: add support for copy_sub_buffer
2013-12-04mesa: Remove GL_MESA_texture_array cruft from gl.hIan Romanick1-33/+0
glext.h has had all the necessary bits for years. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2013-12-04wayland: Add an extension to create wl_buffers from EGLImagesNeil Roberts1-0/+10
This adds an extension called EGL_WL_create_wayland_buffer_from_image which adds the following single function: struct wl_buffer * eglCreateWaylandBufferFromImageWL(EGLDisplay dpy, EGLImageKHR image); The function creates a wl_buffer which shares its contents with the given EGLImage. The expected use case for this is in a nested Wayland compositor which is using subsurfaces to present buffers from its clients. Using this extension it can attach the client buffers directly to the subsurface without having to blit the contents into an intermediate buffer. The compositing can then be done in the parent compositor. The extension is only implemented in the Wayland EGL platform because of course it wouldn't make sense anywhere else.
2013-11-18osmesa: add support for postprocess filtersBrian Paul1-2/+17
Add new OSMesaPostprocess() function to allow using the gallium postprocessing filters. This only works for OSMesa with gallium drivers, not the legacy swrast OSMesa. Bump OSMESA_MAJOR/MINOR_VERSION numbers to 10.0 Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2013-11-15radeonsi: add Hawaii pci idsAlex Deucher1-0/+13
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-11-12dri: Remove redundant createNewContext function from __DRIimageDriverExtensionKristian Høgsberg1-8/+4
createContextAttribs is a superset of what createNewContext provides. Also remove the function typedef, since createNewContext is deprecated and no longer used in multiple interfaces. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Eric Anholt <eric@anholt.net> Cc: "10.0" <mesa-stable@lists.freedesktop.org>
2013-11-07dri: add __DRIimageLoaderExtension and __DRIimageDriverExtensionKeith Packard1-0/+76
These provide an interface between the driver and the loader to allocate color buffers through the DRIimage extension interface rather than through a loader-specific extension (as is used by DRI2, for instance). The driver uses the loader 'getBuffers' interface to allocate color buffers. The loader uses the createNewScreen2, createNewDrawable, createNewContext, getAPIMask and createContextAttribs APIS (mostly shared with DRI2). This interface will work with the DRI3 loader, and should also work with GBM and other loaders so that drivers need not be customized for each new loader interface, as long as they provide this image interface. v2: Fix build of i915 and i965 together (by anholt) Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Eric Anholt <eric@anholt.net>
2013-11-07Define __DRI_IMAGE_FORMAT_SARGB8Keith Packard1-0/+1
This format will be used by the i965 driver Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-11-07drivers/dri/common: A few dri2 functions are not actually DRI2 specificKeith Packard1-22/+39
This just renames them so that they can be used with the DRI3 extension without causing too much confusion. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-11-07glx: Add GLX_MESA_query_rendererIan Romanick1-1/+26
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-11-07dri: Add interface definition for DRI_RENDERER_QUERY extensionIan Romanick1-0/+29
This will be used to let apps query hardware and driver limits before creating a GL context. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2013-11-05mesa: Remove last BEOS checksAlexander von Gluck IV1-8/+0
* Goodbye BeOS, we hardly knew thee * As BeOS was gcc2 only, there was little chance of this being useful. * Doesn't effect Haiku in any meaningful way Reviewed-by: Brian Paul <brianp@vmware.com>
2013-11-04mesa: remove OPENSTEP stuffBrian Paul1-5/+1
Reviewed-by: Matt Turner <mattst88@gmail.com>
2013-11-04mesa: remove macintosh preprocessor stuffBrian Paul1-7/+0
IIRC, this is MacOS 9.x stuff. Reviewed-by: Matt Turner <mattst88@gmail.com>
2013-11-04mesa: remove __QUICKDRAW__ testsBrian Paul2-6/+1
Reviewed-by: Matt Turner <mattst88@gmail.com>
2013-11-04mesa: remove Centerline C support from gl.hBrian Paul1-4/+0
Reviewed-by: Eric Anholt <eric@anholt.net>
2013-11-04mesa: remove SciTech stuff from gl.hBrian Paul1-5/+1
Reviewed-by: Eric Anholt <eric@anholt.net>
2013-10-24dri: Implement a DRI vtable extension to replace the global driDriverAPI.Eric Anholt1-0/+17
As we move to megadrivers, we are unable to build multiple drivers with the same public global symbol per driver (Think an X Server with an intel and a nouveau driver, and the X Server implementing indirect for both -- we have to actually talk to the right driver). By slipping the driDriverAPI vtable into the driver's extension list, we can replace the usage of the global symbol with usage of the loader-dlsym()ed driver information. v2: Pull in the hunk to avoid crashing on null driver_extensions. Thanks, Emil! Reviewed-by: Matt Turner <mattst88@gmail.com> (v1) Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2013-10-24dri: Pass in the dlsym()ed driver extension to screen creation.Eric Anholt1-2/+25
This will allow a megadrivers build to reference the actual driver being loaded from the shared dri_util screen creation code. v2: Fix indentation, fallback case in EGL (review by Emil). Reviewed-by: Matt Turner <mattst88@gmail.com> (v1) Reviewed-by: Chad Versace <chad.versace@linux.intel.com> (v1) Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2013-10-24glx: Add an optional function call for getting the DRI driver interface.Eric Anholt1-0/+13
The previous interface relied on a static struct, which meant that the driver didn't get a chance to edit the struct before the struct got used. For megadrivers, I want struct specific to the driver being loaded. v2: Fix the prototype in the docs (caught by Marek). Since the driver name was in the function, we didn't need to also pass it in. v3: Fix asprintf error checking (caught by Matt's gcc). Reviewed-by: Matt Turner <mattst88@gmail.com> (v1) Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2013-10-24dri: Allow config options to be passed to the loader through extensions.Eric Anholt1-6/+14
Turns out already we have this nice mechanism for providing optional things from the driver to the loader, and I was going to have to rename the public global symbol to avoid conflicts when doing megadrivers. While the former __driConfigOptions is technically loader interface, this is the only loader that made use of that symbol. Continue paying attention to it if we can't find the new option, to retain compatibility with old drivers. Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2013-10-22mesa: fixes for MSVC 2013Scott Graham1-1/+2
Cc: "9.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2013-10-22mesa: remove GL_MESA_program_debug bits from gl.hBrian Paul1-21/+0
The code for this was removed from Mesa some time ago. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-10-22mesa: remove remnants of GL_MESA_shader_debugBrian Paul1-20/+0
This extension never saw any real use so remove it. v2: also update tests/num_strings.cpp for 'make check' Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-10-18mesa: Remove GLXContextID typedef from glx.h.Vinson Lee1-1/+0
Fixes this build error. CC clientattrib.lo In file included from ../../include/GL/glx.h:333, from glxclient.h:45, from clientattrib.c:32: ../../include/GL/glxext.h:275: error: redefinition of typedef ‘GLXContextID’ ../../include/GL/glx.h:171: note: previous declaration of ‘GLXContextID’ was here Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70591 Signed-off-by: Vinson Lee <vlee@freedesktop.org>
2013-10-17mesa: remove PFNGLBLENDCOLORPROC, PFNGLBLENDEQUATIONPROC typedefs in gl.hBrian Paul1-2/+0
Fixes error about duplicated typedefs (also in glext.h) reported on NetBSD 6.1 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70546 Tested-by: Vinson Lee <vlee@freedesktop.org>
2013-10-16mesa: update glxext.h to version 20131008Brian Paul1-800/+637
The diff is huge but the actual changes are few: * Whitespace changes * Items are reordered * extern qualifiers dropped
2013-10-16mesa: update glext.h to version 20131008Brian Paul1-502/+750
Only two notable changes in this revision: * GLvoid has been replaced by void. * Added the GL_NV_blend_equation_advanced extension.
2013-10-15dri: Add __DRIimage support for the ARGB2101010 formatKristian Høgsberg1-0/+2
We add support for the ARGB2101010 color format to the DRI image extension, which allows DRI loaders to create a __DRIimage with this color format. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
2013-10-13i965: Add the family name to the PCI ID table.Kenneth Graunke2-94/+94
I removed this a while ago, since we never used it, but I'm finally resurrecting the idea in the next commits. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-10-13i965: Remove #define name from PCI ID table.Kenneth Graunke2-94/+94
Nothing uses the #define name, and it's not terribly useful - the numerical ID serves the same purpose. The only thing we could really do with it is generate slightly prettier preprocessed code. But who looks at that? Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2013-09-16egl: add EGL_WAYLAND_Y_INVERTED_WL attributeStanislav Vorobiov1-0/+2
This enables querying of wl_buffer's orientation
2013-09-06radeonsi: add berlin pci idsAlex Deucher1-0/+22
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2013-09-06gallium, intel: Implements new __DRI_IMAGE_USE_LINEAR and PIPE_BIND_LINEAR ↵Axel Davy1-0/+1
flags to enforce no tiling. Signed-off-by: Axel Davy <axel.davy@ens.fr>
2013-08-07egl: Update to Wayland 1.2 server APIAnder Conselvan de Oliveira1-3/+3
Since Wayland 1.2, struct wl_buffer and a few functions are deprecated. References to wl_buffer are replaced with wl_resource and some getter functions and calls to deprecated functions are replaced with the proper new API. The latter changes are related to resource versioning. Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
2013-08-02dri: propagate extra dma_buf import attributes to the driversTopi Pohjolainen1-1/+38
v2: do not break ABI, but instead introduce new entry point for dma buffers and bump up the dri-interface version to eight v3 (Chad): allow the hook to specify an error originating from the driver. For now only unsupported format is considered. I thought about rejecting the hints also as they are addressing only YUV sampling which is not supported at the moment but then thought against it as the spec is not saying one way or the other. v4 (Eric, Chad): restrict to rgb formatted only v5: rebased on top of i915/i965 split v6 (Chad): document using full extension name Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Reviewed-by: Chad Versace <chad.versace@linux.intel.com>
2013-07-29gles3: Update gl3.h to 2013-02-12.Matt Turner1-4/+4
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-07-29gles2: Update gl2ext.h to revision 22161.Matt Turner1-114/+357
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-07-29gles2: Update gl2.h to revision 20555.Matt Turner1-3/+3
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-07-29gles: Update glext.h to revision 20798.Matt Turner1-3/+3
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2013-07-18dri: Introduce new flags in __DRI_ATTRIB_RENDER_TYPETomasz Lis1-0/+2
Mark __DRI_ATTRIB_FLOAT_MODE as deprecated, and introduce new flags to __DRI_ATTRIB_RENDER_TYPE for float modes. Both signed float (fbconfig_float) and unsigned (packed_float) are introduced. The old attribute should be set for both float modes. v2 (idr): Require that the render mode from the DRI attributes matches the render mode of the config exactly. This is the behavior of the old code. Signed-off-by: Tomasz Lis <tomasz.lis@intel.com> Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>