diff --git a/src/intel/vulkan/anv_blorp.c b/src/intel/vulkan/anv_blorp.c index 1d3582282db..7cf450df305 100644 --- a/src/intel/vulkan/anv_blorp.c +++ b/src/intel/vulkan/anv_blorp.c @@ -33,7 +33,7 @@ lookup_blorp_shader(struct blorp_batch *batch, struct blorp_context *blorp = batch->blorp; struct anv_device *device = blorp->driver_ctx; - struct anv_shader_bin *bin = + struct anv_shader_internal *bin = anv_device_search_for_kernel(device, device->internal_cache, key, key_size, NULL); if (!bin) @@ -42,7 +42,7 @@ lookup_blorp_shader(struct blorp_batch *batch, /* The cache already has a reference and it's not going anywhere so there * is no need to hold a second reference. */ - anv_shader_bin_unref(device, bin); + anv_shader_internal_unref(device, bin); *kernel_out = bin->kernel.offset; *(const struct brw_stage_prog_data **)prog_data_out = bin->prog_data; @@ -75,7 +75,7 @@ upload_blorp_shader(struct blorp_batch *batch, uint32_t stage, .push_desc_info = &empty_push_desc_info, }; - struct anv_shader_bin *bin = + struct anv_shader_internal *bin = anv_device_upload_kernel(device, device->internal_cache, &upload_params); if (!bin) @@ -84,7 +84,7 @@ upload_blorp_shader(struct blorp_batch *batch, uint32_t stage, /* The cache already has a reference and it's not going anywhere so there * is no need to hold a second reference. */ - anv_shader_bin_unref(device, bin); + anv_shader_internal_unref(device, bin); if (INTEL_DEBUG(DEBUG_SHADERS_LINENO)) { /* shader hash is zero in this context */ diff --git a/src/intel/vulkan/anv_genX.h b/src/intel/vulkan/anv_genX.h index 71110e17056..6812e2dbb2d 100644 --- a/src/intel/vulkan/anv_genX.h +++ b/src/intel/vulkan/anv_genX.h @@ -295,7 +295,7 @@ void genX(batch_emit_fast_color_dummy_blit)(struct anv_batch *batch, struct anv_device *device); #if GFX_VERx10 >= 300 -#define anv_shader_bin_get_handler(bin, local_arg_offset) ({ \ +#define anv_shader_internal_get_handler(bin, local_arg_offset) ({ \ assert((local_arg_offset) % 8 == 0); \ const struct brw_bs_prog_data *prog_data = \ brw_bs_prog_data_const(bin->prog_data); \ @@ -341,7 +341,7 @@ void genX(batch_emit_fast_color_dummy_blit)(struct anv_batch *batch, #endif #if GFX_VERx10 >= 300 -#define anv_shader_bin_get_bsr(bin, local_arg_offset) ({ \ +#define anv_shader_internal_get_bsr(bin, local_arg_offset) ({ \ assert((local_arg_offset) % 8 == 0); \ const struct brw_bs_prog_data *prog_data = \ brw_bs_prog_data_const(bin->prog_data); \ @@ -355,7 +355,7 @@ void genX(batch_emit_fast_color_dummy_blit)(struct anv_batch *batch, }; \ }) #else -#define anv_shader_bin_get_bsr(bin, local_arg_offset) ({ \ +#define anv_shader_internal_get_bsr(bin, local_arg_offset) ({ \ assert((local_arg_offset) % 8 == 0); \ const struct brw_bs_prog_data *prog_data = \ brw_bs_prog_data_const(bin->prog_data); \ diff --git a/src/intel/vulkan/anv_internal_kernels.c b/src/intel/vulkan/anv_internal_kernels.c index d645c20534c..dcfb75fa185 100644 --- a/src/intel/vulkan/anv_internal_kernels.c +++ b/src/intel/vulkan/anv_internal_kernels.c @@ -56,7 +56,7 @@ check_sends(struct genisa_stats *stats, unsigned send_count) assert(stats->send_messages == send_count); } -static struct anv_shader_bin * +static struct anv_shader_internal * compile_shader(struct anv_device *device, enum anv_internal_kernel_name shader_name, mesa_shader_stage stage, @@ -210,7 +210,7 @@ compile_shader(struct anv_device *device, assert(prog_data.base.total_scratch == 0); assert(program != NULL); - struct anv_shader_bin *kernel = NULL; + struct anv_shader_internal *kernel = NULL; if (program == NULL) goto exit; @@ -240,7 +240,7 @@ exit: VkResult anv_device_get_internal_shader(struct anv_device *device, enum anv_internal_kernel_name name, - struct anv_shader_bin **out_bin) + struct anv_shader_internal **out_bin) { const struct { struct { @@ -300,7 +300,7 @@ anv_device_get_internal_shader(struct anv_device *device, }, }; - struct anv_shader_bin *bin = + struct anv_shader_internal *bin = p_atomic_read(&device->internal_kernels[name]); if (bin != NULL) { *out_bin = bin; @@ -333,7 +333,7 @@ anv_device_get_internal_shader(struct anv_device *device, /* The cache already has a reference and it's not going anywhere so * there is no need to hold a second reference. */ - anv_shader_bin_unref(device, bin); + anv_shader_internal_unref(device, bin); p_atomic_set(&device->internal_kernels[name], bin); diff --git a/src/intel/vulkan/anv_pipeline_cache.c b/src/intel/vulkan/anv_pipeline_cache.c index facf2f99125..33c68d539a9 100644 --- a/src/intel/vulkan/anv_pipeline_cache.c +++ b/src/intel/vulkan/anv_pipeline_cache.c @@ -38,23 +38,23 @@ static bool -anv_shader_bin_serialize(struct vk_pipeline_cache_object *object, - struct blob *blob); +anv_shader_internal_serialize(struct vk_pipeline_cache_object *object, + struct blob *blob); struct vk_pipeline_cache_object * -anv_shader_bin_deserialize(struct vk_pipeline_cache *cache, - const void *key_data, size_t key_size, - struct blob_reader *blob); +anv_shader_internal_deserialize(struct vk_pipeline_cache *cache, + const void *key_data, size_t key_size, + struct blob_reader *blob); static void -anv_shader_bin_destroy(struct vk_device *_device, - struct vk_pipeline_cache_object *object) +anv_shader_internal_destroy(struct vk_device *_device, + struct vk_pipeline_cache_object *object) { struct anv_device *device = container_of(_device, struct anv_device, vk); - struct anv_shader_bin *shader = - container_of(object, struct anv_shader_bin, base); + struct anv_shader_internal *shader = + container_of(object, struct anv_shader_internal, base); for (uint32_t i = 0; i < shader->bind_map.embedded_sampler_count; i++) anv_embedded_sampler_unref(device, shader->embedded_samplers[i]); @@ -65,31 +65,31 @@ anv_shader_bin_destroy(struct vk_device *_device, vk_free(&device->vk.alloc, shader); } -static const struct vk_pipeline_cache_object_ops anv_shader_bin_ops = { - .serialize = anv_shader_bin_serialize, - .deserialize = anv_shader_bin_deserialize, - .destroy = anv_shader_bin_destroy, +static const struct vk_pipeline_cache_object_ops anv_shader_internal_ops = { + .serialize = anv_shader_internal_serialize, + .deserialize = anv_shader_internal_deserialize, + .destroy = anv_shader_internal_destroy, }; const struct vk_pipeline_cache_object_ops *const anv_cache_import_ops[2] = { - &anv_shader_bin_ops, + &anv_shader_internal_ops, NULL }; -static struct anv_shader_bin * -anv_shader_bin_create(struct anv_device *device, - mesa_shader_stage stage, - const void *key_data, uint32_t key_size, - const void *kernel_data, uint32_t kernel_size, - const struct brw_stage_prog_data *prog_data_in, - uint32_t prog_data_size, - const struct genisa_stats *stats, uint32_t num_stats, - const nir_xfb_info *xfb_info_in, - const struct anv_pipeline_bind_map *bind_map, - const struct anv_push_descriptor_info *push_desc_info) +static struct anv_shader_internal * +anv_shader_internal_create(struct anv_device *device, + mesa_shader_stage stage, + const void *key_data, uint32_t key_size, + const void *kernel_data, uint32_t kernel_size, + const struct brw_stage_prog_data *prog_data_in, + uint32_t prog_data_size, + const struct genisa_stats *stats, uint32_t num_stats, + const nir_xfb_info *xfb_info_in, + const struct anv_pipeline_bind_map *bind_map, + const struct anv_push_descriptor_info *push_desc_info) { VK_MULTIALLOC(ma); - VK_MULTIALLOC_DECL(&ma, struct anv_shader_bin, shader, 1); + VK_MULTIALLOC_DECL(&ma, struct anv_shader_internal, shader, 1); VK_MULTIALLOC_DECL_SIZE(&ma, void, obj_key_data, key_size); VK_MULTIALLOC_DECL_SIZE(&ma, struct brw_stage_prog_data, prog_data, prog_data_size); @@ -117,7 +117,7 @@ anv_shader_bin_create(struct anv_device *device, memcpy(obj_key_data, key_data, key_size); vk_pipeline_cache_object_init(&device->vk, &shader->base, - &anv_shader_bin_ops, obj_key_data, key_size); + &anv_shader_internal_ops, obj_key_data, key_size); shader->stage = stage; if(INTEL_DEBUG(DEBUG_SHOW_SHADER_STAGE)) @@ -185,11 +185,11 @@ anv_shader_bin_create(struct anv_device *device, } static bool -anv_shader_bin_serialize(struct vk_pipeline_cache_object *object, - struct blob *blob) +anv_shader_internal_serialize(struct vk_pipeline_cache_object *object, + struct blob *blob) { - struct anv_shader_bin *shader = - container_of(object, struct anv_shader_bin, base); + struct anv_shader_internal *shader = + container_of(object, struct anv_shader_internal, base); blob_write_uint32(blob, shader->stage); @@ -254,9 +254,9 @@ anv_shader_bin_serialize(struct vk_pipeline_cache_object *object, } struct vk_pipeline_cache_object * -anv_shader_bin_deserialize(struct vk_pipeline_cache *cache, - const void *key_data, size_t key_size, - struct blob_reader *blob) +anv_shader_internal_deserialize(struct vk_pipeline_cache *cache, + const void *key_data, size_t key_size, + struct blob_reader *blob) { struct anv_device *device = container_of(cache->base.device, struct anv_device, vk); @@ -319,13 +319,13 @@ anv_shader_bin_deserialize(struct vk_pipeline_cache *cache, return NULL; } - struct anv_shader_bin *shader = - anv_shader_bin_create(device, stage, - key_data, key_size, - kernel_data, kernel_size, - &prog_data.base, prog_data_size, - stats, num_stats, xfb_info, &bind_map, - &push_desc_info); + struct anv_shader_internal *shader = + anv_shader_internal_create(device, stage, + key_data, key_size, + kernel_data, kernel_size, + &prog_data.base, prog_data_size, + stats, num_stats, xfb_info, &bind_map, + &push_desc_info); ralloc_free(mem_ctx); @@ -335,7 +335,7 @@ anv_shader_bin_deserialize(struct vk_pipeline_cache *cache, return &shader->base; } -struct anv_shader_bin * +struct anv_shader_internal * anv_device_search_for_kernel(struct anv_device *device, struct vk_pipeline_cache *cache, const void *key_data, uint32_t key_size, @@ -348,7 +348,7 @@ anv_device_search_for_kernel(struct anv_device *device, bool cache_hit = false; struct vk_pipeline_cache_object *object = vk_pipeline_cache_lookup_object(cache, key_data, key_size, - &anv_shader_bin_ops, &cache_hit); + &anv_shader_internal_ops, &cache_hit); if (user_cache_hit != NULL) { *user_cache_hit = object != NULL && cache_hit && cache != device->vk.mem_cache; @@ -357,10 +357,10 @@ anv_device_search_for_kernel(struct anv_device *device, if (object == NULL) return NULL; - return container_of(object, struct anv_shader_bin, base); + return container_of(object, struct anv_shader_internal, base); } -struct anv_shader_bin * +struct anv_shader_internal * anv_device_upload_kernel(struct anv_device *device, struct vk_pipeline_cache *cache, const struct anv_shader_upload_params *params) @@ -369,27 +369,27 @@ anv_device_upload_kernel(struct anv_device *device, if (cache == NULL) cache = device->vk.mem_cache; - struct anv_shader_bin *shader = - anv_shader_bin_create(device, - params->stage, - params->key_data, - params->key_size, - params->kernel_data, - params->kernel_size, - params->prog_data, - params->prog_data_size, - params->stats, - params->num_stats, - params->xfb_info, - params->bind_map, - params->push_desc_info); + struct anv_shader_internal *shader = + anv_shader_internal_create(device, + params->stage, + params->key_data, + params->key_size, + params->kernel_data, + params->kernel_size, + params->prog_data, + params->prog_data_size, + params->stats, + params->num_stats, + params->xfb_info, + params->bind_map, + params->push_desc_info); if (shader == NULL) return NULL; struct vk_pipeline_cache_object *cached = vk_pipeline_cache_add_object(cache, &shader->base); - return container_of(cached, struct anv_shader_bin, base); + return container_of(cached, struct anv_shader_internal, base); } #define SHA1_KEY_SIZE 20 diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index ac4d777441b..61858eb706e 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1782,7 +1782,7 @@ struct anv_push_descriptor_info; extern const struct vk_pipeline_cache_object_ops *const anv_cache_import_ops[2]; -struct anv_shader_bin * +struct anv_shader_internal * anv_device_search_for_kernel(struct anv_device *device, struct vk_pipeline_cache *cache, const void *key_data, uint32_t key_size, @@ -1790,7 +1790,7 @@ anv_device_search_for_kernel(struct anv_device *device, struct anv_shader_upload_params; -struct anv_shader_bin * +struct anv_shader_internal * anv_device_upload_kernel(struct anv_device *device, struct vk_pipeline_cache *cache, const struct anv_shader_upload_params *params); @@ -2553,16 +2553,16 @@ struct anv_device { */ struct anv_bo *ray_query_bo[2]; - struct anv_shader_bin *rt_trampoline; - struct anv_shader_bin *rt_trivial_return; - struct anv_shader_bin *rt_null_ahs; + struct anv_shader_internal *rt_trampoline; + struct anv_shader_internal *rt_trivial_return; + struct anv_shader_internal *rt_null_ahs; /** Draw generation shader * * Generates direct draw calls out of indirect parameters. Used to * workaround slowness with indirect draw calls. */ - struct anv_shader_bin *internal_kernels[ANV_INTERNAL_KERNEL_COUNT]; + struct anv_shader_internal *internal_kernels[ANV_INTERNAL_KERNEL_COUNT]; const struct intel_l3_config *internal_kernels_l3_config; pthread_mutex_t mutex; @@ -4291,7 +4291,7 @@ struct anv_simple_shader { /* Where to emit the commands (can be different from cmd_buffer->batch) */ struct anv_batch *batch; /* Shader to use */ - struct anv_shader_bin *kernel; + struct anv_shader_internal *kernel; /* Managed by the simpler shader helper*/ struct anv_state bt_state; @@ -5134,7 +5134,7 @@ anv_device_get_embedded_samplers(struct anv_device *device, struct anv_embedded_sampler **out_samplers, const struct anv_pipeline_bind_map *bind_map); -struct anv_shader_bin { +struct anv_shader_internal { struct vk_pipeline_cache_object base; mesa_shader_stage stage; @@ -5161,8 +5161,8 @@ struct anv_shader_bin { struct anv_embedded_sampler **embedded_samplers; }; -static inline struct anv_shader_bin * -anv_shader_bin_ref(struct anv_shader_bin *shader) +static inline struct anv_shader_internal * +anv_shader_internal_ref(struct anv_shader_internal *shader) { vk_pipeline_cache_object_ref(&shader->base); @@ -5170,7 +5170,7 @@ anv_shader_bin_ref(struct anv_shader_bin *shader) } static inline void -anv_shader_bin_unref(struct anv_device *device, struct anv_shader_bin *shader) +anv_shader_internal_unref(struct anv_device *device, struct anv_shader_internal *shader) { vk_pipeline_cache_object_unref(&device->vk, &shader->base); } @@ -6697,7 +6697,7 @@ VkResult anv_device_init_internal_kernels(struct anv_device *device); void anv_device_finish_internal_kernels(struct anv_device *device); VkResult anv_device_get_internal_shader(struct anv_device *device, enum anv_internal_kernel_name name, - struct anv_shader_bin **out_bin); + struct anv_shader_internal **out_bin); VkResult anv_device_init_astc_emu(struct anv_device *device); void anv_device_finish_astc_emu(struct anv_device *device); diff --git a/src/intel/vulkan/anv_util.c b/src/intel/vulkan/anv_util.c index 7b85aff1951..b55942193e3 100644 --- a/src/intel/vulkan/anv_util.c +++ b/src/intel/vulkan/anv_util.c @@ -405,7 +405,7 @@ anv_device_init_rt_shaders(struct anv_device *device) /* The cache already has a reference and it's not going anywhere so there * is no need to hold a second reference. */ - anv_shader_bin_unref(device, device->rt_trampoline); + anv_shader_internal_unref(device, device->rt_trampoline); struct brw_rt_trivial_return { char name[16]; @@ -463,7 +463,7 @@ anv_device_init_rt_shaders(struct anv_device *device) /* The cache already has a reference and it's not going anywhere so there * is no need to hold a second reference. */ - anv_shader_bin_unref(device, device->rt_trivial_return); + anv_shader_internal_unref(device, device->rt_trivial_return); struct brw_rt_null_ahs { char name[16]; @@ -521,7 +521,7 @@ anv_device_init_rt_shaders(struct anv_device *device) /* The cache already has a reference and it's not going anywhere so there * is no need to hold a second reference. */ - anv_shader_bin_unref(device, device->rt_null_ahs); + anv_shader_internal_unref(device, device->rt_null_ahs); return VK_SUCCESS; } diff --git a/src/intel/vulkan/anv_utrace.c b/src/intel/vulkan/anv_utrace.c index 5d6d6900034..d7a43a6bbbf 100644 --- a/src/intel/vulkan/anv_utrace.c +++ b/src/intel/vulkan/anv_utrace.c @@ -225,7 +225,7 @@ anv_device_utrace_flush_cmd_buffers(struct anv_queue *queue, anv_genX(device->info, emit_so_memcpy_end)(&submit->memcpy_state); } else { - struct anv_shader_bin *copy_kernel; + struct anv_shader_internal *copy_kernel; VkResult ret = anv_device_get_internal_shader(device, ANV_INTERNAL_KERNEL_MEMCPY_COMPUTE, diff --git a/src/intel/vulkan/genX_cmd_compute.c b/src/intel/vulkan/genX_cmd_compute.c index db6fb35586f..192396d8ecf 100644 --- a/src/intel/vulkan/genX_cmd_compute.c +++ b/src/intel/vulkan/genX_cmd_compute.c @@ -926,10 +926,10 @@ cmd_buffer_emit_rt_dispatch_globals(struct anv_cmd_buffer *cmd_buffer, .offset = rt->scratch.layout.ray_stack_start, }, #if GFX_VERx10 == 300 - .CallStackHandler = anv_shader_bin_get_handler( + .CallStackHandler = anv_shader_internal_get_handler( cmd_buffer->device->rt_trivial_return, 0), #else - .CallStackHandler = anv_shader_bin_get_bsr( + .CallStackHandler = anv_shader_internal_get_bsr( cmd_buffer->device->rt_trivial_return, 0), #endif .AsyncRTStackSize = rt->scratch.layout.ray_stack_stride / 64, @@ -994,10 +994,10 @@ cmd_buffer_emit_rt_dispatch_globals_indirect(struct anv_cmd_buffer *cmd_buffer, .offset = rt->scratch.layout.ray_stack_start, }, #if GFX_VERx10 == 300 - .CallStackHandler = anv_shader_bin_get_handler( + .CallStackHandler = anv_shader_internal_get_handler( cmd_buffer->device->rt_trivial_return, 0), #else - .CallStackHandler = anv_shader_bin_get_bsr( + .CallStackHandler = anv_shader_internal_get_bsr( cmd_buffer->device->rt_trivial_return, 0), #endif .AsyncRTStackSize = rt->scratch.layout.ray_stack_stride / 64, diff --git a/src/intel/vulkan/genX_cmd_draw_generated_indirect.h b/src/intel/vulkan/genX_cmd_draw_generated_indirect.h index 90584136ec6..de0b75e0cb1 100644 --- a/src/intel/vulkan/genX_cmd_draw_generated_indirect.h +++ b/src/intel/vulkan/genX_cmd_draw_generated_indirect.h @@ -173,7 +173,7 @@ genX(cmd_buffer_emit_indirect_generated_draws_init)(struct anv_cmd_buffer *cmd_b trace_intel_end_generate_draws(&cmd_buffer->trace); - struct anv_shader_bin *gen_kernel; + struct anv_shader_internal *gen_kernel; VkResult ret = anv_device_get_internal_shader( cmd_buffer->device, @@ -509,7 +509,7 @@ genX(cmd_buffer_emit_indirect_generated_draws_inring)(struct anv_cmd_buffer *cmd */ struct anv_address gen_addr = anv_batch_current_address(&cmd_buffer->batch); - struct anv_shader_bin *gen_kernel; + struct anv_shader_internal *gen_kernel; VkResult ret = anv_device_get_internal_shader( cmd_buffer->device, diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c index fb1e20eceb0..529c007f198 100644 --- a/src/intel/vulkan/genX_query.c +++ b/src/intel/vulkan/genX_query.c @@ -1911,7 +1911,7 @@ copy_query_results_with_shader(struct anv_cmd_buffer *cmd_buffer, genX(cmd_buffer_apply_pipe_flushes)(cmd_buffer); } - struct anv_shader_bin *copy_kernel; + struct anv_shader_internal *copy_kernel; VkResult ret = anv_device_get_internal_shader( cmd_buffer->device, diff --git a/src/intel/vulkan/genX_shader.c b/src/intel/vulkan/genX_shader.c index 9a6d66c8f66..4b9b427646a 100644 --- a/src/intel/vulkan/genX_shader.c +++ b/src/intel/vulkan/genX_shader.c @@ -1397,7 +1397,7 @@ genX(write_rt_shader_group)(struct anv_device *device, } } if (!anyhit_seen) - sh.AnyHit = anv_shader_bin_get_bsr(device->rt_null_ahs, 24); + sh.AnyHit = anv_shader_internal_get_bsr(device->rt_null_ahs, 24); GENX(RT_TRIANGLES_SBT_HANDLE_pack)(NULL, output, &sh); break; } diff --git a/src/intel/vulkan/genX_simple_shader.c b/src/intel/vulkan/genX_simple_shader.c index 889ffcedd52..b530e548018 100644 --- a/src/intel/vulkan/genX_simple_shader.c +++ b/src/intel/vulkan/genX_simple_shader.c @@ -402,7 +402,7 @@ genX(emit_simpler_shader_init_compute)(struct anv_simple_shader *state) state->cmd_buffer->state.current_pipeline == GPGPU); #if GFX_VERx10 >= 125 - struct anv_shader_bin *cs_bin = state->kernel; + struct anv_shader_internal *cs_bin = state->kernel; const struct brw_cs_prog_data *prog_data = (const struct brw_cs_prog_data *) cs_bin->prog_data; /* Currently our simple shaders are simple enough that they never spill. */