Mesa (master): r300g: Add high_second_pipe cap for R3xx chipsets.

Corbin Simpson csimpson at kemper.freedesktop.org
Wed Aug 19 04:28:59 UTC 2009


Module: Mesa
Branch: master
Commit: 4092f318db440532f78a39c0444b987039c8f7f7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4092f318db440532f78a39c0444b987039c8f7f7

Author: Corbin Simpson <MostAwesomeDude at gmail.com>
Date:   Tue Aug 18 17:49:58 2009 -0700

r300g: Add high_second_pipe cap for R3xx chipsets.

This name is totally subject to change if ever I need to separate R3xx
for some other reason.

---

 src/gallium/drivers/r300/r300_chipset.c |   10 +++++++++-
 src/gallium/drivers/r300/r300_chipset.h |    2 ++
 2 files changed, 11 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_chipset.c b/src/gallium/drivers/r300/r300_chipset.c
index 864bded..d138866 100644
--- a/src/gallium/drivers/r300/r300_chipset.c
+++ b/src/gallium/drivers/r300/r300_chipset.c
@@ -30,9 +30,10 @@
 void r300_parse_chipset(struct r300_capabilities* caps)
 {
     /* Reasonable defaults */
+    caps->num_vert_fpus = 4;
     caps->has_tcl = getenv("RADEON_NO_TCL") ? FALSE : TRUE;
     caps->is_r500 = FALSE;
-    caps->num_vert_fpus = 4;
+    caps->high_second_pipe = FALSE;
 
 
     /* Note: These are not ordered by PCI ID. I leave that task to GCC,
@@ -41,6 +42,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
     switch (caps->pci_id) {
         case 0x4144:
             caps->family = CHIP_FAMILY_R300;
+            caps->high_second_pipe = TRUE;
             break;
 
         case 0x4145:
@@ -51,6 +53,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
         case 0x4E46:
         case 0x4E47:
             caps->family = CHIP_FAMILY_R300;
+            caps->high_second_pipe = TRUE;
             break;
 
         case 0x4150:
@@ -67,6 +70,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
         case 0x4E54:
         case 0x4E56:
             caps->family = CHIP_FAMILY_RV350;
+            caps->high_second_pipe = TRUE;
             break;
 
         case 0x4148:
@@ -77,10 +81,12 @@ void r300_parse_chipset(struct r300_capabilities* caps)
         case 0x4E49:
         case 0x4E4B:
             caps->family = CHIP_FAMILY_R350;
+            caps->high_second_pipe = TRUE;
             break;
 
         case 0x4E4A:
             caps->family = CHIP_FAMILY_R360;
+            caps->high_second_pipe = TRUE;
             break;
 
         case 0x5460:
@@ -92,6 +98,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
         case 0x5B64:
         case 0x5B65:
             caps->family = CHIP_FAMILY_RV370;
+            caps->high_second_pipe = TRUE;
             break;
 
         case 0x3150:
@@ -100,6 +107,7 @@ void r300_parse_chipset(struct r300_capabilities* caps)
         case 0x3E50:
         case 0x3E54:
             caps->family = CHIP_FAMILY_RV380;
+            caps->high_second_pipe = TRUE;
             break;
 
         case 0x4A48:
diff --git a/src/gallium/drivers/r300/r300_chipset.h b/src/gallium/drivers/r300/r300_chipset.h
index 21eebea..322d4a5 100644
--- a/src/gallium/drivers/r300/r300_chipset.h
+++ b/src/gallium/drivers/r300/r300_chipset.h
@@ -44,6 +44,8 @@ struct r300_capabilities {
      * - Blend color is split across two registers
      * - Universal Shader (US) block used for fragment shaders */
     boolean is_r500;
+    /* Whether or not the second pixel pipe is accessed with the high bit */
+    boolean high_second_pipe;
 };
 
 /* Enumerations for legibility and telling which card we're running on. */




More information about the mesa-commit mailing list