Esempio n. 1
0
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);
}
Esempio n. 2
0
/* 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);
}
Esempio n. 3
0
/* 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);
}
Esempio n. 4
0
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);
}
Esempio n. 6
0
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);
}
Esempio n. 7
0
void evg_opencl_platform_free(struct evg_opencl_platform_t *platform)
{
	evg_opencl_repo_remove_object(evg_emu->opencl_repo, platform);
	free(platform);
}
Esempio n. 8
0
/* 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);
}
Esempio n. 9
0
/* 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);
}
Esempio n. 10
0
/* 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);
}
Esempio n. 11
0
void evg_opencl_mem_free(struct evg_opencl_mem_t *mem)
{
	evg_opencl_repo_remove_object(evg_emu->opencl_repo, mem);
	free(mem);
}