summaryrefslogtreecommitdiff
path: root/src/amd/common
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2017-01-18 15:11:52 +1000
committerDave Airlie <airlied@redhat.com>2017-01-31 09:28:50 +1000
commit583cf8efd4e09565ef2b93d1fa4dc5528aa430e6 (patch)
tree87d7398f91ba2482c27450406e086401ecf88790 /src/amd/common
parentecb8a34910618d12ca686d63ba5c170214fee655 (diff)
radv/ac: add some geom shader info from nir->ac shader.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/amd/common')
-rw-r--r--src/amd/common/ac_nir_to_llvm.c6
-rw-r--r--src/amd/common/ac_nir_to_llvm.h6
2 files changed, 12 insertions, 0 deletions
diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index f0ac3d364a..ca5d8ca32e 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -4664,6 +4664,12 @@ void ac_compile_nir_shader(LLVMTargetMachineRef tm,
case MESA_SHADER_FRAGMENT:
shader_info->fs.early_fragment_test = nir->info->fs.early_fragment_tests;
break;
+ case MESA_SHADER_GEOMETRY:
+ shader_info->gs.vertices_in = nir->info->gs.vertices_in;
+ shader_info->gs.vertices_out = nir->info->gs.vertices_out;
+ shader_info->gs.output_prim = nir->info->gs.output_primitive;
+ shader_info->gs.invocations = nir->info->gs.invocations;
+ break;
default:
break;
}
diff --git a/src/amd/common/ac_nir_to_llvm.h b/src/amd/common/ac_nir_to_llvm.h
index 9d66f940b5..e71189ad3f 100644
--- a/src/amd/common/ac_nir_to_llvm.h
+++ b/src/amd/common/ac_nir_to_llvm.h
@@ -118,6 +118,12 @@ struct ac_shader_variant_info {
struct {
unsigned block_size[3];
} cs;
+ struct {
+ unsigned vertices_in;
+ unsigned vertices_out;
+ unsigned output_prim;
+ unsigned invocations;
+ } gs;
};
};