Mesa (master): r300g: fill out CAPs for indirect addressing

Marek Olšák mareko at kemper.freedesktop.org
Fri Nov 12 02:21:58 UTC 2010


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

Author: Marek Olšák <maraeo at gmail.com>
Date:   Fri Nov 12 03:05:37 2010 +0100

r300g: fill out CAPs for indirect addressing

To match shader model 2.0 (it's impossible to fully implement ARL
with shader model 3.0 relative addressing).

---

 src/gallium/drivers/r300/r300_screen.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/r300/r300_screen.c b/src/gallium/drivers/r300/r300_screen.c
index 1d59e38..37563b5 100644
--- a/src/gallium/drivers/r300/r300_screen.c
+++ b/src/gallium/drivers/r300/r300_screen.c
@@ -207,6 +207,11 @@ static int r300_get_shader_param(struct pipe_screen *pscreen, unsigned shader, e
             return is_r500 ? 1 : 0;
         case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED:
             return 1;
+        case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
+        case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR:
+        case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
+        case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR:
+            return 0;
         }
         break;
     case PIPE_SHADER_VERTEX:
@@ -234,6 +239,12 @@ static int r300_get_shader_param(struct pipe_screen *pscreen, unsigned shader, e
             return is_r500 ? 4 : 0; /* XXX guessed. */
         case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED:
             return 1;
+        case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
+        case PIPE_SHADER_CAP_INDIRECT_OUTPUT_ADDR:
+        case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
+            return 0;
+        case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR:
+            return 1;
         default:
             break;
         }




More information about the mesa-commit mailing list