void evg_opencl_platform_free(struct evg_opencl_platform_t *platform) { EvgEmu *emu; emu = platform->emu; evg_opencl_repo_remove_object(emu->opencl_repo, platform); free(platform); }
/* Free sampler */ void evg_opencl_sampler_free(struct evg_opencl_sampler_t *sampler) { OpenclOldDriver *driver = sampler->driver; evg_opencl_repo_remove_object(driver->opencl_repo, sampler); free(sampler); }
/* Free device */ void evg_opencl_device_free(struct evg_opencl_device_t *device) { EvgEmu *emu; emu = device->emu; evg_opencl_repo_remove_object(emu->opencl_repo, device); free(device); }
void evg_opencl_program_free(struct evg_opencl_program_t *program) { /* Free lists */ list_free(program->constant_buffer_list); if (program->elf_file) elf_file_free(program->elf_file); evg_opencl_repo_remove_object(evg_emu->opencl_repo, program); free(program); }
/* Free command queue */ void evg_opencl_command_queue_free(struct evg_opencl_command_queue_t *command_queue) { /* Check that command list is empty */ if (linked_list_count(command_queue->command_list)) fatal("%s: freed command queue is not empty", __FUNCTION__); /* Free */ evg_opencl_repo_remove_object(evg_emu->opencl_repo, command_queue); linked_list_free(command_queue->command_list); free(command_queue); }
void evg_opencl_kernel_free(struct evg_opencl_kernel_t *kernel) { int i; /* Free arguments */ for (i = 0; i < list_count(kernel->arg_list); i++) evg_opencl_kernel_arg_free( (struct evg_opencl_kernel_arg_t *)list_get(kernel->arg_list, i)); list_free(kernel->arg_list); /* Free lists */ list_free(kernel->uav_read_list); list_free(kernel->uav_write_list); list_free(kernel->constant_buffer_list); /* AMD Binary (internal ELF) */ if (kernel->bin_file) evg_bin_file_free(kernel->bin_file); /* Free kernel */ evg_opencl_repo_remove_object(evg_emu->opencl_repo, kernel); free(kernel); }
void evg_opencl_platform_free(struct evg_opencl_platform_t *platform) { evg_opencl_repo_remove_object(evg_emu->opencl_repo, platform); free(platform); }
/* Free sampler */ void evg_opencl_sampler_free(struct evg_opencl_sampler_t *sampler) { evg_opencl_repo_remove_object(evg_emu->opencl_repo, sampler); free(sampler); }
/* Free context */ void evg_opencl_context_free(struct evg_opencl_context_t *context) { evg_opencl_repo_remove_object(evg_emu->opencl_repo, context); free(context); }
/* Free device */ void evg_opencl_device_free(struct evg_opencl_device_t *device) { evg_opencl_repo_remove_object(evg_emu->opencl_repo, device); free(device); }
void evg_opencl_mem_free(struct evg_opencl_mem_t *mem) { evg_opencl_repo_remove_object(evg_emu->opencl_repo, mem); free(mem); }