summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolai Hähnle <nicolai.haehnle@amd.com>2017-06-09 15:16:14 +0200
committerNicolai Hähnle <nicolai.haehnle@amd.com>2017-07-31 14:55:38 +0200
commit677bd47cb96679cd6a75b0a11019797272fcba03 (patch)
treea5926a1d1d0c3f589a98ad8a1d623bbd6ff9b212
parent7c27ef182ca8203c0a75e3c450f80ef98383b25b (diff)
radeonsi/nir: set si_shader_context::num_{sampler,images}
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_nir.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 22c7e23845..0eb8f9704e 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -375,6 +375,8 @@ si_nir_load_sampler_desc(struct ac_shader_abi *abi,
bool si_nir_build_llvm(struct si_shader_context *ctx, struct nir_shader *nir)
{
+ struct tgsi_shader_info *info = &ctx->shader->selector->info;
+
unsigned fs_attr_idx = 0;
nir_foreach_variable(variable, &nir->inputs) {
unsigned attrib_count = glsl_count_attribute_slots(variable->type,
@@ -399,6 +401,9 @@ bool si_nir_build_llvm(struct si_shader_context *ctx, struct nir_shader *nir)
ctx->abi.inputs = &ctx->inputs[0];
ctx->abi.load_sampler_desc = si_nir_load_sampler_desc;
+ ctx->num_samplers = util_last_bit(info->samplers_declared);
+ ctx->num_images = util_last_bit(info->images_declared);
+
ac_nir_translate(&ctx->ac, &ctx->abi, nir, NULL);
return true;