summaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
* | Merge remote-tracking branch 'public/master' into vulkanJason Ekstrand2016-03-153-13/+7
|\|
| * i965/chv: Display proper brandingBen Widawsky2016-03-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "Braswell" is a Cherryview based *thing*. It unfortunately requires extra information to determine its marketing name. Unlike all previous products, and hopefully all future ones, there is no unique 1:1 mapping of PCI device ID to brand string. I put up a fight about adding any complexity to our GL renderer string code for a very long time. However, a wise man made a comment to me that I couldn't argue with: if a user installs Windows on their hardware, the brand string should be the same as what we display in Linux. The Windows driver apparently does this check, so we should too. Note that I did manage to find a good use for this info anyway in the compute shader thread counts. v2: memcpy instead of strncpy, and some minor changes (Matt) Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Jordan Justen <[email protected]
| * egl: remove remnants of MESA_drm_displayEmil Velikov2016-03-091-11/+0
| | | | | | | | | | | | | | Last set in st/egl, unused in mesa-demos and superseded by EGL_KHR_platform_gbm. Signed-off-by: Emil Velikov <[email protected]>
| * dri: add backbuffer use flagAxel Davy2016-03-091-0/+5
| | | | | | | | | | | | This will be used by the next commit. Reviewed-by: Ian Romanick <[email protected]>
* | Merge remote-tracking branch 'origin/master' into vulkanKenneth Graunke2016-03-011-0/+1
|\|
| * virtio_gpu: Add virtio 1.0 PCI ID to driver mapMarc-André Lureau2016-02-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Add the virtio-gpu PCI ID for virtio 1.0 (according to the specification, "the PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID") Support for virtio 1.0 was added in qemu 2.4 (same time virtio-gpu landed). Cc: "11.1 11.2" <[email protected]> Signed-off-by: Marc-André Lureau <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* | Merge remote-tracking branch 'origin/master' into vulkanKristian Høgsberg Kristensen2016-02-241-8/+10
|\|
| * i965/skl: Update Skylake renderer stringsBen Widawsky2016-02-171-9/+9
| | | | | | | | | | | | | | | | | | | | Also adds some of the Iris/Pro parts which we previously didn't have named. v2: 0x192d is gt3, not gt4 Adding some 'e' tags for eDRAM parts Signed-off-by: Ben Widawsky <[email protected]> Acked-by: Michał Winiarski <[email protected]>
| * i965/skl: Add two missing device IDsBen Widawsky2016-02-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | The Iris part is left unbranded because we did not have these with original SKL. v2: 0x192d is gt3, not gt4 v3: Forgot to update the temporary brand string when I did v2. Cc: "11.0 11.1" <[email protected] Signed-off-by: Ben Widawsky <[email protected]> Acked-by: Michał Winiarski <[email protected]>
* | Merge remote-tracking branch 'mesa-public/master' into vulkanJason Ekstrand2016-02-115-646/+9
|\|
| * include,gallium: Remove pre-MSVC 2013 compatibility.Jose Fonseca2016-02-115-646/+9
| | | | | | | | | | Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]>
* | Merge remote-tracking branch 'mesa-public/master' into vulkanJason Ekstrand2016-02-052-0/+4
|\|
| * st/nine: Handle Window OcclusionPatrick Rudolph2016-02-042-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apps can know if the window is occluded by checking for specific error messages. The behaviour is different for Device9 and Device9Ex. This allow games to release the mouse and stop rendering until the focus is restored. In case of multiple swapchain we do care only of the device one. Signed-off-by: Patrick Rudolph <[email protected]> Reviewed-by: Axel Davy <[email protected]>
* | Merge branch mesa-public/master into vulkanJason Ekstrand2016-02-051-0/+1
|\|
| * virtio_gpu: Add PCI ID to driver mapRob Herring2016-01-231-0/+1
| | | | | | | | | | | | | | Add the virtio-gpu PCI ID so the driver probing works. Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
* | vulkan: Bump the header to 1.0.3Jason Ekstrand2016-02-021-2/+5
| |
* | vulkan: Import vk_icd.hJason Ekstrand2016-01-291-0/+85
| |