Eric Engestrom
231273d588
vulkan: drop unused include directories
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4360 >
2020-03-28 21:36:54 +01:00
Eric Engestrom
79af30768d
meson: inline inc_common
...
Let's make it clear what includes are being added everywhere, so that
they can be cleaned up.
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4360 >
2020-03-28 21:36:54 +01:00
Lionel Landwerlin
1271193932
vulkan/overlay: Add a workaround semaphore for application presenting without one
...
When an application calls vkQueuePresent() on a different queue than
the one we run our drawing on and it doesn't give a semaphore to wait
on, let's insert our own semaphore so that we don't race the
application's drawing.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2540
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3893 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3893 >
2020-03-25 13:42:01 +02:00
Eric Engestrom
1fa259b035
vulkan/wsi: fix cleanup when dup() fails
...
Fixes: f5433e4d6c ("vulkan/wsi: Add modifiers support to wsi_create_native_image")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4137 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4137 >
2020-03-10 22:43:25 +00:00
Jason Ekstrand
af68b0d346
vulkan/wsi: Return an error if dup() fails
...
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4135 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4135 >
2020-03-10 16:39:27 +00:00
Jason Ekstrand
34d2637fa7
vulkan/wsi: Don't leak the FD when GetImageDrmFormatModifierProperties fails
...
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4135 >
2020-03-10 16:39:27 +00:00
Jonathan Marek
89c6ef4233
util/format: add missing BC4/BC5 vulkan formats
...
Enables these formats for turnip.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3806 >
2020-02-28 12:48:11 +00:00
Jason Ekstrand
2dae89ac36
vulkan: Update the XML and headers to 1.2.133
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3856 >
2020-02-18 09:57:14 -06:00
Georg Lehmann
7283c33b98
Vulkan overlay: use the corresponding image index for each swapchain
...
pImageIndices should be a pointer to the current image index
otherwise every swapchain but the first one could have a wrong image index
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3741 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3741 >
2020-02-10 11:32:08 +00:00
Georg Lehmann
f239bb8020
Vulkan Overlay: Don't try to change the image layout to present twice
...
The render pass already does the transition.
The pipeline barrier is still needed to transfer the queue family ownership.
Fixes: 320b0f66c2 ("vulkan/overlay: bounce image back to present layout")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3740 >
2020-02-07 14:23:23 +00:00
Georg Lehmann
1c79afd946
Correctly wait in the fragment stage until all semaphores are signaled
...
This fixes two issues:
- a crash if the application uses more than one semaphore for presenting because the driver expects one stage per semaphore
- the swapchain image could be not ready yet if the semaphores aren't signaled, #946 is possible related
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3718 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3718 >
2020-02-06 15:16:47 +00:00
Eric Anholt
05e3ccd8a1
vulkan/wsi: Fix compiler warning when no WSI platforms are enabled.
...
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3539 >
2020-01-28 12:30:48 -08:00
Jonathan Marek
b7e22b7a35
vulkan/wsi: remove unused image_get_modifier
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Acked-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3485 >
2020-01-23 18:34:07 +00:00
Jason Ekstrand
4bdf8547f4
vulkan/wsi: Implement VK_KHR_swapchain_mutable_format
...
This is only the core WSI code for the extension. It adds the image
format list and the flags to vkCreateImage as well as handling things
properly in the modifier queries.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3434 >
2020-01-17 18:27:29 +00:00
Jason Ekstrand
a218f13278
vulkan/wsi: Filter modifiers with ImageFormatProperties
...
Just because a modifier is returned for the given format, that doesn't
mean it works with all usages and flags. We need to filter the list by
calling vkGetPhysicalDeviceImageFormatProperties2.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3434 >
2020-01-17 18:27:29 +00:00
Jason Ekstrand
210e68874b
vulkan/wsi: Use the interface from the real modifiers extension
...
The anv implementation still isn't quite complete, but we can at least
start using the structs from the real extension.
v2: Fix circular pNext list (Lionel)
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3434 >
2020-01-17 18:27:29 +00:00
Jason Ekstrand
c78926b84d
vulkan/wsi: Move the ImageCreateInfo higher up
...
Future changes will be easier if we can modify it based on whether or
not we're using modifiers.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3434 >
2020-01-17 18:27:29 +00:00
Andres Rodriguez
51de5d5ac6
vulkan/wsi: disable the hardware cursor
...
Ensure the hardware cursor is disabled when we set the mode for a
VkDisplayKHR object. The extension doesn't expose any mechanisms to
program the hardware cursor, so we need to ensure it is hidden.
Currently, it seems like X is responsible for disabling the cursor
before handing over the lease. But that seems a little frail, and we
should be disabling the cursor ourselves so it works correctly
independently of how the lease was prepared for us.
Signed-off-by: Andres Rodriguez <andresx7@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1922 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/1922 >
2020-01-17 17:15:52 +00:00
Samuel Pitoiset
f33a68af63
vulkan/overlay: Fix for Vulkan 1.2
...
v2 (Jason Ekstrand):
- Add duplicate hooks for both the 1.2 and KHR versions of
vkCmdDraw[Indexed]IndirectCount.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2020-01-15 08:34:57 -06:00
Jason Ekstrand
ac0c7ad2c2
vulkan: Update the XML and headers to 1.2.131
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
2020-01-15 08:07:04 -06:00
Jason Ekstrand
7c16a1ae4e
vulkan/wsi: Add a driconf option to force WSI to advertise BGRA8_UNORM first
...
The Aztec Ruins benchmark just grabs the first format in the list and
SRGB causes it to render washed out. With this workaround, it renders
the same as OpenGL.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3350 >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3350 >
2020-01-14 19:27:13 +00:00
Mauro Rossi
13ef793770
android: util: Add a mapping from VkFormat to PIPE_FORMAT.
...
Updates Makefile.sources and fixes the following building error:
In file included from external/mesa/src/vulkan/util/vk_format.c:24:
In file included from external/mesa/src/vulkan/util/vk_format.h:28:
external/mesa/src/util/format/u_format.h:33:10: fatal error: 'pipe/p_format.h' file not found
#include "pipe/p_format.h"
^~~~~~~~~~~~~~~~~
1 error generated.
Fixes: 3a28281 ("util: Add a mapping from VkFormat to PIPE_FORMAT.")
Signed-off-by: Mauro Rossi <issor.oruam@gmail.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-12-27 09:20:40 +01:00
Jonathan Marek
54f72c83d6
util/format: add missing vulkan formats
...
Add some missing vulkan formats to util/format, this solves all the missing
pipe format cases for the formats that turnip supports.
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Reviewed-by: Eric Anholt <eric@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3170 >
2019-12-19 19:03:02 -05:00
Lionel Landwerlin
bc36160ccb
vulkan/wsi: error out when image fence doesn't signal
...
If for some reason the fence associated with an image doesn't signal,
we're likely in a device lost scenario, we should report that error.
We can't really wait for a given amount of time because we could get a
timeout and that is not a valid error to report for vkQueuePresentKHR,
so just wait forever.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/830
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2019-12-16 14:59:10 +02:00
Rafael Antognolli
6a3b8811ea
vulkan/overlay: Update docs.
...
Add mention to overlay control socket.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-12-13 20:53:44 +00:00
Rafael Antognolli
56ccea58ae
vulkan/overlay: Add basic overlay control script.
...
This can be used to start/stop statistics capturing from the command
line.
v3:
- Install script (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-12-13 20:53:44 +00:00
Rafael Antognolli
a94fa1da93
vulkan/overlay: Add a command to start capturing data to a file.
...
By default, if an output_file is specified, the overlay layer will start
capturing data immediately. After this commit, when a control socket is
used, the capture starts disabled by default, and is only enabled when a
command ":capture=1;" is received.
when the capture is enabled, we might have already accumulated some
stats. To avoid capturing such noise, we discard and reset the fps and
stats, updating the display and capturing only data from that point on.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-12-13 20:53:44 +00:00
Rafael Antognolli
606dff1b73
vulkan/overlay: Add support for a control socket.
...
Add support for socket from which the overlay layer can receive
commands. This control socket can be useful to allow setting options
once the application is already running. For instance, triggering the
capture of fps data at a certain point.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-12-13 20:53:44 +00:00
Rafael Antognolli
e87d7fea8a
vulkan/overlay: Add a control socket.
...
v2: Use a socket instead of named pipe.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-12-13 20:53:44 +00:00
Jason Ekstrand
778b51f491
vulkan/wsi: Add a hooks for signaling semaphores and fences
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-12-06 19:58:07 +00:00
Jason Ekstrand
48e23a6406
vulkan/wsi: Provide the implicitly synchronized BO to vkQueueSubmit
...
This lets us treat the implicit synchronization that we need for X11 and
Wayland like a semaphore. Instead of trusting the driver to somehow
figure out when that memory object needs to be signaled, we provide an
explicit point where the driver can set EXEC_OBJECT_WRITE and signal the
dma_fence on the BO. Without this, we have to somehow track inside the
driver when WSI buffers are actually used to avoid extra synchronization
dependencies.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-12-06 19:58:06 +00:00
Jason Ekstrand
200a3301e2
vulkan: Update the XML and headers to 1.1.129
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-11-26 02:48:42 +00:00
Jason Ekstrand
121551bfdb
vulkan/enum_to_str: Handle out-of-order aliases
...
The current code can only handle enum aliases if the original enum is
declared first followed by the alias as we walk the XML in a linear
fashion. This commit allows us to handle aliases where the alias
declaration comes before the thing it's aliasing.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-11-26 02:48:42 +00:00
Samuel Pitoiset
d6db858771
meson: only build imgui when needed
...
Only required for Intel tools or the Vulkan overlay layer.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
2019-11-25 07:51:56 +00:00
Eric Engestrom
609a6ae23e
vk_util: drop duplicate formats in vk_format_map[]
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-11-21 22:52:40 +00:00
Jonathan Marek
1496e1164f
util: add missing R8G8B8A8_SRGB format to vk_format_map
...
Signed-off-by: Jonathan Marek <jonathan@marek.ca >
Reviewed-by: Eric Anholt <eric@anholt.net >
2019-11-21 17:46:27 +00:00
Eric Anholt
3a28281bf8
util: Add a mapping from VkFormat to PIPE_FORMAT.
...
I'm planning on using this from radv and tu for queries about formats.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Jonathan Marek <jonathan@marek.ca >
2019-11-19 15:35:52 -08:00
Lionel Landwerlin
71634b1003
vulkan: bump headers/registry to 1.1.127
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
2019-11-04 17:07:11 +02:00
Timothy Arceri
7f106a2b5d
util: rename list_empty() to list_is_empty()
...
This makes it clear that it's a boolean test and not an action
(eg. "empty the list").
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
2019-10-28 11:24:38 +00:00
Timothy Arceri
7ae1be1028
util: remove LIST_INITHEAD macro
...
Just use the inlined function directly. The macro was replaced with
the function in ebe304fa54 .
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
2019-10-28 11:24:38 +00:00
Caio Marcelo de Oliveira Filho
90a7893ca8
vulkan: Update the XML and headers to 1.1.125
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
2019-10-14 08:23:27 -07:00
Caio Marcelo de Oliveira Filho
3f304617cb
vulkan: Update the XML and headers to 1.1.124
...
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-10-07 09:12:12 -07:00
Jason Ekstrand
533987b5f4
vulkan: Update the XML and headers to 1.1.123
...
Acked-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
2019-09-17 04:11:05 +00:00
Lionel Landwerlin
0616b7ac90
vulkan: add vk_x11_strict_image_count option
...
This option strictly allocate the minImageCount given by the
application at swapchain creation.
This works around application that do not deal with the fact that the
implementation allocates more images than the minimum specified.
v2: Add values in default drirc (Bas)
v3: specify engine name/version (Lionel)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111522
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
Cc: 19.2 <mesa-stable@lists.freedesktop.org >
2019-09-15 15:37:02 +03:00
Eric Engestrom
a72cdd00ab
wsi: add minImageCount override
...
Cc: mesa-stable@lists.freedesktop.org
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl > (v1)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-09-06 23:16:05 +01:00
Lionel Landwerlin
320b0f66c2
vulkan/overlay: bounce image back to present layout
...
Once we write the overlay to an image to be presented, we must not
forget to put it back into present layout.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111401
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
2019-09-03 07:11:58 +00:00
Jason Ekstrand
8aef89cc2d
vulkan: Update the XML and headers to 1.1.119
...
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
2019-08-12 14:56:33 +00:00
Eric Engestrom
9a07606b84
meson: replace last uses of libxmlconfig with idep_xmlconfig
...
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Acked-by: Eric Anholt <eric@anholt.net >
Tested-by: Vinson Lee <vlee@freedesktop.org >
2019-08-03 00:08:37 +00:00
Eric Engestrom
d2d85b950d
meson: replace libmesa_util with idep_mesautil
...
This automates the include_directories and dependencies tracking so that
all users of libmesa_util don't need to add them manually.
Next commit will remove the ones that were only added for that reason.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com >
Acked-by: Eric Anholt <eric@anholt.net >
Tested-by: Vinson Lee <vlee@freedesktop.org >
2019-08-03 00:08:37 +00:00
Lionel Landwerlin
0d3a532a33
vulkan: Bump headers to 1.1.117
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
2019-07-29 21:26:07 +00:00