summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2019-11-01 23:55:58 -0400
committerMarek Olšák <marek.olsak@amd.com>2019-11-05 23:28:45 -0500
commit442ef8c3e35e8e3e907ed2505344bcd745913b99 (patch)
treeaa5a90d69065882528e0084ca313e3479a4feb52 /src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c
parentabb8011f9d584bc4198d7475d279a6136a9b0403 (diff)
radeonsi: keep serialized NIR instead of nir_shader in si_shader_selector
This decreases memory usage, because serialized NIR is more compact. The main shader part is compiled from nir_shader. Monolithic shader variants are compiled from nir_binary. Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c b/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c
index 91e9bd3dd68..cb965cc8eb3 100644
--- a/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c
+++ b/src/gallium/drivers/radeonsi/si_shader_tgsi_setup.c
@@ -1029,7 +1029,8 @@ void si_llvm_context_init(struct si_shader_context *ctx,
/* Set the context to a certain TGSI shader. Can be called repeatedly
* to change the shader. */
void si_llvm_context_set_ir(struct si_shader_context *ctx,
- struct si_shader *shader)
+ struct si_shader *shader,
+ struct nir_shader *nir)
{
struct si_shader_selector *sel = shader->selector;
const struct tgsi_shader_info *info = &sel->info;
@@ -1058,7 +1059,7 @@ void si_llvm_context_set_ir(struct si_shader_context *ctx,
ctx->num_samplers = util_last_bit(info->samplers_declared);
ctx->num_images = util_last_bit(info->images_declared);
- if (sel->nir)
+ if (nir)
return;
if (info->array_max[TGSI_FILE_TEMPORARY] > 0) {