Lines Matching defs:binary
1343 /* Increase ESGS ring size so the LLVM binary contains the correct LDS size. */
1915 const struct radv_shader_binary *binary, struct ac_rtld_binary *rtld_binary)
1917 const char *elf_data = (const char *)((struct radv_shader_binary_rtld *)binary)->data;
1918 size_t elf_size = ((struct radv_shader_binary_rtld *)binary)->elf_size;
1923 (binary->stage == MESA_SHADER_GEOMETRY || binary->info.is_ngg) &&
1924 !binary->is_gs_copy_shader) {
1927 sym->size = binary->info.ngg_info.esgs_ring_size;
1931 if (binary->info.is_ngg && binary->stage == MESA_SHADER_GEOMETRY) {
1934 sym->size = binary->info.ngg_info.ngg_emit_size * 4;
1945 .shader_type = binary->stage,
1946 .wave_size = binary->info.wave_size,
1959 radv_shader_binary_upload(struct radv_device *device, const struct radv_shader_binary *binary,
1962 if (binary->type == RADV_BINARY_TYPE_RTLD) {
1968 if (!radv_open_rtld_binary(device, shader, binary, &rtld_binary)) {
1974 .binary = &rtld_binary,
1989 struct radv_shader_binary_legacy *bin = (struct radv_shader_binary_legacy *)binary;
2004 radv_shader_create(struct radv_device *device, const struct radv_shader_binary *binary,
2014 if (binary->type == RADV_BINARY_TYPE_RTLD) {
2021 if (!radv_open_rtld_binary(device, shader, binary, &rtld_binary)) {
2036 if (!config.lds_size && binary->stage == MESA_SHADER_TESS_CTRL) {
2038 config.lds_size = binary->info.tcs.num_lds_blocks;
2041 assert(!binary->info.has_ngg_culling || config.lds_size);
2048 assert(binary->type == RADV_BINARY_TYPE_LEGACY);
2049 config = ((struct radv_shader_binary_legacy *)binary)->base.config;
2051 radv_get_shader_binary_size(((struct radv_shader_binary_legacy *)binary)->code_size);
2052 shader->exec_size = ((struct radv_shader_binary_legacy *)binary)->exec_size;
2055 shader->info = binary->info;
2058 /* Copy the shader binary configuration from the cache. */
2059 memcpy(&shader->config, &binary->config, sizeof(shader->config));
2062 radv_postprocess_config(device, &config, &binary->info, binary->stage, args, &shader->config);
2065 if (binary->type == RADV_BINARY_TYPE_RTLD) {
2070 struct radv_shader_binary_rtld *bin = (struct radv_shader_binary_rtld *)binary;
2073 if (!radv_open_rtld_binary(device, shader, binary, &rtld_binary)) {
2097 struct radv_shader_binary_legacy *bin = (struct radv_shader_binary_legacy *)binary;
2152 struct radv_shader_binary **binary = (struct radv_shader_binary **)bin;
2192 *binary = (struct radv_shader_binary*)legacy_binary;
2203 struct radv_shader_binary *binary = NULL;
2231 llvm_compile_shader(options, info, shader_count, shaders, &binary, args);
2240 aco_compile_shader(&ac_opts, &ac_info, shader_count, shaders, args, &radv_aco_build_shader_binary, (void **)&binary);
2243 binary->info = *info;
2245 struct radv_shader *shader = radv_shader_create(device, binary, keep_shader_info, false, args);
2247 free(binary);
2263 /* Copy the shader binary configuration to store it in the cache. */
2264 memcpy(&binary->config, &shader->config, sizeof(binary->config));
2266 *binary_out = binary;
2310 struct radv_shader_binary *binary = NULL;
2331 false, true, false, false, &binary);
2338 struct radv_shader_binary_legacy *bin = (struct radv_shader_binary_legacy *)binary;
2343 free(binary);
2404 struct radv_shader_part_binary **binary = (struct radv_shader_part_binary **)bin;
2421 *binary = part_binary;
2461 struct radv_shader_part_binary *binary = NULL;
2469 (void **)&binary);
2470 struct radv_shader_part *prolog = upload_shader_part(device, binary, info.wave_size);
2474 binary->disasm_size ? strdup((const char *)(binary->data + binary->code_size)) : NULL;
2477 free(binary);
2511 struct radv_shader_part_binary *binary = NULL;
2519 (void **)&binary);
2520 struct radv_shader_part *epilog = upload_shader_part(device, binary, info.wave_size);
2523 binary->disasm_size ? strdup((const char *)(binary->data + binary->code_size)) : NULL;
2526 free(binary);