diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_screen.c b/src/gallium/drivers/freedreno/a3xx/fd3_screen.c index 64b806dc8fd..4efa5a30017 100644 --- a/src/gallium/drivers/freedreno/a3xx/fd3_screen.c +++ b/src/gallium/drivers/freedreno/a3xx/fd3_screen.c @@ -105,7 +105,6 @@ fd3_screen_init(struct pipe_screen *pscreen) { struct fd_screen *screen = fd_screen(pscreen); screen->max_rts = A3XX_MAX_RENDER_TARGETS; - screen->compiler = ir3_compiler_create(screen->dev, screen->gpu_id); pscreen->context_create = fd3_context_create; pscreen->is_format_supported = fd3_screen_is_format_supported; fd3_emit_init_screen(pscreen); diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_screen.c b/src/gallium/drivers/freedreno/a4xx/fd4_screen.c index ee6403f9c5d..a72143a5ce0 100644 --- a/src/gallium/drivers/freedreno/a4xx/fd4_screen.c +++ b/src/gallium/drivers/freedreno/a4xx/fd4_screen.c @@ -109,7 +109,6 @@ fd4_screen_init(struct pipe_screen *pscreen) { struct fd_screen *screen = fd_screen(pscreen); screen->max_rts = A4XX_MAX_RENDER_TARGETS; - screen->compiler = ir3_compiler_create(screen->dev, screen->gpu_id); screen->setup_slices = fd4_setup_slices; pscreen->context_create = fd4_context_create; pscreen->is_format_supported = fd4_screen_is_format_supported; diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_screen.c b/src/gallium/drivers/freedreno/a5xx/fd5_screen.c index 799765a956a..d999f83773b 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_screen.c +++ b/src/gallium/drivers/freedreno/a5xx/fd5_screen.c @@ -126,7 +126,6 @@ fd5_screen_init(struct pipe_screen *pscreen) { struct fd_screen *screen = fd_screen(pscreen); screen->max_rts = A5XX_MAX_RENDER_TARGETS; - screen->compiler = ir3_compiler_create(screen->dev, screen->gpu_id); pscreen->context_create = fd5_context_create; pscreen->is_format_supported = fd5_screen_is_format_supported; diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_screen.c b/src/gallium/drivers/freedreno/a6xx/fd6_screen.c index 9db4ce15e96..d267c1f9844 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_screen.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_screen.c @@ -132,7 +132,6 @@ fd6_screen_init(struct pipe_screen *pscreen) { struct fd_screen *screen = fd_screen(pscreen); screen->max_rts = A6XX_MAX_RENDER_TARGETS; - screen->compiler = ir3_compiler_create(screen->dev, screen->gpu_id); pscreen->context_create = fd6_context_create; pscreen->is_format_supported = fd6_screen_is_format_supported; diff --git a/src/gallium/drivers/freedreno/ir3/ir3_gallium.c b/src/gallium/drivers/freedreno/ir3/ir3_gallium.c index 266aaf894e6..684c1a69c4f 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_gallium.c +++ b/src/gallium/drivers/freedreno/ir3/ir3_gallium.c @@ -393,5 +393,9 @@ ir3_prog_init(struct pipe_context *pctx) void ir3_screen_init(struct pipe_screen *pscreen) { + struct fd_screen *screen = fd_screen(pscreen); + + screen->compiler = ir3_compiler_create(screen->dev, screen->gpu_id); + pscreen->finalize_nir = ir3_screen_finalize_nir; }