From: Jason Ekstrand Date: Fri, 7 Oct 2016 22:41:17 +0000 (-0700) Subject: anv: Get rid of the ANV_CALL macro X-Git-Tag: upstream/17.1.0~5513 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4c9dec80edeb7f1d1774ca51faa806241c1c59cb;p=platform%2Fupstream%2Fmesa.git anv: Get rid of the ANV_CALL macro This macro was needed by meta in order to make gen-specific calls from gen-agnostic code. Now that we don't have meta, the remaining two uses are fairly trivial to get rid of. Signed-off-by: Jason Ekstrand --- diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 725a572..8107835 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1117,7 +1117,7 @@ VkResult anv_QueueWaitIdle( { ANV_FROM_HANDLE(anv_queue, queue, _queue); - return ANV_CALL(DeviceWaitIdle)(anv_device_to_handle(queue->device)); + return anv_DeviceWaitIdle(anv_device_to_handle(queue->device)); } VkResult anv_DeviceWaitIdle( diff --git a/src/intel/vulkan/anv_dump.c b/src/intel/vulkan/anv_dump.c index ed1b575..0a359a0 100644 --- a/src/intel/vulkan/anv_dump.c +++ b/src/intel/vulkan/anv_dump.c @@ -112,7 +112,11 @@ dump_image_do_blit(struct anv_device *device, struct dump_image *image, VkImageAspectFlagBits aspect, unsigned miplevel, unsigned array_layer) { - ANV_CALL(CmdPipelineBarrier)(anv_cmd_buffer_to_handle(cmd_buffer), + PFN_vkCmdPipelineBarrier CmdPipelineBarrier = + (void *)anv_GetDeviceProcAddr(anv_device_to_handle(device), + "vkCmdPipelineBarrier"); + + CmdPipelineBarrier(anv_cmd_buffer_to_handle(cmd_buffer), VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 0, NULL, 0, NULL, 1, @@ -169,7 +173,7 @@ dump_image_do_blit(struct anv_device *device, struct dump_image *image, src->usage = old_usage; - ANV_CALL(CmdPipelineBarrier)(anv_cmd_buffer_to_handle(cmd_buffer), + CmdPipelineBarrier(anv_cmd_buffer_to_handle(cmd_buffer), VK_PIPELINE_STAGE_TRANSFER_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, 0, 0, NULL, 0, NULL, 1, diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py index aeaeb1d..ebabce6 100644 --- a/src/intel/vulkan/anv_entrypoints_gen.py +++ b/src/intel/vulkan/anv_entrypoints_gen.py @@ -222,7 +222,7 @@ anv_set_dispatch_devinfo(const struct gen_device_info *devinfo) dispatch_devinfo = *devinfo; } -void * __attribute__ ((noinline)) +static void * __attribute__ ((noinline)) anv_resolve_entrypoint(uint32_t index) { if (dispatch_devinfo.gen == 0) { diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index c900393..b04881a 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -497,18 +497,8 @@ struct anv_bo *anv_scratch_pool_alloc(struct anv_device *device, gl_shader_stage stage, unsigned per_thread_scratch); -void *anv_resolve_entrypoint(uint32_t index); - extern struct anv_dispatch_table dtable; -#define ANV_CALL(func) ({ \ - if (dtable.func == NULL) { \ - size_t idx = offsetof(struct anv_dispatch_table, func) / sizeof(void *); \ - dtable.entrypoints[idx] = anv_resolve_entrypoint(idx); \ - } \ - dtable.func; \ -}) - static inline void * anv_alloc(const VkAllocationCallbacks *alloc, size_t size, size_t align,