<div dir="ltr">Burn it to the ground!<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 6, 2017 at 12:40 PM, Chad Versace <span dir="ltr"><<a href="mailto:chadversary@chromium.org" target="_blank">chadversary@chromium.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This "extension" function predates Vulkan 1.0 and Vulkan WSI. We created<br>
it during the early days of bringing up the Vulkan driver. We used it<br>
for testing the early driver because, in those early days, there was no<br>
other way to import/export a tiled VkImage and examine it. No<br>
VkSurfaceKHR existed yet in the early API.<br>
<br>
We never created a extension for this function.<br>
<br>
Since there is no extension, the validation layers don't understand it.<br>
I've observed the validation layers crash when this function is called.<br>
<br>
We now support a real dma_buf extension,<br>
VK_MESAX_external_image_dma_<wbr>buf, that can replace this function.<br>
---<br>
 include/vulkan/vulkan_intel.h     | 62 ------------------------<br>
 src/intel/vulkan/Makefile.am      |  3 --<br>
 src/intel/vulkan/Makefile.<wbr>sources |  1 -<br>
 src/intel/vulkan/anv_intel.c      | 99 ------------------------------<wbr>---------<br>
 4 files changed, 165 deletions(-)<br>
 delete mode 100644 include/vulkan/vulkan_intel.h<br>
 delete mode 100644 src/intel/vulkan/anv_intel.c<br>
<br>
diff --git a/include/vulkan/vulkan_intel.<wbr>h b/include/vulkan/vulkan_intel.<wbr>h<br>
deleted file mode 100644<br>
index 8ede61b53dc..00000000000<br>
--- a/include/vulkan/vulkan_intel.<wbr>h<br>
+++ /dev/null<br>
@@ -1,62 +0,0 @@<br>
-/*<br>
- * Copyright © 2015 Intel Corporation<br>
- *<br>
- * Permission is hereby granted, free of charge, to any person obtaining a<br>
- * copy of this software and associated documentation files (the "Software"),<br>
- * to deal in the Software without restriction, including without limitation<br>
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>
- * and/or sell copies of the Software, and to permit persons to whom the<br>
- * Software is furnished to do so, subject to the following conditions:<br>
- *<br>
- * The above copyright notice and this permission notice (including the next<br>
- * paragraph) shall be included in all copies or substantial portions of the<br>
- * Software.<br>
- *<br>
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL<br>
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<br>
- * IN THE SOFTWARE.<br>
- */<br>
-<br>
-#ifndef __VULKAN_INTEL_H__<br>
-#define __VULKAN_INTEL_H__<br>
-<br>
-#include "vulkan.h"<br>
-<br>
-#ifdef __cplusplus<br>
-extern "C"<br>
-{<br>
-#endif // __cplusplus<br>
-<br>
-#define VK_STRUCTURE_TYPE_DMA_BUF_<wbr>IMAGE_CREATE_INFO_INTEL 1024<br>
-typedef struct VkDmaBufImageCreateInfo_<br>
-{<br>
-    VkStructureType                             sType;                      // Must be VK_STRUCTURE_TYPE_DMA_BUF_<wbr>IMAGE_CREATE_INFO_INTEL<br>
-    const void*                                 pNext;                      // Pointer to next structure.<br>
-    int                                         fd;<br>
-    VkFormat                                    format;<br>
-    VkExtent3D                                  extent;         // Depth must be 1<br>
-    uint32_t                                    strideInBytes;<br>
-} VkDmaBufImageCreateInfo;<br>
-<br>
-typedef VkResult (VKAPI_PTR *PFN_vkCreateDmaBufImageINTEL)<wbr>(VkDevice device, const VkDmaBufImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMem, VkImage* pImage);<br>
-<br>
-#ifndef VK_NO_PROTOTYPES<br>
-<br>
-VKAPI_ATTR VkResult VKAPI_CALL vkCreateDmaBufImageINTEL(<br>
-    VkDevice                                    _device,<br>
-    const VkDmaBufImageCreateInfo*              pCreateInfo,<br>
-    const VkAllocationCallbacks*                pAllocator,<br>
-    VkDeviceMemory*                             pMem,<br>
-    VkImage*                                    pImage);<br>
-<br>
-#endif<br>
-<br>
-#ifdef __cplusplus<br>
-} // extern "C"<br>
-#endif // __cplusplus<br>
-<br>
-#endif // __VULKAN_INTEL_H__<br>
diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am<br>
index 3cd01e4d028..58c81319fa5 100644<br>
--- a/src/intel/vulkan/Makefile.am<br>
+++ b/src/intel/vulkan/Makefile.am<br>
@@ -27,9 +27,6 @@ noinst_HEADERS = \<br>
        $(top_srcdir)/include/vulkan/<wbr>vk_platform.h \<br>
        $(top_srcdir)/include/vulkan/<wbr>vulkan.h<br>
<br>
-vulkan_include_HEADERS = \<br>
-       $(top_srcdir)/include/vulkan/<wbr>vulkan_intel.h<br>
-<br>
 lib_LTLIBRARIES = <a href="http://libvulkan_intel.la" rel="noreferrer" target="_blank">libvulkan_intel.la</a><br>
<br>
 check_LTLIBRARIES = <a href="http://libvulkan-test.la" rel="noreferrer" target="_blank">libvulkan-test.la</a><br>
diff --git a/src/intel/vulkan/Makefile.<wbr>sources b/src/intel/vulkan/Makefile.<wbr>sources<br>
index fd149b247c6..a19238f80d3 100644<br>
--- a/src/intel/vulkan/Makefile.<wbr>sources<br>
+++ b/src/intel/vulkan/Makefile.<wbr>sources<br>
@@ -30,7 +30,6 @@ VULKAN_FILES := \<br>
        anv_formats.c \<br>
        anv_genX.h \<br>
        anv_image.c \<br>
-       anv_intel.c \<br>
        anv_nir.h \<br>
        anv_nir_apply_dynamic_offsets.<wbr>c \<br>
        anv_nir_apply_pipeline_layout.<wbr>c \<br>
diff --git a/src/intel/vulkan/anv_intel.c b/src/intel/vulkan/anv_intel.c<br>
deleted file mode 100644<br>
index c356e848fe0..00000000000<br>
--- a/src/intel/vulkan/anv_intel.c<br>
+++ /dev/null<br>
@@ -1,99 +0,0 @@<br>
-/*<br>
- * Copyright © 2015 Intel Corporation<br>
- *<br>
- * Permission is hereby granted, free of charge, to any person obtaining a<br>
- * copy of this software and associated documentation files (the "Software"),<br>
- * to deal in the Software without restriction, including without limitation<br>
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,<br>
- * and/or sell copies of the Software, and to permit persons to whom the<br>
- * Software is furnished to do so, subject to the following conditions:<br>
- *<br>
- * The above copyright notice and this permission notice (including the next<br>
- * paragraph) shall be included in all copies or substantial portions of the<br>
- * Software.<br>
- *<br>
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br>
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,<br>
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL<br>
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER<br>
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING<br>
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS<br>
- * IN THE SOFTWARE.<br>
- */<br>
-<br>
-#include <assert.h><br>
-#include <stdbool.h><br>
-#include <string.h><br>
-#include <unistd.h><br>
-#include <fcntl.h><br>
-<br>
-#include "anv_private.h"<br>
-<br>
-VkResult anv_CreateDmaBufImageINTEL(<br>
-    VkDevice                                    _device,<br>
-    const VkDmaBufImageCreateInfo*              pCreateInfo,<br>
-    const VkAllocationCallbacks*                pAllocator,<br>
-    VkDeviceMemory*                             pMem,<br>
-    VkImage*                                    pImage)<br>
-{<br>
-   ANV_FROM_HANDLE(anv_device, device, _device);<br>
-   struct anv_device_memory *mem;<br>
-   struct anv_image *image;<br>
-   VkResult result;<br>
-   VkImage image_h;<br>
-<br>
-   assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_DMA_BUF_<wbr>IMAGE_CREATE_INFO_INTEL);<br>
-<br>
-   mem = vk_alloc2(&device->alloc, pAllocator, sizeof(*mem), 8,<br>
-                    VK_SYSTEM_ALLOCATION_SCOPE_<wbr>OBJECT);<br>
-   if (mem == NULL)<br>
-      return vk_error(VK_ERROR_OUT_OF_HOST_<wbr>MEMORY);<br>
-<br>
-   uint32_t gem_handle = anv_gem_fd_to_handle(device, pCreateInfo->fd);<br>
-   if (!gem_handle) {<br>
-      result = vk_error(VK_ERROR_OUT_OF_<wbr>DEVICE_MEMORY);<br>
-      goto fail;<br>
-   }<br>
-<br>
-   uint64_t size = (uint64_t)pCreateInfo-><wbr>strideInBytes * pCreateInfo->extent.height;<br>
-<br>
-   anv_bo_init(&mem->bo, gem_handle, size);<br>
-<br>
-   anv_image_create(_device,<br>
-      &(struct anv_image_create_info) {<br>
-         .isl_tiling_flags = ISL_TILING_X_BIT,<br>
-         .stride = pCreateInfo->strideInBytes,<br>
-         .vk_info =<br>
-      &(VkImageCreateInfo) {<br>
-         .sType = VK_STRUCTURE_TYPE_IMAGE_<wbr>CREATE_INFO,<br>
-         .imageType = VK_IMAGE_TYPE_2D,<br>
-         .format = pCreateInfo->format,<br>
-         .extent = pCreateInfo->extent,<br>
-         .mipLevels = 1,<br>
-         .arrayLayers = 1,<br>
-         .samples = 1,<br>
-         /* FIXME: Need a way to use X tiling to allow scanout */<br>
-         .tiling = VK_IMAGE_TILING_OPTIMAL,<br>
-         .usage = VK_IMAGE_USAGE_COLOR_<wbr>ATTACHMENT_BIT,<br>
-         .flags = 0,<br>
-      }},<br>
-      pAllocator, &image_h);<br>
-<br>
-   image = anv_image_from_handle(image_h)<wbr>;<br>
-   image->bo = &mem->bo;<br>
-   image->offset = 0;<br>
-<br>
-   assert(image->extent.width > 0);<br>
-   assert(image->extent.height > 0);<br>
-   assert(image->extent.depth == 1);<br>
-<br>
-   *pMem = anv_device_memory_to_handle(<wbr>mem);<br>
-   *pImage = anv_image_to_handle(image);<br>
-<br>
-   return VK_SUCCESS;<br>
-<br>
- fail:<br>
-   vk_free2(&device->alloc, pAllocator, mem);<br>
-<br>
-   return result;<br>
-}<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.12.0<br>
<br>
______________________________<wbr>_________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>