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 <[email protected]> Signed-off-by: Varad Gautam <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* 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 <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* vulkan: Update registry and headers to 1.0.49Jason Ekstrand2017-05-161-4/+107
| | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* radeonsi/gfx9: add support for RavenMarek Olšák2017-05-151-0/+2
| | | | | | Cc: 17.1 <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* radeonsi: add new vega10 pci idsAlex Deucher2017-05-101-0/+2
| | | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Cc: 17.1 <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* 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 <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* 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 <[email protected]> Reviewed-by: Jose Fonseca <[email protected]> (v1) Reviewed-by: Eric Engestrom <[email protected]>
* radeonsi: add new polaris10 pci idAlex Deucher2017-04-051-0/+1
| | | | | | Reviewed-by: Christian König <[email protected]> Cc: 13.0 17.0 <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100201 CC: "17.0" <[email protected]>
* radeonsi: add new polaris12 pci idAlex Deucher2017-03-171-0/+1
| | | | | | Reviewed-by: Marek Olšák <[email protected]> Cc: 17.0 <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* dri_interface: Add new marshalling interfaces to dri_interface.hPaul Berry2017-03-161-0/+39
| | | | | | | Acked-by: Timothy Arceri <[email protected]> Acked-by: Marek Olšák <[email protected]> Tested-by: Dieter Nützel <[email protected]> Tested-by: Mike Lothian <[email protected]>
* 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 <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> (v1) Reviewed-by: Jason Ekstrand <[email protected]> Acked-by: Daniel Stone <[email protected]>
* 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 <[email protected]> Signed-off-by: Ben Widawsky <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* 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 <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* 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 <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* 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 <[email protected]> Acked-by: Ben Widawky <[email protected]>
* 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 <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* include: update Vulkan headersLionel Landwerlin2017-01-142-5/+244
| | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* 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 <[email protected]> Cc: [email protected]
* 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 <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Cc: "13.0" <[email protected]>
* radeonsi: add Polaris12 PCI IDJunwei Zhang2016-12-211-0/+7
| | | | | | Reviewed-by: Marek Olšák <[email protected]> Signed-off-by: Junwei Zhang <[email protected]> Reviewed-by: Nicolai Hähnle <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]>
* add EGL_TEXTURE_EXTERNAL_WL to WL_bind_wayland_display specRob Clark2016-12-051-0/+1
| | | | | Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Daniel Stone <[email protected]>
* 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 <[email protected]> Tested-by: Rafael Antognolli <[email protected]> Reviewed-by: Chad Versace <[email protected]> Tested-by: Chad Versace <[email protected]>
* i965: Fix KBL typo in stringBen Widawsky2016-11-151-1/+1
| | | | | | Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* 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" <[email protected]> Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Anuj Phogat <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* 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 <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* i965: Reorder PCI ID list to match release orderBen Widawsky2016-10-201-9/+9
| | | | | | | I have some OCD... Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* 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 <[email protected]>
* egl: Implement EGL_MESA_platform_surfacelessChad Versace2016-10-141-0/+5
| | | | Reviewed-by: Emil Velikov <[email protected]>
* 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 <[email protected]> Cc: "12.0" <[email protected]> Cc: Tapani Pälli <[email protected]> Cc: Chih-Wei Huang <[email protected]> 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 <[email protected]> Tested-by: Vinson Lee <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* 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 <[email protected]> Reviewed-by: Adam Jackson <[email protected]>
* 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ć <[email protected]> Cc: Emmanuel Gil Peyrot <[email protected]> Cc: Pekka Paalanen <[email protected]> Fixes: 6a5504de2fb ("Update Khronos-supplied headers to r33100") Cc: Dave Airlie <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* 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 <[email protected]> Acked-by: Eric Anholt <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* 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 <[email protected]> Acked-by: Dave Airlie <[email protected]>
* 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 <[email protected]>
* 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 <[email protected]> Acked-by: Kenneth Graunke <[email protected]> Signed-off-by: Rodrigo Vivi <[email protected]>
* 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 <[email protected]> Acked-by: Kenneth Graunke <[email protected]> Signed-off-by: Rodrigo Vivi <[email protected]>
* 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 <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* 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: [email protected] Reviewed-by: Brian Paul <[email protected]>
* 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 <[email protected]> Cc: "11.2 12.0" <[email protected]>
* 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 <[email protected]> Cc: "11.2 12.0" <[email protected]>