nouveau/nvfx: Fill more PIPE_CAP_MAX_ values
authorPatrice Mandin <patmandin@gmail.com>
Fri, 21 May 2010 17:09:08 +0000 (19:09 +0200)
committerPatrice Mandin <patmandin@gmail.com>
Fri, 21 May 2010 17:10:31 +0000 (19:10 +0200)
Signed-off-by: Patrice Mandin <patmandin@gmail.com>
src/gallium/drivers/nvfx/nvfx_screen.c

index a44f9e94d7089ba78bb85a17116d92ed3928317d..6cb8428e4b618856be802dadd4a21c39e9d76763 100644 (file)
@@ -93,17 +93,18 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
                return 4096;
        case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH:
                /* FIXME: is it the dynamic (nv30:0/nv40:24) or the static
-                  value (written there) ? */
+                  value (nv30:0/nv40:4) ? */
                return screen->is_nv4x ? 4 : 0;
-       /*case PIPE_CAP_MAX_FS_INPUTS:*/        /* FIXME */
-       /*case PIPE_CAP_MAX_FS_CONSTS:*/        /* FIXME */
-       /*      return 0;*/
+       case PIPE_CAP_MAX_FS_INPUTS:
+               return 10;
+       case PIPE_CAP_MAX_FS_CONSTS:
+               return screen->is_nv4x ? 224 : 32;
        case PIPE_CAP_MAX_FS_TEMPS:
                return 32;
        case PIPE_CAP_MAX_FS_ADDRS:
                return screen->is_nv4x ? 1 : 0;
-       /*case PIPE_CAP_MAX_FS_PREDS:*/         /* FIXME */
-       /*      return 0;*/
+       case PIPE_CAP_MAX_FS_PREDS:
+               return screen->is_nv4x ? 1 : 0;
        case PIPE_CAP_MAX_VS_INSTRUCTIONS:
        case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS:
                return screen->is_nv4x ? 512 : 256;
@@ -111,19 +112,19 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
        case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS:
                return screen->is_nv4x ? 512 : 0;
        case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH:
-               /* FIXME: is it the dynamic (nv30/nv40:24) or the static
-                  value (written there) ? */
+               /* FIXME: is it the dynamic (nv30:24/nv40:24) or the static
+                  value (nv30:1/nv40:4) ? */
                return screen->is_nv4x ? 4 : 1;
-       /*case PIPE_CAP_MAX_VS_INPUTS:*/        /* FIXME */
-       /*      return 0;*/
+       case PIPE_CAP_MAX_VS_INPUTS:
+               return 16;
        case PIPE_CAP_MAX_VS_CONSTS:
                return 256;
        case PIPE_CAP_MAX_VS_TEMPS:
-               return screen->is_nv4x ? 48 : 16;
+               return screen->is_nv4x ? 32 : 13;
        case PIPE_CAP_MAX_VS_ADDRS:
                return 2;
-       /*case PIPE_CAP_MAX_VS_PREDS:*/ /* FIXME */
-       /*      return 0;*/
+       case PIPE_CAP_MAX_VS_PREDS:
+               return screen->is_nv4x ? 1 : 0;
        default:
                NOUVEAU_ERR("Unknown PIPE_CAP %d\n", param);
                return 0;