From 5e6db1916860ec217eac60903e0a9d10189d1c53 Mon Sep 17 00:00:00 2001 From: Chad Versace Date: Thu, 20 Aug 2020 10:10:28 -0700 Subject: [PATCH] anv: Remove vkCreateDmaBufINTEL (v4) Superceded by VK_EXT_image_drm_format_modifier. Reviewed-by: Lionel Landwerlin (v1) Reviewed-by: Jason Ekstrand (v4) Part-of: --- bin/khronos-update.py | 1 - include/meson.build | 4 - include/vulkan/vulkan_intel.h | 62 ---------- src/amd/vulkan/radv_private.h | 1 - src/freedreno/vulkan/tu_private.h | 1 - src/intel/vulkan/anv_intel.c | 139 ----------------------- src/intel/vulkan/anv_private.h | 1 - src/intel/vulkan/meson.build | 1 - src/vulkan/util/vk_dispatch_table_gen.py | 13 --- 9 files changed, 223 deletions(-) delete mode 100644 include/vulkan/vulkan_intel.h delete mode 100644 src/intel/vulkan/anv_intel.c diff --git a/bin/khronos-update.py b/bin/khronos-update.py index cc82a07b08c..d7713c526c1 100755 --- a/bin/khronos-update.py +++ b/bin/khronos-update.py @@ -175,7 +175,6 @@ SOURCES = [ Source('include/vulkan/vulkan_xlib.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/master/include/vulkan/vulkan_xlib.h'), Source('include/vulkan/vulkan_xlib_xrandr.h', 'https://github.com/KhronosGroup/Vulkan-Headers/raw/master/include/vulkan/vulkan_xlib_xrandr.h'), Source('include/vulkan/vk_android_native_buffer.h', 'https://android.googlesource.com/platform/frameworks/native/+/master/vulkan/include/vulkan/vk_android_native_buffer.h?format=TEXT'), - Source('include/vulkan/vulkan_intel.h', None), Source('include/vulkan/.editorconfig', None), ], }, diff --git a/include/meson.build b/include/meson.build index 4ee415fb4f3..d1d5787cf1d 100644 --- a/include/meson.build +++ b/include/meson.build @@ -142,7 +142,3 @@ if with_gallium_opencl and not with_opencl_icd subdir: 'CL' ) endif - -if with_intel_vk - install_headers('vulkan/vulkan_intel.h', subdir : 'vulkan') -endif diff --git a/include/vulkan/vulkan_intel.h b/include/vulkan/vulkan_intel.h deleted file mode 100644 index 8ede61b53dc..00000000000 --- 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/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 8f47bfb641f..22709cb86bd 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -83,7 +83,6 @@ typedef uint32_t xcb_visualid_t; typedef uint32_t xcb_window_t; #include -#include #include #include #include diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h index 2db0958503e..1fd5bd5b153 100644 --- a/src/freedreno/vulkan/tu_private.h +++ b/src/freedreno/vulkan/tu_private.h @@ -87,7 +87,6 @@ typedef uint32_t xcb_window_t; #include #include #include -#include #include "tu_entrypoints.h" diff --git a/src/intel/vulkan/anv_intel.c b/src/intel/vulkan/anv_intel.c deleted file mode 100644 index edb6034104a..00000000000 --- a/src/intel/vulkan/anv_intel.c +++ /dev/null @@ -1,139 +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 -#include -#include -#include -#include - -#include "drm-uapi/drm_fourcc.h" - -#include "anv_private.h" -#include "vk_util.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->vk.alloc, pAllocator, sizeof(*mem), 8, - VK_SYSTEM_ALLOCATION_SCOPE_OBJECT); - if (mem == NULL) - return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY); - - VkImageCreateInfo create_info = { - .sType = VK_STRUCTURE_TYPE_IMAGE_CREATE_INFO, - .imageType = VK_IMAGE_TYPE_2D, - .format = pCreateInfo->format, - .extent = pCreateInfo->extent, - .mipLevels = 1, - .arrayLayers = 1, - .samples = 1, - .tiling = VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT, - .usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, - .flags = 0, - }; - - VkImageDrmFormatModifierListCreateInfoEXT mod_info = { - .sType = VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT, - .drmFormatModifierCount = 1, - .pDrmFormatModifiers = (uint64_t[]) { I915_FORMAT_MOD_X_TILED }, - }; - __vk_append_struct(&create_info, &mod_info); - - result = anv_image_create(_device, - &(struct anv_image_create_info) { - .stride = pCreateInfo->strideInBytes, - .vk_info = &create_info, - }, pAllocator, &image_h); - if (result != VK_SUCCESS) - goto fail; - - image = anv_image_from_handle(image_h); - - result = anv_device_import_bo(device, pCreateInfo->fd, - ANV_BO_ALLOC_IMPLICIT_SYNC, - 0 /* address */, - &mem->bo); - if (result != VK_SUCCESS) - goto fail_import; - - VkImageMemoryRequirementsInfo2 mem_reqs_info = { - .sType = VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2, - .image = image_h, - }; - - VkMemoryRequirements2 mem_reqs = { - .sType = VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2, - }; - - anv_GetImageMemoryRequirements2(_device, &mem_reqs_info, &mem_reqs); - - VkDeviceSize aligned_image_size = - align_u64(mem_reqs.memoryRequirements.size, - mem_reqs.memoryRequirements.alignment); - - if (mem->bo->size < aligned_image_size) { - result = vk_errorf(device, NULL, VK_ERROR_INVALID_EXTERNAL_HANDLE, - "dma-buf too small for image in " - "vkCreateDmaBufImageINTEL: %"PRIu64"B < %"PRIu64"B", - mem->bo->size, aligned_image_size); - anv_device_release_bo(device, mem->bo); - goto fail_import; - } - - image->bindings[ANV_IMAGE_MEMORY_BINDING_MAIN].address = (struct anv_address) { - .bo = mem->bo, - .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); - - close(pCreateInfo->fd); - - return VK_SUCCESS; - - fail_import: - vk_free2(&device->vk.alloc, pAllocator, image); - - fail: - vk_free2(&device->vk.alloc, pAllocator, mem); - - return result; -} diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 6f7f1155bad..696fc41eb8b 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -89,7 +89,6 @@ struct gen_perf_counter_pass; struct gen_perf_query_result; #include -#include #include #include "anv_android.h" diff --git a/src/intel/vulkan/meson.build b/src/intel/vulkan/meson.build index 9bac66dd0cf..84159b3a2e0 100644 --- a/src/intel/vulkan/meson.build +++ b/src/intel/vulkan/meson.build @@ -91,7 +91,6 @@ libanv_files = files( 'anv_formats.c', 'anv_genX.h', 'anv_image.c', - 'anv_intel.c', 'anv_measure.c', 'anv_measure.h', 'anv_nir.h', diff --git a/src/vulkan/util/vk_dispatch_table_gen.py b/src/vulkan/util/vk_dispatch_table_gen.py index 359437544c2..7b566ba0f00 100644 --- a/src/vulkan/util/vk_dispatch_table_gen.py +++ b/src/vulkan/util/vk_dispatch_table_gen.py @@ -49,7 +49,6 @@ TEMPLATE_H = Template(COPYRIGHT + """\ #define VK_DISPATCH_TABLE_H #include "vulkan/vulkan.h" -#include "vulkan/vulkan_intel.h" #include "vulkan/vk_android_native_buffer.h" #include "vk_extensions.h" @@ -842,18 +841,6 @@ def get_entrypoints_from_xml(xml_files): doc = et.parse(filename) entrypoints += get_entrypoints(doc, get_entrypoints_defines(doc)) - # Manually add CreateDmaBufImageINTEL for which we don't have an extension - # defined. - entrypoints.append(Entrypoint('vkCreateDmaBufImageINTEL', 'VkResult', [ - EntrypointParam('VkDevice', 'device', 'VkDevice device'), - EntrypointParam('VkDmaBufImageCreateInfo', 'pCreateInfo', - 'const VkDmaBufImageCreateInfo* pCreateInfo'), - EntrypointParam('VkAllocationCallbacks', 'pAllocator', - 'const VkAllocationCallbacks* pAllocator'), - EntrypointParam('VkDeviceMemory', 'pMem', 'VkDeviceMemory* pMem'), - EntrypointParam('VkImage', 'pImage', 'VkImage* pImage') - ])) - return entrypoints def main():