anv: Move the brw_compiler from anv_compiler to physical_device

This commit is contained in:
Jason Ekstrand 2015-10-19 20:21:45 -07:00
parent 9e3615cc7d
commit 6fb4469588
3 changed files with 15 additions and 1 deletions

View file

@ -460,7 +460,7 @@ anv_compiler_create(struct anv_device *device)
brw_process_intel_debug_variable();
compiler->screen->compiler = brw_compiler_create(compiler, &device->info);
compiler->screen->compiler = device->instance->physicalDevice.compiler;
ctx = &compiler->brw->ctx;
_mesa_init_shader_object_functions(&ctx->Driver);

View file

@ -91,6 +91,12 @@ anv_physical_device_init(struct anv_physical_device *device,
close(fd);
device->compiler = brw_compiler_create(NULL, device->info);
if (device->compiler == NULL) {
result = vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
goto fail;
}
return VK_SUCCESS;
fail:
@ -98,6 +104,12 @@ fail:
return result;
}
static void
anv_physical_device_finish(struct anv_physical_device *device)
{
ralloc_free(device->compiler);
}
static void *default_alloc(
void* pUserData,
size_t size,
@ -193,6 +205,7 @@ void anv_DestroyInstance(
{
ANV_FROM_HANDLE(anv_instance, instance, _instance);
anv_physical_device_finish(&instance->physicalDevice);
anv_finish_wsi(instance);
VG(VALGRIND_DESTROY_MEMPOOL(instance));

View file

@ -427,6 +427,7 @@ struct anv_physical_device {
const char * name;
const struct brw_device_info * info;
uint64_t aperture_size;
struct brw_compiler * compiler;
};
struct anv_instance {