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 <jason@jlekstrand.net>
This commit is contained in:
Jason Ekstrand 2016-10-07 15:41:17 -07:00
parent ac77528f7d
commit 4c9dec80ed
4 changed files with 8 additions and 14 deletions

View File

@ -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(

View File

@ -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,

View File

@ -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) {

View File

@ -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,