aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* 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]>
* mesa_glinterop: remove mesa_glinterop typedefsEmil Velikov2016-05-302-24/+24
| | | | | | | | | | | | | | | | As is there are two places that do the typedefs - dri_interface.h and this header. As we cannot include the former in here, just drop the typedefs and use the struct directly (as needed). This is required because typedef redefinition is C11 feature which is not supported on all the versions of GCC used to build mesa. v2: Kill the typedef alltogether, as per Marek. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96236 Cc: Vinson Lee <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* i965/bxt: Add 2x6 variantBen Widawsky2016-05-261-0/+2
| | | | | | Cc: [email protected] Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Kristian Høgsberg <[email protected]>
* mesa_glinterop: make GL interop version field bidirectionalEmil Velikov2016-05-242-5/+20
| | | | | | | | | | | | | | This allows clear and easy communication between the two. Caller: Requesting information (struct vN) Callee: I know how to deal with older version (vN-1) only. Here is your data and the version I support. Caller: Older version ? Sure I'll cap all access to the fields provided by the older version (vN-1) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: drop mesa_glinterop_device_info::interop_versionEmil Velikov2016-05-241-9/+0
| | | | | | | | | | | | One cannot use a single version to control both export_in and export_out versions. Using this forces us to always extend/bump both structs at the same time. An alternative scheme is coming with next patch. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: rename MESA_GLINTEROP_INVALID_{VALUE,VERSION}Emil Velikov2016-05-241-1/+1
| | | | | | | | Be more explicit what it actually does. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: s/struct_version/version/Emil Velikov2016-05-241-3/+3
| | | | | | | | OCD polish for consistency with other mesa interfaces. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: fix GL interop *_VERSION commentsEmil Velikov2016-05-241-3/+6
| | | | | | | | | Using the macro to set the version is wrong and ill-advised. Please don't do it. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: remove inclusion of EGL headerEmil Velikov2016-05-241-1/+5
| | | | | | | | Analogous to previous commit, but for EGL. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: remove inclusion of GLX headerEmil Velikov2016-05-241-1/+4
| | | | | | | | | | | | | Since we only need partial information about the GLX symbols we can forward declare them and drop the include. Obviously each user of the said API will needs more than what's provides, so they'll include the GLX header. If they don't, the compiler will give us a nice warning ;-) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: remove unneeded GLAPI/GLAPIENTRY/APIENTRYP symbolsEmil Velikov2016-05-241-14/+14
| | | | | | | | | | | | | | | | These come from windows.h, gl.h, glcorearb.h and/or glext.h. The interop interface is aimed at non-Windows platforms while the macros are used/derived due to Windows specifics. Thus we can safely remove them. Strictly speaking there should be GLXAPIENTRY/EGLAPIENTRY and alike macros, although a) there is no GLX ones and b) this brings us even further from decoupling the file from the GLX/EGL header dependency. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: replace GL types with their native counterpart.Emil Velikov2016-05-241-2/+3
| | | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: use generic variable types for the GL interopEmil Velikov2016-05-241-8/+8
| | | | | | | | | | | | | | | | | | | Thus we can preserve the ABI, while avoiding the inclusion of some/all of the following: EGL/egl.h GL/gl.h GL/glcorearb.h GLES/gl.h GLES2/gl2.h GLES3/gl3.h GLES3/gl31.h This will allow us to build/use it alongside any combination of APIs. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* mesa_glinterop: use consistent naming scheme for GL interopEmil Velikov2016-05-241-1/+1
| | | | | | Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* Revert "mesa: Build EGL without X11 headers after interop patchset"Emil Velikov2016-05-241-14/+1
| | | | | | | | | | This reverts commit 4e2c9a04354b6b133845b8b93c0c5d34261a91d0. The solution was incomplete and fragile. An alternative one is coming shortly. Reviewed-by: Marek Olšák <[email protected]> Tested-by: Tom Stellard <[email protected]>
* c11/threads: resolve link issues with -O0Emil Velikov2016-05-241-0/+26
| | | | | | | | | | | | | | | | | | | Add weak symbol notation for the pthread_mutexattr* symbols, thus making the linker happy. When building with -O1 or greater the optimiser will kick in and remove the said functions as they are dead/unreachable code. Ideally we'll enable the optimisations locally, yet that does not seem to work atm. v2: Add the AX_GCC_FUNC_ATTRIBUTE([weak]) hunk in configure. Cc: Alejandro Piñeiro <[email protected]> Cc: Ben Widawsky <[email protected]> Cc: Ilia Mirkin <[email protected]> Cc: Rob Herring <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Tested-by: Rob Clark <[email protected]> Tested-by: Mark Janes <[email protected]>
* dri: Add YVU formatsKristian Høgsberg Kristensen2016-05-241-0/+5
| | | | Reviewed-by: Jordan Justen <[email protected]>
* vk/intel: use negative VK_NO_PROTOTYPES schemeEric Engestrom2016-05-231-1/+1
| | | | | | | | | | 3d0fac7aca237bbe8ed8e2a362d3b42d0ef8c46c changed all VK_PROTOTYPES to VK_NO_PROTOTYPES This brings the Intel header in line with the rest of the Vulkan code. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* DRI: Add DRIimage map and unmap functionsRob Herring2016-05-231-1/+33
| | | | | | | | | | | Add mapImage and unmapImage functions to DRIimage extension for mapping and unmapping DRIimages for CPU access. The caller provides the region of the image to map and is returned a pointer to the beginning of the region and the stride (which could be different from the original). Signed-off-by: Rob Herring <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* c11/threads: create mutexattrs only when neededEmil Velikov2016-05-231-2/+7
| | | | | | | | If the mutexattrs are the default one can just pass NULL to pthread_mutex_init. As the compiler does not know this detail it unnecessarily creates/destroys the attrs. Signed-off-by: Emil Velikov <[email protected]>
* mesa: Build EGL without X11 headers after interop patchsetYoury Metlitsky2016-05-201-1/+14
| | | | Reviewed-by: Marek Olšák <[email protected]>
* st/nine: Implement IPresent version 1.2Patrick Rudolph2016-05-181-0/+7
| | | | | | | | | | | | | | | | | | Implement presentation interface version 1.2: * ID3DPresent_ResolutionMismatch Poll for resolution mismatch. A third party app might have changed resolution, which requires a device reset. * ID3DPresent_CreateThread Create a thread in WINE to allow nine to use Windows API functions. Required for multi-threaded presentation. In single-threaded presentation mode the calling thread is already known to WINE. * ID3DPresent_WaitForThread Wait for a wine thread to terminate. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* st/nine: Fix header of GetIndicesAxel Davy2016-05-181-5/+5
| | | | | | | There is a mistake in the online documentation, the function only has 2 arguments. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Increase minor d3dadapter9drm ABIAxel Davy2016-05-181-1/+5
| | | | | | | | | | | Version 0.1 allows to assume that the second element of the IDirect3D* structures will be a pointer to the internal nine vtable. This is useful if the gallium nine user wants to wrap some interfaces. Signed-off-by: Axel Davy <[email protected]>
* st/nine: Clean up WINAPI definitionChristian Schmidbauer2016-05-181-11/+5
| | | | | | | | | | | | | As Emil pointed out, only gcc, clang and MSVC compatibility is required. Hence the check for GNUC can be skipped, as __i386__ and __x86_64__ are only defined for gcc/clang, not for MSVC. Remove the #undef which has been there for historic reasons, when wine dlls for nine have been built inside mesa. Instead use #ifndef in order to avoid redefining WINAPI from MSVC's headers. Reviewed-by: Emil Velikov <[email protected]> Acked-by: Axel Davy <[email protected]>
* radeonsi: add new polaris11 pci idsAlex Deucher2016-05-171-0/+3
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* radeonsi: add new polaris10 pci idsAlex Deucher2016-05-171-0/+9
| | | | | Reviewed-by: Nicolai Hähnle <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* scons: Move fallback HAVE_* definitions to headers.Jose Fonseca2016-04-261-0/+44
| | | | | | | | | | | | | | | | | | These were being defined in SCons, but it's not practical: - we actually need to include Gallium headers from external source trees, with completely disjoint build infrastructure, and it's unsustainable to replicate the HAVE_xxx checks or even hard-coded defines across everywhere. - checking compiler version via command line doesn't really work due to Clang essentially being like a cameleon which can fake either GCC or MSVC There's no change for autoconf. Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* dri_interface: add interface for GL interop with other APIs (v2)Marek Olšák2016-04-201-0/+26
| | | | v2: - use const
* include/GL: add mesa_glinterop.h for OpenGL-OpenCL interop (v4.2)Marek Olšák2016-04-201-0/+287
| | | | | | | | | | | | | v2: - use "enum" to define stuff v3: - more comments, define MESA_GLINTEROP_UNSUPPORTED v4: - add mesa_glinterop_device_info::interop_version - more comments - remove #define MESA_GLINTEROP_VERSION - use const for "in" v4.1: - use version numbers for structures - add "out_driver_data_written" v4.2: - buf_offset & buf_size affect GL_ARRAY_BUFFER too, this is required for sharing suballocations within a larger buffer
* math: Import isinf and others to global namespacePierre Moreau2016-04-181-0/+23
| | | | | | | | | | | | | | | | | | | Starting from C++11, several math functions, like isinf, moved into the std namespace. Since cmath undefines those functions before redefining them inside the namespace, and glibc 2.23 defines the C variants as macros, the C variants in global namespace are not accessible any longer. v2: Move the fix outside of Nouveau, as suggested by Jose Fonseca, since anyone might need it when GCC switches to C++14 by default with GCC 6.0. v3: * Put the code directly inside c99_math.h rather than creating a new header file, as asked by Jose Fonseca; * Guard the code behind glibc version checks, as only glibc > =2.23 defines isinf & co. as functions, as suggested by Jose Fonseca. Signed-off-by: Pierre Moreau <[email protected]> Signed-off-by: Jose Fonseca <[email protected]>
* Merge remote-tracking branch 'public/master' into vulkanJason Ekstrand2016-04-041-5/+11
|\
| * st/nine: specify WINAPI only for i386 and amd64Christian Schmidbauer2016-04-021-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently mesa fails building with the x32 abi as ms_abi is not defined in such a case. The patch uses ms_abi only for amd64 targets and stdcall only for i386 targets to be sure that those are defined. This patch additionally checks for __GNUC__ to guarantee that __attribute__ is available. CC: "11.1 11.2" <[email protected]> Signed-off-by: Christian Schmidbauer <[email protected]> Acked-by: Axel Davy <[email protected]>
* | Merge remote-tracking branch 'public/master' into vulkanJason Ekstrand2016-04-011-0/+10
|\|
| * radeonsi: add Polaris PCI IDsSonny Jiang2016-03-241-0/+10
| | | | | | | | | | | | Signed-off-by: Sonny Jiang <[email protected]> Reviewed-by: Alex Deucher <[email protected]> (Polaris10) Reviewed-by: Michel Dänzer <[email protected]> (Polaris11)
* | Update to the latest Vulkan header from KhronosJason Ekstrand2016-03-222-15/+141
| |