summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2014-07-30dri: Add a new capabilities for drivers that can't share buffersGiovanni Campagna1-1/+16
The kms-dri swrast driver cannot share buffers using the GEM, so it must tell the loader to disable extensions relying on that, without disabling the image DRI extension altogether (which would prevent the loader from working at all). This requires a new gallium capability (which is queried on the pipe_screen and for swrast drivers it's forwarded to the winsys), and requires a new version of the DRI image extension. [Emil Velikov] - Rebased on top of gallium-dri megadrivers. - Drop PIPE_CAP_BUFFER_SHARE and sw_winsys::get_param hook. The can_share_buffer cap is set at InitScreen. We use a different InitScreen (and thus value for the cap) function for kms_dri, due to deeper differences originating from dri megadrivers. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2014-07-02xmlconfig/dri: bool -> unsigned charDave Airlie1-2/+1
Drop stdbool, due to the X server being a pain and having struct members called bool, although I've sent a patch to fix that we should retain stupidity here. Use unsigned char which is what GLboolean is anyways. Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-07-01dri: remove GL types from config queriesDave Airlie1-3/+4
This in theory changes ABI for the boolean->bool I think, but nothing in the tree uses configQueryb AFAICS. Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-06-27dri/image: add blitImage to the specificationAxel Davy1-1/+23
It allows to blit two __DRIimages. Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-06-27glxext: Send the Drawable's ID in the GLX_BufferSwapComplete eventJasper St. Pierre1-1/+1
While the official INTEL_swap_event specification says that the drawable field should contain the GLXDrawable, not the Drawable, the existing DRI2 code in dri2.c that translates from DRI2_BufferSwapComplete sends out GLX_BufferSwapComplete with the Drawable's ID, so existing codebases like Clutter/Cogl rely on getting the Drawable. Match DRI2's error here and stuff the event with the X Drawable, not the GLX drawable. This fixes apps seeing wrong drawables through an indirect GLX context or with DRI3, which uses the GLX_BufferSwapComplete event directly on the wire instead of translates Present in mesa. At the same time, also modify the structure for the event to make sure that clients don't make the same mistake. This is not an API or ABI break, as GLXDrawable and Drawable are both typedefs for XID. Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net> Reviewed-by: Axel Davy <axel.davy@ens.fr> Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
2014-06-26i965: Include marketing names for Broadwell GPUs.Kenneth Graunke1-18/+18
Intel would like us to include the marketing names. Developers additionally want "Broadwell GT1/2/3" because it makes it easier to identify what hardware users have when they request assistance or report issues. Including both makes it easy for everyone to map between the names. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org>
2014-05-20Import eglextchromium.h from Chromium.Sarah Sharp2-0/+61
In order to support the (currently unregistered) Chromium-specific EGL extension eglGetSyncValuesCHROMIUM on Intel systems, we need to import the Chromium header that defines it. The file was downloaded from https://chromium.googlesource.com/chromium/chromium/+/trunk/ui/gl/EGL/eglextchromium.h It is subject to the license found at https://chromium.googlesource.com/chromium/chromium/+/trunk/LICENSE I have imported the header file and added the license text to the top. The only change was to fix the include guard on the Chromium header to change the last line from a #define to a #endif, which makes the header actually compile. Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Reviewed-by: Chad Versace <chad.versace@linux.intel.com> Cc: Jamey Sharp <jamey@minilop.net> Cc: Ian Romanick <idr@freedesktop.org> Cc: Stéphane Marchesin <stephane.marchesin@gmail.com>
2014-05-02radeonsi: add Mullins pci ids.Samuel Li1-0/+17
Signed-off-by: Samuel Li <samuel.li@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com>
2014-05-02Regenerate gl_mangle.h.Petri Latvala1-6/+365
Signed-off-by: Petri Latvala <petri.latvala@intel.com> Acked-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-29clover: Update OpenCL headers to version 1.2 from Khronos.Francisco Jerez10-300/+1218
The C++ headers are *not* updated because they rely on CL 1.2 APIs that we do not implement yet when the core CL 1.2 headers are present. Acked-by: Tom Stellard <thomas.stellard@amd.com>
2014-04-28mesa: remove unused #pragma export on/off linesBrian Paul1-17/+0
PRAGMA_EXPORT_SUPPORTED is never defined. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77749 Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-28dri_interface: Update __DRItexBufferExtensionRec to version 3Emil Velikov1-1/+1
With commit e59fa4c46c8("dri2: release texture image.") we updated the extension without bumping the version number. The patch itself added an interface required to enable texture_from_pixmap on certain platforms. The new code was effectively never build, as it depended on __DRI_TEX_BUFFER_VERSION >= 3, which never came to be in upstream mesa. This commit bumps the version number, drops the __DRI_TEX_BUFFER_VERSION checks and resolves all the build conflicts. Additionally it add a version check as egl and dri3, as require version 2 of the extension which does not have the releaseTexBuffer hook. Cc: Juan Zhao <juan.j.zhao@intel.com> Cc: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
2014-04-18mesa: update glext.h to version 20140313Petri Latvala1-6/+76
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-04-01include/GLES3: add OpenGL ES 3.1 HeadersJordan Justen3-4/+1273
From: http://www.khronos.org/registry/gles/api/GLES3/gl31.h http://www.khronos.org/registry/gles/api/GLES2/gl2ext.h http://www.khronos.org/registry/gles/api/GLES3/gl3platform.h Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2014-03-28i965: Add Cherryview support.Kenneth Graunke1-0/+4
Based on a patch by Ville Syrjälä. As usual, these are placeholder values; actual values will come later. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2014-03-19c11/threads: don't include assert.h if the assert macro is already definedBrian Paul2-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" <mesa-stable@lists.freedesktop.org> Reviewed-by: José Fonseca <jfonseca@vmware.com>
2014-03-19loader: add special logic to distinguish nouveau from nouveau_vieuxIlia Mirkin1-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 <imirkin@alum.mit.edu> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net> Cc: "10.1" <mesa-stable@lists.freedesktop.org>
2014-03-17egl: Update to revision 24567 of eglext.hChad Versace1-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 <ian.d.romanick@intel.com> Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2014-03-12Add the EGL_MESA_configless_context extensionNeil Roberts1-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 <krh@bitplanet.net>
2014-03-07glx: Update glxext.h to revision 25407Adel Gadllah1-3/+29
Signed-off-by: Adel Gadllah <adel.gadllah@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-03-04c11/threads: Don't implement thrd_current on Windows.José Fonseca1-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" <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
2014-03-04c11/threads: Fix nano to milisecond conversion.José Fonseca1-1/+1
Per https://gist.github.com/yohhoy/2223710/#comment-710118 Cc: "10.0" "10.1" <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Michel Dänzer <michel@daenzer.net>
2014-03-03NV_vdpau_interop: fix IsSurfaceNV return typeGrigori Goronzy1-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 <christian.koenig@amd.com>
2014-02-23dri_interface: note introduction of __DRIdri2LoaderExtension membersEmil Velikov1-0/+4
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-02-23dri_interface: note introduction of various __DRItexBufferExtension membersEmil Velikov1-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 <emil.l.velikov@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-02-23dri_interface: Note the version introducing ↵Emil Velikov1-0/+2
__DRIswrastLoaderExtensionRec::putImage2 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-02-20i965: Enable Broadwell support.Kenneth Graunke1-2/+0
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2014-02-03mesa: change GL_ALL_ATTRIB_BITS to 0xFFFFFFFFBrian Paul1-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 <eric@anholt.net>
2014-01-31i965: Add (disabled) Broadwell PCI IDs.Kenneth Graunke1-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 <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net>
2014-01-30dri3, i915, i965: Add __DRI_IMAGE_FOURCC_SARGB8888Keith Packard1-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 <keithp@keithp.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2014-01-28c11: Add missing stdlib.h include.José Fonseca1-0/+1
For malloc/free. Silences gcc mingw warnings.
2014-01-27glx: Update glxext.h to revision 24777.Matt Turner1-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 <ian.d.romanick@intel.com>
2014-01-26haiku: change atomic int to non-volatileAlexander von Gluck IV1-5/+5
* Our atomic calls changed recently and no longer want atomic int pointers to be volatile * Spellcheck
2014-01-24c11: Do not use pthread_mutex_timedlock on NetBSD.Vinson Lee1-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 <vlee@freedesktop.org>
2014-01-23gles3: Update gl3.h to revision 24614.Matt Turner1-1022/+900
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2014-01-23gles2: Update gl2ext.h to revision 24614.Matt Turner1-1516/+1091
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2014-01-23gles2: Update gl2.h to revision 24614.Matt Turner1-338/+243
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2014-01-23c11: Fix missing pthread_mutex_timedlock declaration warnings on MacOSX.José Fonseca1-1/+7
2014-01-23c11: Update docs/license.html and include verbatim copy of Boost license.José Fonseca3-3/+66
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>