summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* dri: introduce dmabuf format modifier related handlesVarad Gautam2017-05-301-1/+62
| | | | | | | | | | | | | | | | | | these allow dmabuf import with modifiers, and supported format and modifier queries, which are used to implement EGL_EXT_image_dma_buf_import_modifiers. v2: - squash dmabuf queries into DRIimage version 15 (Jason Ekstrand). - add external_only param to queryDmaBufModifiers (Emil, Daniel Stone) - pass a single modifier form createImageFromDmaBufs2 since all planes have the same modifier (Jason Ekstrand) Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by: Varad Gautam <varad.gautam@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
* dri: Extend __DRIbackgroundCallableExtensionRec to include a callback that ↵Gregory Hainaut2017-05-291-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | checks for thread safety DRI-drivers could call Xlib functions, for example to allocate a new back buffer. When glthread is enabled, the driver runs mostly on a separate thread. Therefore we need to guarantee the thread safety between libX11 calls from the applications (not aware of the extra thread) and the ones from the driver. See discussion thread: https://lists.freedesktop.org/archives/mesa-dev/2017-April/152547.html Fortunately, Xlib allows to lock display to ensure thread safety but XInitThreads must be called first by the application to initialize the lock function pointer. This patch will allow to check XInitThreads was called to allow glthread on GLX or EGL platform. Note: a tentative was done to port libX11 code to XCB but it didn't solve fully thread safety. See discussion thread: https://lists.freedesktop.org/archives/mesa-dev/2017-April/153137.html Note: Nvidia forces the driver to call XInitThreads. Quoting their manpage: "The NVIDIA OpenGL driver will automatically attempt to enable Xlib thread-safe mode if needed. However, it might not be possible in some situations, such as when the NVIDIA OpenGL driver library is dynamically loaded after Xlib has been loaded and initialized. If that is the case, threaded optimizations will stay disabled unless the application is modified to call XInitThreads() before initializing Xlib or to link directly against the NVIDIA OpenGL driver library. Alternatively, using the LD_PRELOAD environment variable to include the NVIDIA OpenGL driver library should also achieve the desired result." v2: based on Nicolai and Matt feedback Use C style comment v3: based on Emil feedback split the patch in 3 s/isGlThreadSafe/isThreadSafe/ v5: based on Marek comment Add a comment that isThreadSafe is supported by extension v2 Signed-off-by: Gregory Hainaut <gregory.hainaut@gmail.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* vulkan: Update registry and headers to 1.0.49Jason Ekstrand2017-05-161-4/+107
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
* radeonsi/gfx9: add support for RavenMarek Olšák2017-05-151-0/+2
| | | | | | Cc: 17.1 <mesa-stable@lists.freedesktop.org> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
* radeonsi: add new vega10 pci idsAlex Deucher2017-05-101-0/+2
| | | | | | Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Cc: 17.1 <mesa-stable@lists.freedesktop.org> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
* dri_interface.h: define __DRI_ATTRIB_MAXEmil Velikov2017-05-041-0/+1
| | | | | | | | | | | | | Thus we can use the value to explicitly size arrays, instead of __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE + 1. The latter seems magical and is error prone, as we add more dri attributes. v2: Fix off by one error (Tomasz) Cc: Tomasz Figa <tfiga@chromium.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
* c11/threads: rework Windows thrd_current() commentEmil Velikov2017-05-041-3/+7
| | | | | | | | | | | | Drop the misleading "will not match the one returned by thread_create" hunk and provide more clarity as to what/why GetCurrentThread() isn't the solution we're looking for. v2: Places brackets after function names (Eric) Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> (v1) Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
* radeonsi: add new polaris10 pci idAlex Deucher2017-04-051-0/+1
| | | | | | Reviewed-by: Christian König <christian.koenig@amd.com> Cc: 13.0 17.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
* vulkan: Bump the header and XML to the latest public versionJason Ekstrand2017-03-311-40/+131
|
* radeonsi: add Vega10 PCI IDsMarek Olšák2017-03-301-0/+8
| | | | Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
* c11/threads: Include thr/xtimec.h for xtime definition when building with MSVC.Jose Fonseca2017-03-291-0/+5
| | | | | | | | | | | | | | | | | | | MSVC has been including a xtime definition in thr/xtimec.h ever since MSVC 2013 (which is the minimum we require for building Mesa), and including it prevents duplicate definitions when it gets included by LLVM. In fact, it looks that MSVC has been including a partial C11 threads implementation too for some time, which we should consider migrating to once we eliminate the use of _MTX_INITIALIZER_NP in our tree. Thanks to the anonymous helper from https://bugs.freedesktop.org/show_bug.cgi?id=100201#c4 for spotting this. Reviewed-by: Roland Scheidegger <sroland@vmware.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100201 CC: "17.0" <mesa-stable@lists.freedesktop.org>
* radeonsi: add new polaris12 pci idAlex Deucher2017-03-171-0/+1
| | | | | | Reviewed-by: Marek Olšák <marek.olsak@amd.com> Cc: 17.0 <mesa-stable@lists.freedesktop.org> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
* dri_interface: Add new marshalling interfaces to dri_interface.hPaul Berry2017-03-161-0/+39
| | | | | | | Acked-by: Timothy Arceri <tarceri@itsqueeze.com> Acked-by: Marek Olšák <maraeo@gmail.com> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> Tested-by: Mike Lothian <mike@fireburn.co.uk>
* dri: Add an image creation with modifiersBen Widawsky2017-03-151-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | Modifiers will be obtained or guessed by the client and passed in during image creation/import. In guessing, a client might decide to simply pass along all known modifiers This requires bumping the DRIimage version. As of this patch, the modifiers aren't plumbed all the way down, this patch simply makes sure the interface level stuff is correct. v2: Don't allow usage + modifiers v3: Make NAND actually NAND. Bug introduced in v2. (Jason) v4: - s/obtains/obtained (Jason) - Pull out i965 imlemnentation into a later patch (Emil) Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> (v1) Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Acked-by: Daniel Stone <daniels@collabora.com>
* i965: Add Kaby Lake brandstringsBen Widawsky2017-03-021-10/+10
| | | | | | | | While here, use the spacing defined in Ark. https://ark.intel.com/products/codename/82879/Kaby-Lake Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
* vulkan: Update registry and headers to 1.0.42Jason Ekstrand2017-02-271-22/+991
| | | | This brings in a bunch of new extensions
* eglmesaext: add new enums for EGL_MESA_drm_image_formatsNicolai Hähnle2017-02-061-0/+7
| | | | Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
* egl: EGL_PLATFORM_SURFACELESS_MESA is now upstreamEric Engestrom2017-01-271-5/+0
| | | | | | | | EGL_PLATFORM_SURFACELESS_MESA is in eglext.h as of last commit. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Chad Versace <chadversary@chromium.org>
* egl: update headers from registryEric Engestrom2017-01-273-25/+206
| | | | | | | | | | Khronos introduced a new macro (suggested by Google) to avoid using C-style casts in C++ code, as those generate warnings. Khronos Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=16113 Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Chad Versace <chadversary@chromium.org>
* vulkan: bump vulkan.h to 1.0.39 versionDave Airlie2017-01-241-2/+365
| | | | | | | This introduces a bunch of new extension defines. Acked-by: Jason Ekstrand <jason@jlekstrand.net> Signed-off-by: Dave Airlie <airlied@redhat.com>
* dri: allow 16bit R/GR images to be exported via drm buffersRainer Hochecker2017-01-231-0/+4
| | | | | | | This allows eglCreateImageKHR to access P010 surfaces created by vaapi Signed-off-by: Rainer Hochecker <fernetmenta@online.de> Acked-by: Ben Widawky <ben@bwidawsk.net>
* scons: set HAVE_FUNC_ATTRIBUTE_ALIASEmil Velikov2017-01-181-0/+1
| | | | | | | | Analogoust to the previous commit were we did so for autotools Cc: Jose Fonseca <jfonseca@vmware.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* include: update Vulkan headersLionel Landwerlin2017-01-142-5/+244
| | | | | Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
* vulkan: Update vk_icd.h to interface version 3Chad Versace2017-01-121-32/+78
| | | | | | | | Import from commit f2aeefec on branch 'master' of https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers. Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Cc: mesa-stable@lists.freedesktop.org
* dri: Add __DRI_IMAGE_FORMAT_ARGB1555Chad Versace2016-12-271-0/+2
| | | | | | | | | | | | | This allows eglCreateImage() to accept textures of said format. Patch 1/2 to fix dEQP-EGL.functional.image.modify.tex_rgb5_a1_tex_subimage_rgba8 on Intel. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99185 Cc: Haixia Shi <hshi@chromium.org> Reviewed-by: Tapani Pälli <tapani.palli@intel.com> Cc: "13.0" <mesa-stable@lists.freedesktop.org>
* radeonsi: add Polaris12 PCI IDJunwei Zhang2016-12-211-0/+7
| | | | | | Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
* d3dadapter/present: Add precision for WaitBufferReleasedAxel Davy2016-12-201-1/+4
| | | | | | | | Add precision on the behaviour of WaitBufferReleased. All implementers and users of the API were expecting that behaviour. Signed-off-by: Axel Davy <axel.davy@ens.fr>
* d3dadapter/present: Add new API to ID3DPresentAxel Davy2016-12-201-0/+24
| | | | | | | The API will enable better support for the commonly used DISCARD swapchain parameter. Signed-off-by: Axel Davy <axel.davy@ens.fr>
* add EGL_TEXTURE_EXTERNAL_WL to WL_bind_wayland_display specRob Clark2016-12-051-0/+1
| | | | | Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
* dri: extend fence extension to support native fd fencesRob Clark2016-12-011-1/+43
| | | | | | | | | Required to implement EGL_ANDROID_native_fence_sync. Signed-off-by: Rob Clark <robclark@freedesktop.org> Tested-by: Rafael Antognolli <rafael.antognolli@intel.com> Reviewed-by: Chad Versace <chadversary@chromium.org> Tested-by: Chad Versace <chadversary@chromium.org>
* i965: Fix KBL typo in stringBen Widawsky2016-11-151-1/+1
| | | | | | Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* i965/glk: Add basic Geminilake supportBen Widawsky2016-11-151-0/+2
| | | | | | | | | | v2: s/bdw/gen; Add the 2x6 config v3: Add min_ds_entries Cc: "13.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* vulkan: import latest public vulkan headers + and fix drivers.Dave Airlie2016-11-112-57/+411
| | | | | | | | | I just noticed the new vulkan headers changed a prototype, so I've decided to import them and fix the drivers to use the new API. Acked-by: Jason Ekstrand <jason.ekstrand@intel.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
* i965: Reorder PCI ID list to match release orderBen Widawsky2016-10-201-9/+9
| | | | | | | I have some OCD... Signed-off-by: Ben Widawsky <ben@bwidawsk.net> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
* i965: Add some APL and KBL SKU stringsBen Widawsky2016-10-201-4/+4
| | | | | | | We got a couple for products that exist on ark.intel.com, so let's just put them in now. Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
* egl: Implement EGL_MESA_platform_surfacelessChad Versace2016-10-141-0/+5
| | | | Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
* mesa_glinterop: allow building without X and related headersEmil Velikov2016-10-141-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit effectively reverts c10dcb2ce837922c6ee4e191e6d6202098a5ee10 and fixes the typedef redefinition which inspired it. In order to prevent requiring X packages at build time earlier commit forward declared the required X/GLX typedefs. Since that approach introduced typedef redefinition (a C11 feature) it was reverted. To avoid the redefinition while _not_ mandating X and related headers forward declare the structs and use those through the header. As anyone uses the mesa interop header they ensure that the X (or others in terms of EGL) headers are included, which ensures that everything is resolved within the compilation unit. Cc: Vinson Lee <vlee@freedesktop.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> Cc: Tapani Pälli <tapani.palli@intel.com> Cc: Chih-Wei Huang <cwhuang@android-x86.org> Fixes: c10dcb2ce837 ("Revert "mesa_glinterop: remove inclusion of GLX header"") Fixes: 8472045b16b3 ("mesa_glinterop: remove inclusion of GLX header") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96770 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Tested-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
* Revert "mesa_glinterop: remove inclusion of GLX header"Vinson Lee2016-10-101-4/+1
| | | | | | | | | | | | | | | | | | | This reverts commit 8472045b16b3e4621553fe451a20a9ba9f0d44b6. Conflicts: include/GL/mesa_glinterop.h This patch fixes this build error with GCC 4.4. Compiling src/glx/dri_common_interop.c ... In file included from src/glx/dri_common_interop.c:33: include/GL/mesa_glinterop.h:62: error: redefinition of typedef ‘GLXContext’ include/GL/glx.h:165: note: previous declaration of ‘GLXContext’ was here Fixes: 8472045b16b3 ("mesa_glinterop: remove inclusion of GLX header") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96770 Signed-off-by: Vinson Lee <vlee@freedesktop.org>
* dri: add offset attribute and bump version of EGLImage extensions.Chuanbo Weng2016-09-211-1/+3
| | | | | | | | | Offset is useful for buffer sharing with other components, so add it to queryImage attributes. Signed-off-by: Chuanbo Weng <chuanbo.weng@intel.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* egl: Update eglext.h (v2)Kyle Brenneman2016-09-141-3/+118
| | | | | | | | | | | Updated eglext.h to revision 33111 from the Khronos repository. v2: - Don't (re)move extension includes from eglext.h (Emil Velikov) - Bump to revision 33111 (Adam Jackson) Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
* Remove GL_GLEXT_PROTOTYPES guards from non-ext headers.Emil Velikov2016-09-124-20/+0
| | | | | | | | | | | | | | | | | | | | | | A earlier sync with the Khronos headers added _extension_ prototype guards to all the GLES2/3/31/32 core entry points. Effectively breaking all the applications that aim to be portable and do not set the define. The issue has been reported to Khronos (internal bugzilla #14206) and is being worked on. Until updated/fixed headers are released locally fix the issue. The following report is when building weston. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97773 Cc: Armin Krezović <krezovic.armin@gmail.com> Cc: Emmanuel Gil Peyrot <emmanuel.peyrot@collabora.com> Cc: Pekka Paalanen <ppaalanen@gmail.com> Fixes: 6a5504de2fb ("Update Khronos-supplied headers to r33100") Cc: Dave Airlie <airlied@redhat.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
* Introduce .editorconfigEric Engestrom2016-08-314-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | A few weeks ago, Jose Fonseca suggested [0] we use .editorconfig files to try and enforce the formatting of the code, to which Michel Dänzer suggested [1] we start by importing the existing .dir-locals.el settings. The first draft was discussed in the RFC [2]. These .editorconfig are a first step, one that has the advantage of requiring little to no intervention from the devs once the settings files are in place, but the settings are very limited. This does have the advantage of applying while the code is being written. This doesn't replace the need for more comprehensive formatting tools such as clang-format & clang-tidy, but those reformat the code after the fact. [0] https://lists.freedesktop.org/archives/mesa-dev/2016-June/121545.html [1] https://lists.freedesktop.org/archives/mesa-dev/2016-June/121639.html [2] https://lists.freedesktop.org/archives/mesa-dev/2016-July/123431.html Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
* Update Khronos-supplied headers to r33100Ilia Mirkin2016-08-289-24/+2898
| | | | | | | | As retrieved from opengl.org and khronos.org. Maintained the APPLE hack in GL/glext.h manually. Added gl32.h. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Dave Airlie <airlied@redhat.com>
* Disable use of weak in threads_posix.h on CygwinJon Turney2016-07-151-1/+1
| | | | | | | | | Weak doesn't work the same on PE/COFF as on ELF, they are only weak references. Specifically, since nothing else pulls in the object which contains pthread_mutexattr_init() (and coming from the C library, that is the only thing that object contains), means that it ends up as 0 Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* i965: Removing PCI IDs that are no longer listed as Kabylake.Rodrigo Vivi2016-06-291-5/+0
| | | | | | | | | | | | | | | | This is unusual. Usually IDs listed on early stages of platform definition are kept there as reserved for later use. However these IDs here are not listed anymore in any of steppings and devices IDs tables for Kabylake on configurations overview section of BSpec. So it is better removing them before they become used in any other future platform. Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
* i956: Add more Kabylake PCI IDs.Rodrigo Vivi2016-06-291-0/+3
| | | | | | | | The spec has been updated adding new PCI IDs. Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
* Remove wrongly repeated words in commentsGiuseppe Bilotta2016-06-231-3/+3
| | | | | | | | | | | | | | | | | Clean up misrepetitions ('if if', 'the the' etc) found throughout the comments. This has been done manually, after grepping case-insensitively for duplicate if, is, the, then, do, for, an, plus a few other typos corrected in fly-by v2: * proper commit message and non-joke title; * replace two 'as is' followed by 'is' to 'as-is'. v3: * 'a integer' => 'an integer' and similar (originally spotted by Jason Ekstrand, I fixed a few other similar ones while at it) Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com> Reviewed-by: Chad Versace <chad.versace@intel.com>
* include: Require MSVC 2013 Update 4.Jose Fonseca2016-06-231-2/+2
| | | | | | | | Earlier MSVC 2013 releases have troubles compiling some of our C99 code, so make sure we have Update 4 to avoid confusion. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Brian Paul <brianp@vmware.com>
* GL: update glcorearb.h to svn 32433Ilia Mirkin2016-06-101-38/+70
| | | | | | | | This brings in the fixed glClearNamedFramebufferfi definition, as well as a lot of GLsizei -> GLsizeiptr changes. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org>
* GL: update glext to svn 32957Ilia Mirkin2016-06-101-5/+82
| | | | | | | | This brings in defines from GL_EXT_window_rectangles and fixes the glClearNamedFramebufferfi definition. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org>