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:
@@ -1117,7 +1117,7 @@ VkResult anv_QueueWaitIdle(
|
|||||||
{
|
{
|
||||||
ANV_FROM_HANDLE(anv_queue, queue, _queue);
|
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(
|
VkResult anv_DeviceWaitIdle(
|
||||||
|
@@ -112,7 +112,11 @@ dump_image_do_blit(struct anv_device *device, struct dump_image *image,
|
|||||||
VkImageAspectFlagBits aspect,
|
VkImageAspectFlagBits aspect,
|
||||||
unsigned miplevel, unsigned array_layer)
|
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,
|
||||||
VK_PIPELINE_STAGE_TRANSFER_BIT,
|
VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||||
0, 0, NULL, 0, NULL, 1,
|
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;
|
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,
|
||||||
VK_PIPELINE_STAGE_TRANSFER_BIT,
|
VK_PIPELINE_STAGE_TRANSFER_BIT,
|
||||||
0, 0, NULL, 0, NULL, 1,
|
0, 0, NULL, 0, NULL, 1,
|
||||||
|
@@ -222,7 +222,7 @@ anv_set_dispatch_devinfo(const struct gen_device_info *devinfo)
|
|||||||
dispatch_devinfo = *devinfo;
|
dispatch_devinfo = *devinfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
void * __attribute__ ((noinline))
|
static void * __attribute__ ((noinline))
|
||||||
anv_resolve_entrypoint(uint32_t index)
|
anv_resolve_entrypoint(uint32_t index)
|
||||||
{
|
{
|
||||||
if (dispatch_devinfo.gen == 0) {
|
if (dispatch_devinfo.gen == 0) {
|
||||||
|
@@ -497,18 +497,8 @@ struct anv_bo *anv_scratch_pool_alloc(struct anv_device *device,
|
|||||||
gl_shader_stage stage,
|
gl_shader_stage stage,
|
||||||
unsigned per_thread_scratch);
|
unsigned per_thread_scratch);
|
||||||
|
|
||||||
void *anv_resolve_entrypoint(uint32_t index);
|
|
||||||
|
|
||||||
extern struct anv_dispatch_table dtable;
|
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 *
|
static inline void *
|
||||||
anv_alloc(const VkAllocationCallbacks *alloc,
|
anv_alloc(const VkAllocationCallbacks *alloc,
|
||||||
size_t size, size_t align,
|
size_t size, size_t align,
|
||||||
|
Reference in New Issue
Block a user