summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/v3d/v3d_program.c
diff options
context:
space:
mode:
authorTimur Kristóf <timur.kristof@gmail.com>2019-03-05 18:59:47 +0100
committerEric Anholt <eric@anholt.net>2019-03-05 19:13:27 +0000
commit9a834447d652ea50864bb6c32f4ff99ac10d39bf (patch)
treeb60582e7bb504b2e2bad847f6494b418db9e83ea /src/gallium/drivers/v3d/v3d_program.c
parente582e761b7f49d1c0b100289b62442e6295cefef (diff)
tgsi_to_nir: Produce optimized NIR for a given pipe_screen.
With this patch, tgsi_to_nir will output NIR that is tailored to the given pipe, by reading its capabilities and adjusting the NIR code to those capabilities similarly to how glsl_to_nir works. It also adds an optimization loop that brings the output NIR in line with what glsl_to_nir outputs. This is necessary for the same reason why glsl_to_nir has its own optimization loop: currently not every driver does these optimizations yet. For uses which cannot pass a pipe_screen we also keep a variant called tgsi_to_nir_noscreen which keeps the old behavior. Signed-Off-By: Timur Kristóf <timur.kristof@gmail.com> Tested-by: Andre Heider <a.heider@gmail.com> Tested-by: Rob Clark <robdclark@gmail.com> Acked-By: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_program.c')
-rw-r--r--src/gallium/drivers/v3d/v3d_program.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/v3d/v3d_program.c b/src/gallium/drivers/v3d/v3d_program.c
index 0224df08d0b..fa4fa0b0b29 100644
--- a/src/gallium/drivers/v3d/v3d_program.c
+++ b/src/gallium/drivers/v3d/v3d_program.c
@@ -275,7 +275,7 @@ v3d_shader_state_create(struct pipe_context *pctx,
tgsi_dump(cso->tokens, 0);
fprintf(stderr, "\n");
}
- s = tgsi_to_nir(cso->tokens, &v3d_nir_options);
+ s = tgsi_to_nir(cso->tokens, pctx->screen);
}
nir_variable_mode lower_mode = nir_var_all & ~nir_var_uniform;