summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* c11/threads: don't include assert.h if the assert macro is already definedBrian Paul2014-03-192-0/+4
| | | | | | | | | | | | | | | | | In the gallium code, the assert() macro could come from either the system's assert.h file (via c11/threads.h) or from gallium's u_debug.h. It looks like all known assert.h files unconditionally #undef assert before defining their own version. So the assert you get depends on whether threads.h or u_debug.h was included last. In the gallium code we really want to use the assert() from u_debug.h (it behaves better on Windows). In gallium, c11/threads.h is only included after u_debug.h in the os_thread.h wrapper. So Adding an #ifndef assert test in the threads*.h files avoids using the system's assert(). Cc: "10.1" <[email protected]> Reviewed-by: José Fonseca <[email protected]>
* loader: add special logic to distinguish nouveau from nouveau_vieuxIlia Mirkin2014-03-191-81/+0
| | | | | | | | | | | There are a lot of different pci ids supported by nouveau, and more are added all the time. The relevant distinguisher between drivers is the chipset id. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Cc: "10.1" <[email protected]>
* egl: Update to revision 24567 of eglext.hChad Versace2014-03-171-443/+517
| | | | | | | | | | | This pulls in EGL_EXT_platform_base, EGL_EXT_platform_wayland, EGL_EXT_platform_x11, and EGL_MESA_platform_gbm. This patch has a lot of churn because Khronos recently changed its method of generating headers. Khronos now generates it headers from XML. Reviewed-by: Ian Romanick <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* Add the EGL_MESA_configless_context extensionNeil Roberts2014-03-121-0/+5
| | | | | | | | | | | | | | | | | | | | This extension provides a way for an application to render to multiple surfaces with different buffer formats without having to use multiple contexts. An EGLContext can be created without an EGLConfig by passing EGL_NO_CONFIG_MESA. In that case there are no restrictions on the surfaces that can be used with the context apart from that they must be using the same EGLDisplay. _mesa_initialze_context can now take a NULL gl_config which will mark the context as ‘configless’. It will memset the visual to zero in that case. Previously the i965 and i915 drivers were explicitly creating a zeroed visual whenever 0 is passed for the EGLConfig. Mesa needs to be aware that the context is configless because it affects the initial value to use for glDrawBuffer. The first time the context is bound it will set the initial value for configless contexts depending on whether the framebuffer used is double-buffered. Reviewed-by: Kristian Høgsberg <[email protected]>
* glx: Update glxext.h to revision 25407Adel Gadllah2014-03-071-3/+29
| | | | | Signed-off-by: Adel Gadllah <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* c11/threads: Don't implement thrd_current on Windows.José Fonseca2014-03-041-2/+32
| | | | | | | | | | | | | | | | | | | | | | GetCurrentThread() returns a pseudo-handle (a constant which only makes sense when used within the calling thread) and not a real handle. DuplicateHandle() will return a real handle, but it will create a new handle every time we call. Calling DuplicateHandle() here means we will leak handles, which can cause serious problems. In short, the Windows implementation of thrd_t needs a thorough make over, and it won't be pretty. It looks like C11 committee over-simplified things: it would be much better to have seperate objects for threads and thread IDs like C++11 does. For now, just comment out the thrd_current() implementation, so we get build errors if anybody tries to use it. Thanks to Brian Paul for spotting and diagnosing this problem. Cc: "10.0" "10.1" <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* c11/threads: Fix nano to milisecond conversion.José Fonseca2014-03-041-1/+1
| | | | | | | | Per https://gist.github.com/yohhoy/2223710/#comment-710118 Cc: "10.0" "10.1" <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Michel Dänzer <[email protected]>
* NV_vdpau_interop: fix IsSurfaceNV return typeGrigori Goronzy2014-03-031-1/+1
| | | | | | | | The spec incorrectly used void as return type, when it should have been GLboolean. This has now been fixed. According to Nvidia, their implementation always used GLboolean. Reviewed-by: Christian König <[email protected]>
* dri_interface: note introduction of __DRIdri2LoaderExtension membersEmil Velikov2014-02-231-0/+4
| | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* dri_interface: note introduction of various __DRItexBufferExtension membersEmil Velikov2014-02-231-0/+4
| | | | | | | | | | Note the member function releaseTexBuffer was added without bumping spec version, and currently no drivers implement it. v2: releaseTexBuffer was introduced by version 3 Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* dri_interface: Note the version introducing ↵Emil Velikov2014-02-231-0/+2
| | | | | | | __DRIswrastLoaderExtensionRec::putImage2 Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i965: Enable Broadwell support.Kenneth Graunke2014-02-201-2/+0
| | | | | Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* mesa: change GL_ALL_ATTRIB_BITS to 0xFFFFFFFFBrian Paul2014-02-031-1/+1
| | | | | | | | | | | | | | This has been wrong for many years. It was originally 0x000FFFFF and long ago there was discussion about whether GL_ALL_ATTRIB_BITS should include the then-new GL_MULTISAMPLE_BIT bit. Eventually the ARB decided that glPushAttrib(GL_ALL_ATTRIB_BITS) should save all current and future attribute groups (hence ~0). Unfortunately, Mesa's gl.h was never updated. This was just recently spotted by Eric Anholt and reported as a bug to the ARB. Ian, Jon Leech and I discussed it at the ARB meeting and decided to change Mesa's value to reflect the ARB's decision. Acked-by: Eric Anholt <[email protected]>
* i965: Add (disabled) Broadwell PCI IDs.Kenneth Graunke2014-01-311-0/+20
| | | | | | | | | This puts the PCI IDs in place so it's easy to enable support. However, it doesn't actually enable support since it's very preliminary still, and a few crucial pieces (such as BLORP) are still missing. Signed-off-by: Kenneth Graunke <[email protected]> Acked-by: Eric Anholt <[email protected]>
* dri3, i915, i965: Add __DRI_IMAGE_FOURCC_SARGB8888Keith Packard2014-01-301-0/+1
| | | | | | | | | | | | | | | | The __DRIimage createImageFromFds function takes a fourcc code, but there was no fourcc code that match __DRI_IMAGE_FORMAT_SARGB8. This adds a define for that format, adds a translation in DRI3 from __DRI_IMAGE_FORMAT_SARGB8 to __DRI_IMAGE_FOURCC_SARGB8888 and then adds translations *back* to __IMAGE_FORMAT_SARGB8 in both the i915 and i965 drivers. I'll refrain from comments on whether I think having two separate sets of format defines in dri_interface.h is a good idea or not... Fixes piglit glx-tfp and glx-visuals-depth Signed-off-by: Keith Packard <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* c11: Add missing stdlib.h include.José Fonseca2014-01-281-0/+1
| | | | | | For malloc/free. Silences gcc mingw warnings.
* glx: Update glxext.h to revision 24777.Matt Turner2014-01-271-2/+11
| | | | | | | | It readds the GLXContextID typedef, but under #ifndef GLX_VERSION_1_3 and glx.h already defines GLX_VERSION_1_3. Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=11454 Reviewed-by: Ian Romanick <[email protected]>
* haiku: change atomic int to non-volatileAlexander von Gluck IV2014-01-261-5/+5
| | | | | | * Our atomic calls changed recently and no longer want atomic int pointers to be volatile * Spellcheck
* c11: Do not use pthread_mutex_timedlock on NetBSD.Vinson Lee2014-01-241-1/+1
| | | | | | | | | | | | This patch fixes the NetBSD build. NetBSD does not have pthread_mutex_timedlock. CC glapi_dispatch.lo threads_posix.h: In function 'mtx_timedlock': threads_posix.h:216:5: error: implicit declaration of function 'pthread_mutex_timedlock' Signed-off-by: Vinson Lee <[email protected]>
* gles3: Update gl3.h to revision 24614.Matt Turner2014-01-231-1022/+900
| | | | Reviewed-by: Anuj Phogat <[email protected]>
* gles2: Update gl2ext.h to revision 24614.Matt Turner2014-01-231-1516/+1091
| | | | Reviewed-by: Anuj Phogat <[email protected]>
* gles2: Update gl2.h to revision 24614.Matt Turner2014-01-231-338/+243
| | | | Reviewed-by: Anuj Phogat <[email protected]>
* c11: Fix missing pthread_mutex_timedlock declaration warnings on MacOSX.José Fonseca2014-01-231-1/+7
|
* c11: Update docs/license.html and include verbatim copy of Boost license.José Fonseca2014-01-233-3/+66
|
* c11: Import threads.h emulation library.José Fonseca2014-01-233-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 <[email protected]> Acked-by: Ian Romanick <[email protected]> Acked-by: Chad Versace <[email protected]>
* pci_ids: no not include loader.hEmil Velikov2014-01-181-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 <[email protected]> Reviewed-by: Rob Clark <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* loader: introduce the loader util libEmil Velikov2014-01-181-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 <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Rob Clark <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* s/Tungsten Graphics/VMware/José Fonseca2014-01-172-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/[email protected]/[email protected]/ s/[email protected]/[email protected]/g s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/ s/jrfonseca\[email protected]/[email protected]/g s/keithw\[email protected]/[email protected]/g s/[email protected]/[email protected]/g s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/ s/[email protected]/[email protected]/ # 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 <[email protected]>
* mesa: Remove GLXContextID typedef from glxext.h.Vinson Lee2014-01-061-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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* Revert "mesa: Remove GLXContextID typedef from glx.h."Kenneth Graunke2013-12-291-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" <[email protected]>
* r600g: fix SUMO2 pci idAlex Deucher2013-12-241-1/+1
| | | | | | | 0x9649 is sumo2, not sumo. Signed-off-by: Alex Deucher <[email protected]> CC: "9.2" "10.0" <[email protected]>
* Haiku: Add in public GL kit headersAlexander von Gluck IV2013-12-164-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 <[email protected]>
* mesa: update glext.h to version 20131212Brian Paul2013-12-131-7/+61
| | | | Acked-by: Kenneth Graunke <[email protected]>
* swrast* (gallium, classic): add MESA_copy_sub_buffer support (v3)Dave Airlie2013-12-131-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 <[email protected]> Signed-off-by: Dave Airlie <[email protected]> swrast: add support for copy_sub_buffer
* mesa: Remove GL_MESA_texture_array cruft from gl.hIan Romanick2013-12-041-33/+0
| | | | | | | | glext.h has had all the necessary bits for years. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* wayland: Add an extension to create wl_buffers from EGLImagesNeil Roberts2013-12-041-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.
* osmesa: add support for postprocess filtersBrian Paul2013-11-181-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 <[email protected]>
* radeonsi: add Hawaii pci idsAlex Deucher2013-11-151-0/+13
| | | | | Reviewed-by: Michel Dänzer <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* dri: Remove redundant createNewContext function from __DRIimageDriverExtensionKristian Høgsberg2013-11-121-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 <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Cc: "10.0" <[email protected]>
* dri: add __DRIimageLoaderExtension and __DRIimageDriverExtensionKeith Packard2013-11-071-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 <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* Define __DRI_IMAGE_FORMAT_SARGB8Keith Packard2013-11-071-0/+1
| | | | | | | This format will be used by the i965 driver Signed-off-by: Keith Packard <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* drivers/dri/common: A few dri2 functions are not actually DRI2 specificKeith Packard2013-11-071-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 <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* glx: Add GLX_MESA_query_rendererIan Romanick2013-11-071-1/+26
| | | | | Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* dri: Add interface definition for DRI_RENDERER_QUERY extensionIan Romanick2013-11-071-0/+29
| | | | | | | | This will be used to let apps query hardware and driver limits before creating a GL context. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Remove last BEOS checksAlexander von Gluck IV2013-11-051-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 <[email protected]>
* mesa: remove OPENSTEP stuffBrian Paul2013-11-041-5/+1
| | | | Reviewed-by: Matt Turner <[email protected]>
* mesa: remove macintosh preprocessor stuffBrian Paul2013-11-041-7/+0
| | | | | | IIRC, this is MacOS 9.x stuff. Reviewed-by: Matt Turner <[email protected]>
* mesa: remove __QUICKDRAW__ testsBrian Paul2013-11-042-6/+1
| | | | Reviewed-by: Matt Turner <[email protected]>
* mesa: remove Centerline C support from gl.hBrian Paul2013-11-041-4/+0
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: remove SciTech stuff from gl.hBrian Paul2013-11-041-5/+1
| | | | Reviewed-by: Eric Anholt <[email protected]>