[Mesa-dev] [PATCH 2/4] r600g: add some members to radeon_llvm_context

Vincent Lejeune vljn at ovi.com
Sun Sep 23 15:43:15 PDT 2012


---
 src/gallium/drivers/r600/r600_shader.c   | 5 +++++
 src/gallium/drivers/radeon/radeon_llvm.h | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/src/gallium/drivers/r600/r600_shader.c b/src/gallium/drivers/r600/r600_shader.c
index c363ca5..14c1763 100644
--- a/src/gallium/drivers/r600/r600_shader.c
+++ b/src/gallium/drivers/r600/r600_shader.c
@@ -1322,6 +1322,11 @@ static int r600_shader_from_tgsi(struct r600_context * rctx, struct r600_pipe_sh
 		unsigned dump = 0;
 		memset(&radeon_llvm_ctx, 0, sizeof(radeon_llvm_ctx));
 		radeon_llvm_ctx.reserved_reg_count = ctx.file_offset[TGSI_FILE_INPUT];
+		radeon_llvm_ctx.type = ctx.type;
+		radeon_llvm_ctx.two_side = shader->two_side;
+		radeon_llvm_ctx.face_input = ctx.face_gpr;
+		radeon_llvm_ctx.tgsi_inputs.r600_inputs = ctx.shader->input;
+		radeon_llvm_ctx.chip_class = ctx.bc->chip_class;
 		mod = r600_tgsi_llvm(&radeon_llvm_ctx, tokens);
 		if (debug_get_bool_option("R600_DUMP_SHADERS", FALSE)) {
 			dump = 1;
diff --git a/src/gallium/drivers/radeon/radeon_llvm.h b/src/gallium/drivers/radeon/radeon_llvm.h
index 7a32bb0..814d707 100644
--- a/src/gallium/drivers/radeon/radeon_llvm.h
+++ b/src/gallium/drivers/radeon/radeon_llvm.h
@@ -54,6 +54,14 @@ struct radeon_llvm_context {
 
 	struct lp_build_tgsi_soa_context soa;
 
+	unsigned chip_class;
+	unsigned type;
+	unsigned face_input;
+	unsigned two_side;
+	union {
+		struct r600_shader_io * r600_inputs;
+	} tgsi_inputs;
+
 	/*=== Front end configuration ===*/
 
 	/* Special Intrinsics */
-- 
1.7.11.4



More information about the mesa-dev mailing list