diff options
author | Patrice Mandin <[email protected]> | 2010-05-21 19:09:08 +0200 |
---|---|---|
committer | Patrice Mandin <[email protected]> | 2010-05-21 19:10:31 +0200 |
commit | 8504c5d931e47765a15fdaec2df2cb6502a1bd5c (patch) | |
tree | fff82d691a30ef33387ece5072ac2b9102f6235e /src/gallium/drivers/nvfx/nvfx_screen.c | |
parent | d2fa95a4c08ba32237cff1d5b5d28b35f7d3d753 (diff) |
nouveau/nvfx: Fill more PIPE_CAP_MAX_ values
Signed-off-by: Patrice Mandin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nvfx/nvfx_screen.c')
-rw-r--r-- | src/gallium/drivers/nvfx/nvfx_screen.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_screen.c b/src/gallium/drivers/nvfx/nvfx_screen.c index a44f9e94d70..6cb8428e4b6 100644 --- a/src/gallium/drivers/nvfx/nvfx_screen.c +++ b/src/gallium/drivers/nvfx/nvfx_screen.c @@ -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; |