Mesa (gallium-0.2): r300: work-around FRAG_BIT_FOGC warning/error

Alan Hourihane alanh at kemper.freedesktop.org
Fri Jan 16 16:45:06 UTC 2009


Module: Mesa
Branch: gallium-0.2
Commit: 0dffd223491765fe572d606c2b10855cb568db7a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0dffd223491765fe572d606c2b10855cb568db7a

Author: Brian Paul <brianp at vmware.com>
Date:   Wed Jan 14 16:48:54 2009 -0700

r300: work-around FRAG_BIT_FOGC warning/error

See bug 17929.

Fog doesn't actually work, but the often complained about warning is
silenced.

---

 src/mesa/drivers/dri/r300/r300_state.c          |    7 +++++++
 src/mesa/drivers/dri/r300/radeon_program_pair.c |    5 +++++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c
index 6a5c363..a63dbac 100644
--- a/src/mesa/drivers/dri/r300/r300_state.c
+++ b/src/mesa/drivers/dri/r300/r300_state.c
@@ -1675,6 +1675,13 @@ static void r300SetupRSUnit(GLcontext * ctx)
 		rs_col_count += count;
 	}
 
+	if (InputsRead & FRAG_BIT_FOGC) {
+		/* XXX FIX THIS
+		 * Just turn off the bit for now.
+		 * Need to do something similar to the color/texcoord inputs.
+		 */
+		InputsRead &= ~FRAG_BIT_FOGC;
+	}
 
 	for (i = 0; i < ctx->Const.MaxTextureUnits; i++) {
 		int swiz;
diff --git a/src/mesa/drivers/dri/r300/radeon_program_pair.c b/src/mesa/drivers/dri/r300/radeon_program_pair.c
index 5ad50d2..58bc0d5 100644
--- a/src/mesa/drivers/dri/r300/radeon_program_pair.c
+++ b/src/mesa/drivers/dri/r300/radeon_program_pair.c
@@ -473,6 +473,11 @@ static void allocate_input_registers(struct pair_state *s)
 		alloc_hw_reg(s, PROGRAM_INPUT, FRAG_ATTRIB_COL1, hwindex++);
 	InputsRead &= ~FRAG_BIT_COL1;
 
+	/* Fog coordinate */
+	if (InputsRead & FRAG_BIT_FOGC)
+		alloc_hw_reg(s, PROGRAM_INPUT, FRAG_ATTRIB_FOGC, hwindex++);
+	InputsRead &= ~FRAG_BIT_FOGC;
+
 	/* Anything else */
 	if (InputsRead)
 		error("Don't know how to handle inputs 0x%x\n", InputsRead);




More information about the mesa-commit mailing list