summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2019-07-31 21:33:37 -0400
committerMarek Olšák <[email protected]>2019-08-12 14:52:17 -0400
commitf0ccc5457aa7302960f1c43e2e8243edab61991d (patch)
treefdf0446b11fe36a86e24d469c1a1a18d9910ea30 /src
parent155789c8e7cfa31084807a6f005413660dccf30a (diff)
compiler: add shader_info.cs.user_data_components_amd
Diffstat (limited to 'src')
-rw-r--r--src/compiler/shader_info.h1
-rw-r--r--src/gallium/auxiliary/nir/tgsi_to_nir.c3
-rw-r--r--src/gallium/drivers/radeonsi/si_shader_nir.c1
3 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h
index 15150aa9b2e..bd5d2fa0b6c 100644
--- a/src/compiler/shader_info.h
+++ b/src/compiler/shader_info.h
@@ -261,6 +261,7 @@ typedef struct shader_info {
unsigned local_size[3];
bool local_size_variable;
+ char user_data_components_amd;
/**
* Size of shared variables accessed by the compute shader.
diff --git a/src/gallium/auxiliary/nir/tgsi_to_nir.c b/src/gallium/auxiliary/nir/tgsi_to_nir.c
index 1195d522239..a23ed4d685f 100644
--- a/src/gallium/auxiliary/nir/tgsi_to_nir.c
+++ b/src/gallium/auxiliary/nir/tgsi_to_nir.c
@@ -2455,6 +2455,9 @@ ttn_compile_init(const void *tgsi_tokens,
case TGSI_PROPERTY_CS_FIXED_BLOCK_DEPTH:
s->info.cs.local_size[2] = value;
break;
+ case TGSI_PROPERTY_CS_USER_DATA_COMPONENTS_AMD:
+ s->info.cs.user_data_components_amd = value;
+ break;
default:
if (value) {
fprintf(stderr, "tgsi_to_nir: unhandled TGSI property %u = %u\n",
diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 0f3a11268f7..524af0e0a19 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -491,6 +491,7 @@ void si_nir_scan_shader(const struct nir_shader *nir,
info->properties[TGSI_PROPERTY_CS_FIXED_BLOCK_WIDTH] = nir->info.cs.local_size[0];
info->properties[TGSI_PROPERTY_CS_FIXED_BLOCK_HEIGHT] = nir->info.cs.local_size[1];
info->properties[TGSI_PROPERTY_CS_FIXED_BLOCK_DEPTH] = nir->info.cs.local_size[2];
+ info->properties[TGSI_PROPERTY_CS_USER_DATA_COMPONENTS_AMD] = nir->info.cs.user_data_components_amd;
}
i = 0;