aboutsummaryrefslogtreecommitdiffstats
path: root/src/vulkan
Commit message (Collapse)AuthorAgeFilesLines
* vulkan: update headers/registry to 1.1.102Lionel Landwerlin2019-03-051-14/+79
| | | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Tapani Pälli <[email protected]>
* vulkan: use VkBase{In,Out}Structure instead of a custom structEric Engestrom2019-02-281-7/+2
| | | | | | | | | VkBaseInStructure and VkBaseOutStructure are part of vulkan_core.h (which is part of vulkan.h) Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* vulkan/overlay: add support for fps output in fileLionel Landwerlin2019-02-284-15/+39
| | | | | | | Also make the sampling period configurable. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vulkan/overlay: rework option parsingLionel Landwerlin2019-02-286-113/+265
| | | | | | | Makes adding new options easier. Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vulkan/overlay: fix min/max computationsLionel Landwerlin2019-02-281-11/+11
| | | | | | | This shouldn't be condition to the acquire time being visible. Signed-off-by: Lionel Landwerlin <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* vulkan/overlay: install layer binary in libdirLionel Landwerlin2019-02-272-13/+4
| | | | | | | | | | | | | This will allow multilib. v2: Drop path from json file, dlopen should be able to locate the lib in libdir v3: Switch from configure_file to install_data (Dylan) Signed-off-by: Lionel Landwerlin <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109788 Tested-by: Mike Lothian <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vulkan/overlay: fix includesLionel Landwerlin2019-02-263-8/+8
| | | | | | | | | | | | | | | | | | The Loader/Validation-Layers repository allow the user to choose where header files are installed. On my system I choose /usr/include thinking it was the obvious "base" location, but it turns out the headers end up being installed right there rather in a vulkan subdirectory. On Debian/Ubuntu the selected installation path is /usr/include/vulkan, so just go with that. Hopefully other distro don't choose another path. Note that the validation layer doesn't provide a .pc file so we have no way of querying where the headers are installed. Signed-off-by: Lionel Landwerlin <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109739 Acked-by: Eric Engestrom <[email protected]>
* vulkan/overlay: fix missing installation of layerLionel Landwerlin2019-02-261-0/+1
| | | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109739 Reviewed-by: Eric Engestrom <[email protected]>
* vulkan/overlay: Add fps counterMatthias Lorenz2019-02-241-0/+17
| | | | | Reviewed-by: Lionel Landwerlin <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109747
* vulkan: Fix 32-bit build for the new overlay layerKenneth Graunke2019-02-221-3/+3
| | | | | | | | | | | | | vulkan_core.h defines non-dispatchable handles as (struct object *) on 64-bit systems, but uint64_t on 32-bit systems. The former can be implicitly cast to void *, but the latter requires an explicit cast. While here, %lu is the wrong format specifier for uint64_t on 32-bit systems, so use PRIu64, fixing a warning. Reported-by: Mike Lothian <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* vulkan: add an overlay layerLionel Landwerlin2019-02-2110-0/+2185
| | | | | | | | | | | | | | Just a starting point to display frame timings & drawcalls/submissions per frame. Signed-off-by: Lionel Landwerlin <[email protected]> Acked-by: Jason Ekstrand <[email protected]> +1-by: Mike Lothian <[email protected]> +1-by: Tapani Pälli <[email protected]> +1-by: Eric Engestrom <[email protected]> +1-by: Yurii Kolesnykov <[email protected]> +1-by: myfreeweb <[email protected]> +1-by: Kenneth Graunke <[email protected]>
* vulkan: Update the XML and headers to 1.1.101Lionel Landwerlin2019-02-201-32/+169
|
* drm-uapi: use local files, not system libdrmEric Engestrom2019-02-146-6/+5
| | | | | | | | | There was an issue recently caused by the system header being included by mistake, so let's just get rid of this include path and always explicitly #include "drm-uapi/FOO.h" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]>
* wsi: query the ICD's max dimensions instead of hard-coding themEric Engestrom2019-02-086-12/+32
| | | | | | | | | anv and radv both happened to already return 2^14 for these, but querying the ICD is safer and will help if vdreno (or whatever it's called) doesn't have the same max. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* wsi/display: add commentEric Engestrom2019-02-021-1/+1
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Keith Packard <[email protected]>
* vulkan: make generated enum to strings helpers available from c++Lionel Landwerlin2019-01-221-0/+8
| | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* wsi: drop unneeded KHR suffixEric Engestrom2019-01-081-15/+15
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* vulkan: Update the XML and headers to 1.1.97Jason Ekstrand2019-01-071-28/+147
| | | | Acked-by: Samuel Pitoiset <[email protected]>
* vulkan: Update the XML and headers to 1.1.96Jason Ekstrand2018-12-171-11/+11
| | | | | Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* vulkan: Update the XML and headers to 1.1.95Jason Ekstrand2018-12-031-29/+101
| | | | Acked-by: Samuel Pitoiset <[email protected]>
* vulkan/wsi: fix s/,/;/ typoEric Engestrom2018-11-281-2/+2
| | | | | | Fixes: 59e58c348e6af16a5f2dd "vulkan/wsi: Only wait on semaphores on the first swapchain" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* wsi/display: fix mem leak when freeing swapchainsEric Engestrom2018-11-281-0/+2
| | | | | | Fixes: da997ebec92942193955 "vulkan: Add KHR_display extension using DRM [v10]" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Keith Packard <[email protected]>
* vulkan/utils: s/VERSION/PACKAGE_VERSION/Eric Engestrom2018-11-261-3/+3
| | | | | | | | | | | Everything else uses PACKAGE_VERSION, so let's be consistent, and VERSION and PACKAGE_VERSION are currently defined to be the same in meson and android, while VERSION is undefined in autotools and scons. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* vulkan: Update the XML and headers to 1.1.93Jason Ekstrand2018-11-221-16/+68
| | | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
* vulkan: Allow storage images in the WSI.Bas Nieuwenhuizen2018-11-213-0/+3
| | | | | | | | | | | | | | Since apps also have to follow the ImageFormatProperties query, we can disallow formats that don't allow image stores (for AMD that would be SRGB formats). Note that this only affects anything if the app actually decides to use the flag. Had someone ask for this on IRC and at least on the AMD side we can support it. Reviewed-by: Jason Ekstrand <[email protected]>
* vulkan: Update the XML and headers to 1.1.91Jason Ekstrand2018-11-061-220/+243
| | | | | | | | The biggest change here is the rename of VK_NVX_ray_tracing to VK_NV_ray_tracing and the total removal of VK_KHR_mir_surface. Acked-by: Samuel Pitoiset <[email protected]> Acked-by: Lionel Landwerlin <[email protected]>
* wsi/wayland: only finish() a successfully init()ed displayEric Engestrom2018-11-051-1/+2
| | | | | | | Fixes: 43691024982b3ea734ad0 "vulkan/wsi/wayland: Stop caching Wayland displays" Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Reviewed-by: Philipp Zabel <[email protected]>
* wsi/wayland: use proper VkResult typeEric Engestrom2018-11-051-2/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dave Airlie <[email protected]>
* configure: allow building with python3Emil Velikov2018-10-311-1/+1
| | | | | | | | | | | | | | | Pretty much all of the scripts are python2+3 compatible. Check and allow using python3, while adjusting the PYTHON2 refs. Note: - python3.4 is used as it's the earliest supported version - python2 chosen prior to python3 v2: use python2 by default Cc: Ilia Mirkin <[email protected]> Signed-off-by: Emil Velikov <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* vulkan/wsi: use the drmGetDevice2() APIEmil Velikov2018-10-301-1/+1
| | | | | | | | | | | | On older kernels, the drmGetDevice() call will wake up all the GPUs on the system, while fetching the PCI revision. Use the 2 version of the API and pass flags == 0, so we don't fetch the device PCI revision, since we don't need that information. Fixes: baa38c144f6 ("vulkan/wsi: Use VK_EXT_pci_bus_info for DRM fd matching") Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* vulkan/wsi: simplify meson file trackingEric Engestrom2018-10-291-18/+5
| | | | | | | | Meson already automatically tracks included headers, so there's no need to add them everywhere; cleans up the code a bit. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* vulkan: Update the XML and headers to 1.1.90Jason Ekstrand2018-10-291-6/+30
| | | | | | | This doesn't include any new features but it does include an XML and header typo fix for modifiers. Acked-by: Samuel Pitoiset <[email protected]>
* vulkan: drop always-true paramEric Engestrom2018-10-262-6/+0
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* util: use C99 declaration in the for-loop hash_table_foreach() macroEric Engestrom2018-10-251-1/+0
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Timothy Arceri <[email protected]>
* vulkan/wsi: Use VK_EXT_pci_bus_info for DRM fd matchingJason Ekstrand2018-10-187-60/+56
| | | | | | | | This lets us avoid passing the DRM fd around all over the place and gets us closer to layer utopia. Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Engestrom <[email protected]>
* vulkan/wsi: Implement GetPhysicalDevicePresentRectanglesKHRJason Ekstrand2018-10-186-0/+149
| | | | | | | | | | | | | | | | | | This got missed during 1.1 enabling because it was defined as an interaction between device groups and WSI and it wasn't obvious it was in the delta. The idea behind it is that it's supposed to provide a hint to the application in a multi-GPU setup to indicate which regions of the screen are being scanned out by which GPU so a multi-device split-screen rendering application can render each part of the screen on the GPU that will be presenting it and avoid extra bus traffic between GPUs. On a single-GPU setup or one which doesn't support this present mode, we need to do something. We choose to return the window size (or a max-size rect) if the compositor, X server, or crtc is associated with the given physical device and zero rectangles otherwise. Reviewed-by: Lionel Landwerlin <[email protected]>
* vulkan/wsi: Store the instance allocator in wsi_deviceJason Ekstrand2018-10-187-21/+16
| | | | | | | | | | | | We already have wsi_device and we know the instance allocator at wsi_device_init time so there's no need to pass it into the physical device queries. This also fixes a memory allocation domain bug that can occur if CreateSwapchain gets called prior to any queries (not likely) in which case the cached connection gets allocated off the device instead of the instance. Reviewed-by: Eric Engestrom <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* vulkan: Update the XML and headers to 1.1.88Samuel Pitoiset2018-10-131-32/+221
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Acked-by: Jason Ekstrand <[email protected]>
* vulkan: Update the XML and headers to 1.1.86Jason Ekstrand2018-10-011-66/+791
| | | | Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* vulkan: Disable randr lease for libxcb < 1.13Maxime2018-09-271-0/+2
| | | | | | | | | | | Since the Randr lease code was added, compiling against libxcb 1.12 no longer works. CC: [email protected] Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108024 Fixes: 7ab1fffcd2a504024b16e408de329f7a94553ecc Tested-By: Maxime <[email protected]> Fixes: 7ab1fffcd2a504024b16 "vulkan: Add EXT_acquire_xlib_display [v5]"
* vulkan/wsi/display: wsi_display_select_crtc() doesn' need to modify the ↵Eric Engestrom2018-09-241-1/+1
| | | | | | connector Signed-off-by: Eric Engestrom <[email protected]>
* vulkan/wsi/display: check if wsi_swapchain_init() succeededEric Engestrom2018-09-241-0/+4
| | | | | | | Fixes: da997ebec929421939553 "vulkan: Add KHR_display extension using DRM [v10]" Cc: Keith Packard <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv,radv: Implement vkAcquireNextImage2Jason Ekstrand2018-09-216-22/+16
| | | | | | | | This was added as part of 1.1 but it's very hard to track exactly what extension added it. In any case, we should implement it. Cc: [email protected] Reviewed-by: Dave Airlie <[email protected]>
* vulkan: Update the XML and headers to 1.1.84Jason Ekstrand2018-09-101-63/+217
| | | | Acked-by: Bas Nieuwenhuizen <[email protected]>
* vulkan/alloc: Add a vk_strdup helperJason Ekstrand2018-08-281-0/+17
| | | | | Cc: "18.2" <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]>
* Revert "configure: allow building with python3"Emil Velikov2018-08-241-1/+1
| | | | | | | | | | | | | | This reverts commit ae7898dfdbe5c8dab7d11c71862353f1ae43feb0. Turns out the python scripts are _not_ fully python 3 compatible. As Ilia reported using get_xmlpool.py with LANG=C produces some weird output - see the link for details. Even though the issue was spotted with the autoconf build, it exposes a genuine problem with the script (and lack of lang handling of the meson build.) https://lists.freedesktop.org/archives/mesa-dev/2018-August/203508.html
* configure: allow building with python3Emil Velikov2018-08-231-1/+1
| | | | | | | | | | | | Pretty much all of the scripts are python2+3 compatible. Check and allow using python3, while adjusting the PYTHON2 refs. Note: - python3.4 is used as it's the earliest supported version - python3 chosen prior to python2 Signed-off-by: Emil Velikov <[email protected]> Acked-by: Eric Engestrom <[email protected]>
* vk/wsi: avoid reading uninitialised memoryEric Engestrom2018-08-231-2/+2
| | | | | | | | | | | | It will be ignored by x11_swapchain_result() anyway (because reaching the `fail` label without setting `result` means the swapchain status was already a hard error), but the compiler still complains about reading uninitialised memory. While at it, drop the unused assignment right before returning. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
* vulkan/wsi: fix pointer-integer conversion warningsGrazvydas Ignotas2018-08-232-3/+3
| | | | | | For 32bit build. Trivial. Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* vulkan/wsi: initialise image_index to 0 in x11_manage_fifo_queuesKai Wasserbäch2018-08-181-1/+1
| | | | | | | | | | Supresses a maybe-uninitialized warning with GCC 8. Note: image_index should always be initialised due to the result check, but the compiler doesn't see that. Signed-off-by: Kai Wasserbäch <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>