[Mesa-dev] [PATCH 05/29] radv/ac: add some geom shader info from nir->ac shader.

Dave Airlie airlied at gmail.com
Mon Jan 30 06:02:39 UTC 2017


From: Dave Airlie <airlied at redhat.com>

Signed-off-by: Dave Airlie <airlied at redhat.com>
---
 src/amd/common/ac_nir_to_llvm.c | 6 ++++++
 src/amd/common/ac_nir_to_llvm.h | 6 ++++++
 2 files changed, 12 insertions(+)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index dedea65..fadbb55 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -4655,6 +4655,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 9d66f94..e71189a 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;
 	};
 };
 
-- 
2.9.3



More information about the mesa-dev mailing list