[Mesa-dev] [RFC v2 18/23] RFC: anv: Drop vkCreateDmaBufImageINTEL()

Louis-Francis Ratté-Boulianne lfrb at collabora.com
Thu Aug 31 04:24:28 UTC 2017


From: Chad Versace <chadversary at chromium.org>

This "extension" function predates Vulkan 1.0 and Vulkan WSI. We created
it during the early days of bringing up the Vulkan driver. We used it
for testing the early driver because, in those early days, there was no
other way to import/export a tiled VkImage and examine it. No
VkSurfaceKHR existed yet in the early API.

We never created a extension for this function.

Since there is no extension, the validation layers don't understand it.
I've observed the validation layers crash when this function is called.

We now support a real dma_buf extension,
VK_MESAX_external_image_dma_buf, that can replace this function.
---
 include/vulkan/vulkan_intel.h           |  62 ----------
 src/intel/Makefile.sources              |   1 -
 src/intel/vulkan/Makefile.am            | 210 ++++++++++++++++++++++++++++++++
 src/intel/vulkan/Makefile.sources       |  84 +++++++++++++
 src/intel/vulkan/anv_entrypoints_gen.py |  10 --
 src/intel/vulkan/anv_intel.c            |  99 ---------------
 src/intel/vulkan/anv_private.h          |   1 -
 7 files changed, 294 insertions(+), 173 deletions(-)
 delete mode 100644 include/vulkan/vulkan_intel.h
 create mode 100644 src/intel/vulkan/Makefile.am
 create mode 100644 src/intel/vulkan/Makefile.sources
 delete mode 100644 src/intel/vulkan/anv_intel.c

diff --git a/include/vulkan/vulkan_intel.h b/include/vulkan/vulkan_intel.h
deleted file mode 100644
index 8ede61b53d..0000000000
--- a/include/vulkan/vulkan_intel.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright © 2015 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#ifndef __VULKAN_INTEL_H__
-#define __VULKAN_INTEL_H__
-
-#include "vulkan.h"
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif // __cplusplus
-
-#define VK_STRUCTURE_TYPE_DMA_BUF_IMAGE_CREATE_INFO_INTEL 1024
-typedef struct VkDmaBufImageCreateInfo_
-{
-    VkStructureType                             sType;                      // Must be VK_STRUCTURE_TYPE_DMA_BUF_IMAGE_CREATE_INFO_INTEL
-    const void*                                 pNext;                      // Pointer to next structure.
-    int                                         fd;
-    VkFormat                                    format;
-    VkExtent3D                                  extent;         // Depth must be 1
-    uint32_t                                    strideInBytes;
-} VkDmaBufImageCreateInfo;
-
-typedef VkResult (VKAPI_PTR *PFN_vkCreateDmaBufImageINTEL)(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage);
-
-#ifndef VK_NO_PROTOTYPES
-
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateDmaBufImageINTEL(
-    VkDevice                                    _device,
-    const VkDmaBufImageCreateInfo*              pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkDeviceMemory*                             pMem,
-    VkImage*                                    pImage);
-
-#endif
-
-#ifdef __cplusplus
-} // extern "C"
-#endif // __cplusplus
-
-#endif // __VULKAN_INTEL_H__
diff --git a/src/intel/Makefile.sources b/src/intel/Makefile.sources
index 4074ba9ee5..25dc385a97 100644
--- a/src/intel/Makefile.sources
+++ b/src/intel/Makefile.sources
@@ -211,7 +211,6 @@ VULKAN_FILES := \
 	vulkan/anv_formats.c \
 	vulkan/anv_genX.h \
 	vulkan/anv_image.c \
-	vulkan/anv_intel.c \
 	vulkan/anv_nir.h \
 	vulkan/anv_nir_apply_pipeline_layout.c \
 	vulkan/anv_nir_lower_input_attachments.c \
diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am
new file mode 100644
index 0000000000..58c81319fa
--- /dev/null
+++ b/src/intel/vulkan/Makefile.am
@@ -0,0 +1,210 @@
+# Copyright © 2015 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+include Makefile.sources
+
+vulkan_includedir = $(includedir)/vulkan
+
+noinst_HEADERS = \
+	$(top_srcdir)/include/vulkan/vk_platform.h \
+	$(top_srcdir)/include/vulkan/vulkan.h
+
+lib_LTLIBRARIES = libvulkan_intel.la
+
+check_LTLIBRARIES = libvulkan-test.la
+
+PER_GEN_LIBS = \
+	libanv-gen7.la \
+	libanv-gen75.la \
+	libanv-gen8.la \
+	libanv-gen9.la
+
+noinst_LTLIBRARIES = $(PER_GEN_LIBS)
+
+# The gallium includes are for the util/u_math.h include from main/macros.h
+
+AM_CPPFLAGS = \
+	-I$(top_srcdir)/include \
+	-I$(top_builddir)/src \
+	-I$(top_srcdir)/src \
+	-I$(top_srcdir)/src/vulkan/wsi \
+	-I$(top_builddir)/src/vulkan/util \
+	-I$(top_srcdir)/src/vulkan/util \
+	-I$(top_builddir)/src/compiler \
+	-I$(top_srcdir)/src/compiler \
+	-I$(top_builddir)/src/compiler/nir \
+	-I$(top_srcdir)/src/mapi \
+	-I$(top_srcdir)/src/mesa \
+	-I$(top_srcdir)/src/mesa/drivers/dri/common \
+	-I$(top_srcdir)/src/mesa/drivers/dri/i965 \
+	-I$(top_srcdir)/src/gallium/auxiliary \
+	-I$(top_srcdir)/src/gallium/include \
+	-I$(top_builddir)/src/intel \
+	-I$(top_srcdir)/src/intel
+
+if HAVE_PLATFORM_WAYLAND
+AM_CPPFLAGS += \
+	-I$(top_builddir)/src/egl/wayland/wayland-drm \
+	-I$(top_srcdir)/src/egl/wayland/wayland-drm
+endif
+
+AM_CPPFLAGS += \
+	$(LIBDRM_CFLAGS) \
+	$(INTEL_CFLAGS) \
+	$(VALGRIND_CFLAGS) \
+	$(DEFINES)
+
+AM_CFLAGS = \
+	$(VISIBILITY_CFLAGS) \
+	-Wno-override-init -msse2
+
+libanv_gen7_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=70
+libanv_gen7_la_SOURCES = $(GEN7_FILES)
+
+libanv_gen75_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=75
+libanv_gen75_la_SOURCES = $(GEN75_FILES)
+
+libanv_gen8_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=80
+libanv_gen8_la_SOURCES = $(GEN8_FILES)
+
+libanv_gen9_la_CFLAGS = $(AM_CFLAGS) -DGEN_VERSIONx10=90
+libanv_gen9_la_SOURCES = $(GEN9_FILES)
+
+
+VULKAN_SOURCES = \
+	$(VULKAN_GENERATED_FILES) \
+	$(VULKAN_FILES)
+
+VULKAN_LIB_DEPS = $(LIBDRM_LIBS)
+
+if HAVE_PLATFORM_X11
+AM_CPPFLAGS += \
+	$(XCB_DRI3_CFLAGS) \
+	-DVK_USE_PLATFORM_XCB_KHR \
+	-DVK_USE_PLATFORM_XLIB_KHR
+
+VULKAN_SOURCES += $(VULKAN_WSI_X11_FILES)
+
+# FIXME: Use pkg-config for X11-xcb ldflags.
+VULKAN_LIB_DEPS += $(XCB_DRI3_LIBS) -lX11-xcb
+endif
+
+
+if HAVE_PLATFORM_WAYLAND
+AM_CPPFLAGS += \
+	$(WAYLAND_CFLAGS) \
+	-DVK_USE_PLATFORM_WAYLAND_KHR
+
+VULKAN_SOURCES += $(VULKAN_WSI_WAYLAND_FILES)
+
+VULKAN_LIB_DEPS += \
+	$(top_builddir)/src/egl/wayland/wayland-drm/libwayland-drm.la \
+	$(WAYLAND_LIBS)
+endif
+
+noinst_LTLIBRARIES += libvulkan_common.la
+libvulkan_common_la_SOURCES = $(VULKAN_SOURCES)
+
+VULKAN_LIB_DEPS += \
+	libvulkan_common.la \
+	$(top_builddir)/src/vulkan/libvulkan_util.la \
+	$(top_builddir)/src/vulkan/libvulkan_wsi.la \
+	$(top_builddir)/src/mesa/drivers/dri/i965/libi965_compiler.la \
+	$(top_builddir)/src/compiler/nir/libnir.la \
+	$(top_builddir)/src/util/libmesautil.la \
+	$(top_builddir)/src/intel/common/libintel_common.la \
+	$(top_builddir)/src/intel/isl/libisl.la \
+	$(top_builddir)/src/intel/blorp/libblorp.la \
+	$(PER_GEN_LIBS) \
+	$(PTHREAD_LIBS) \
+	$(DLOPEN_LIBS) \
+	-lm
+
+nodist_EXTRA_libvulkan_intel_la_SOURCES = dummy.cpp
+libvulkan_intel_la_SOURCES = $(VULKAN_GEM_FILES)
+
+vulkan_api_xml = $(top_srcdir)/src/vulkan/registry/vk.xml
+
+anv_entrypoints.h : anv_entrypoints_gen.py $(vulkan_api_xml)
+	$(AM_V_GEN) cat $(vulkan_api_xml) |\
+	$(PYTHON2) $(srcdir)/anv_entrypoints_gen.py header > $@
+
+anv_entrypoints.c : anv_entrypoints_gen.py $(vulkan_api_xml)
+	$(AM_V_GEN) cat $(vulkan_api_xml) |\
+	$(PYTHON2) $(srcdir)/anv_entrypoints_gen.py code > $@
+
+BUILT_SOURCES = $(VULKAN_GENERATED_FILES)
+CLEANFILES = $(BUILT_SOURCES) dev_icd.json intel_icd. at host_cpu@.json
+EXTRA_DIST = \
+	$(top_srcdir)/include/vulkan/vk_icd.h \
+	anv_entrypoints_gen.py \
+	dev_icd.json.in \
+	intel_icd.json.in \
+	TODO
+
+libvulkan_intel_la_LIBADD = $(VULKAN_LIB_DEPS)
+
+libvulkan_intel_la_LDFLAGS = \
+	-shared \
+	-module \
+	-no-undefined \
+	-avoid-version \
+	-Wl,--build-id=sha1 \
+	$(BSYMBOLIC) \
+	$(GC_SECTIONS) \
+	$(LD_NO_UNDEFINED)
+
+
+icdconfdir = @VULKAN_ICD_INSTALL_DIR@
+icdconf_DATA = intel_icd. at host_cpu@.json
+# The following is used for development purposes, by setting VK_ICD_FILENAMES.
+noinst_DATA = dev_icd.json
+
+dev_icd.json : dev_icd.json.in
+	$(AM_V_GEN) $(SED) \
+		-e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
+		< $(srcdir)/dev_icd.json.in > $@
+
+intel_icd. at host_cpu@.json : intel_icd.json.in
+	$(AM_V_GEN) $(SED) \
+		-e "s#@install_libdir@#${libdir}#" \
+		< $(srcdir)/intel_icd.json.in > $@
+
+# Libvulkan with dummy gem. Used for unit tests.
+libvulkan_test_la_SOURCES = $(VULKAN_GEM_STUB_FILES)
+libvulkan_test_la_LIBADD = $(VULKAN_LIB_DEPS)
+
+include $(top_srcdir)/install-lib-links.mk
+
+noinst_HEADERS += \
+	tests/state_pool_test_helper.h
+
+LDADD = \
+	libvulkan-test.la \
+	$(PTHREAD_LIBS) -lm -lstdc++
+
+check_PROGRAMS = \
+	tests/block_pool_no_free \
+	tests/state_pool_no_free \
+	tests/state_pool_free_list_only \
+	tests/state_pool
+
+TESTS = $(check_PROGRAMS)
diff --git a/src/intel/vulkan/Makefile.sources b/src/intel/vulkan/Makefile.sources
new file mode 100644
index 0000000000..a19238f80d
--- /dev/null
+++ b/src/intel/vulkan/Makefile.sources
@@ -0,0 +1,84 @@
+# Copyright © 2015 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+
+VULKAN_FILES := \
+	anv_allocator.c \
+	anv_batch_chain.c \
+	anv_blorp.c \
+	anv_cmd_buffer.c \
+	anv_descriptor_set.c \
+	anv_device.c \
+	anv_dump.c \
+	anv_formats.c \
+	anv_genX.h \
+	anv_image.c \
+	anv_nir.h \
+	anv_nir_apply_dynamic_offsets.c \
+	anv_nir_apply_pipeline_layout.c \
+	anv_nir_lower_input_attachments.c \
+	anv_nir_lower_push_constants.c \
+	anv_pass.c \
+	anv_pipeline.c \
+	anv_pipeline_cache.c \
+	anv_private.h \
+	anv_util.c \
+	anv_wsi.c \
+	vk_format_info.h
+
+VULKAN_WSI_WAYLAND_FILES := \
+	anv_wsi_wayland.c
+
+VULKAN_WSI_X11_FILES := \
+	anv_wsi_x11.c
+
+VULKAN_GEM_FILES := \
+	anv_gem.c
+
+VULKAN_GEM_STUB_FILES := \
+	anv_gem_stubs.c
+
+VULKAN_GENERATED_FILES := \
+	anv_entrypoints.c \
+	anv_entrypoints.h
+
+GENX_FILES := \
+	genX_blorp_exec.c \
+	genX_cmd_buffer.c \
+	genX_gpu_memcpy.c \
+	genX_pipeline.c \
+	genX_query.c \
+	genX_state.c
+
+GEN7_FILES := \
+	gen7_cmd_buffer.c \
+        $(GENX_FILES)
+
+GEN75_FILES := \
+	gen7_cmd_buffer.c \
+        $(GENX_FILES)
+
+GEN8_FILES := \
+	gen8_cmd_buffer.c \
+        $(GENX_FILES)
+
+GEN9_FILES := \
+	gen8_cmd_buffer.c \
+        $(GENX_FILES)
diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py
index f5c527ed92..57f9d6efb1 100644
--- a/src/intel/vulkan/anv_entrypoints_gen.py
+++ b/src/intel/vulkan/anv_entrypoints_gen.py
@@ -350,16 +350,6 @@ def main():
     doc = et.parse(args.xml)
     entrypoints = get_entrypoints(doc, get_entrypoints_defines(doc))
 
-    # Manually add CreateDmaBufImageINTEL for which we don't have an extension
-    # defined.
-    entrypoints.append(('VkResult', 'CreateDmaBufImageINTEL',
-                        'VkDevice device, ' +
-                        'const VkDmaBufImageCreateInfo* pCreateInfo, ' +
-                        'const VkAllocationCallbacks* pAllocator,' +
-                        'VkDeviceMemory* pMem,' +
-                        'VkImage* pImage', len(entrypoints),
-                        cal_hash('vkCreateDmaBufImageINTEL'), None))
-
     # For outputting entrypoints.h we generate a anv_EntryPoint() prototype
     # per entry point.
     with open(os.path.join(args.outdir, 'anv_entrypoints.h'), 'wb') as f:
diff --git a/src/intel/vulkan/anv_intel.c b/src/intel/vulkan/anv_intel.c
deleted file mode 100644
index 991a93542d..0000000000
--- a/src/intel/vulkan/anv_intel.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright © 2015 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#include <assert.h>
-#include <stdbool.h>
-#include <string.h>
-#include <unistd.h>
-#include <fcntl.h>
-
-#include "anv_private.h"
-
-VkResult anv_CreateDmaBufImageINTEL(
-    VkDevice                                    _device,
-    const VkDmaBufImageCreateInfo*              pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkDeviceMemory*                             pMem,
-    VkImage*                                    pImage)
-{
-   ANV_FROM_HANDLE(anv_device, device, _device);
-   struct anv_device_memory *mem;
-   struct anv_image *image;
-   VkResult result;
-   VkImage image_h;
-
-   assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DMA_BUF_IMAGE_CREATE_INFO_INTEL);
-
-   mem = vk_alloc2(&device->alloc, pAllocator, sizeof(*mem), 8,
-                    VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
-   if (mem == NULL)
-      return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
-
-   uint64_t size = (uint64_t)pCreateInfo->strideInBytes * pCreateInfo->extent.height;
-
-   result = anv_bo_cache_import(device, &device->bo_cache,
-                                pCreateInfo->fd, size, &mem->bo);
-   if (result != VK_SUCCESS)
-      goto fail;
-
-   if (device->instance->physicalDevice.supports_48bit_addresses)
-      mem->bo->flags |= EXEC_OBJECT_SUPPORTS_48B_ADDRESS;
-
-   anv_image_create(_device,
-      &(struct anv_image_create_info) {
-         .isl_tiling_flags = ISL_TILING_X_BIT,
-         .stride = pCreateInfo->strideInBytes,
-         .vk_info =
-      &(VkImageCreateInfo) {
-         .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO,
-         .imageType = VK_IMAGE_TYPE_2D,
-         .format = pCreateInfo->format,
-         .extent = pCreateInfo->extent,
-         .mipLevels = 1,
-         .arrayLayers = 1,
-         .samples = 1,
-         /* FIXME: Need a way to use X tiling to allow scanout */
-         .tiling = VK_IMAGE_TILING_OPTIMAL,
-         .usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,
-         .flags = 0,
-      }},
-      pAllocator, &image_h);
-
-   image = anv_image_from_handle(image_h);
-   image->bo = mem->bo;
-   image->offset = 0;
-
-   assert(image->extent.width > 0);
-   assert(image->extent.height > 0);
-   assert(image->extent.depth == 1);
-
-   *pMem = anv_device_memory_to_handle(mem);
-   *pImage = anv_image_to_handle(image);
-
-   return VK_SUCCESS;
-
- fail:
-   vk_free2(&device->alloc, pAllocator, mem);
-
-   return result;
-}
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index e841291a10..18b69ee4c6 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -71,7 +71,6 @@ struct anv_image_view;
 struct gen_l3_config;
 
 #include <vulkan/vulkan.h>
-#include <vulkan/vulkan_intel.h>
 #include <vulkan/vk_icd.h>
 
 #include "anv_entrypoints.h"
-- 
2.13.0



More information about the mesa-dev mailing list