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

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


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

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

svga: fill out CAPs for indirect addressing

As per the ps_3_0 and vs_3_0 documentation.
The aL register in D3D9 is quite tricky to use, though.

---

 src/gallium/drivers/svga/svga_screen.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/gallium/drivers/svga/svga_screen.c b/src/gallium/drivers/svga/svga_screen.c
index b5fae94..af99c41 100644
--- a/src/gallium/drivers/svga/svga_screen.c
+++ b/src/gallium/drivers/svga/svga_screen.c
@@ -231,6 +231,12 @@ static int svga_get_shader_param(struct pipe_screen *screen, unsigned shader, en
          return svgascreen->use_ps30 ? 1 : 0;
       case PIPE_SHADER_CAP_TGSI_CONT_SUPPORTED:
          return 1;
+      case PIPE_SHADER_CAP_INDIRECT_INPUT_ADDR:
+         return svgascreen->use_ps30 ? 1 : 0;
+      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:
@@ -263,6 +269,13 @@ static int svga_get_shader_param(struct pipe_screen *screen, unsigned shader, en
          return svgascreen->use_vs30 ? 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:
+         return svgascreen->use_vs30 ? 1 : 0;
+      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