summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2010-08-13 03:27:45 +0200
committerMarek Olšák <[email protected]>2010-08-13 03:28:35 +0200
commit4985ce1755c5d6f4fa6281150ae0bf7df594146f (patch)
treedc1d4a20549203aeea530bc732c6d8e3c3b4a100
parent16e782b83f298fcf82bbb277690ac0c713e90e21 (diff)
r600g: update shader caps
Sent on ML by Владимир. These values are what fglrx returns.
-rw-r--r--src/gallium/drivers/r600/r600_screen.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/gallium/drivers/r600/r600_screen.c b/src/gallium/drivers/r600/r600_screen.c
index 6ec842d5912..cdaca9ed7db 100644
--- a/src/gallium/drivers/r600/r600_screen.c
+++ b/src/gallium/drivers/r600/r600_screen.c
@@ -107,29 +107,37 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
/* Shader limits. */
case PIPE_CAP_MAX_VS_INSTRUCTIONS:
+ return 16384; //max native instructions, not greater than max instructions
case PIPE_CAP_MAX_VS_ALU_INSTRUCTIONS:
case PIPE_CAP_MAX_VS_TEX_INSTRUCTIONS:
case PIPE_CAP_MAX_VS_TEX_INDIRECTIONS:
+ return 16384;
case PIPE_CAP_MAX_FS_INSTRUCTIONS:
+ return 16384; //max program native instructions
case PIPE_CAP_MAX_FS_ALU_INSTRUCTIONS:
+ return 16384; //max program native ALU instructions
case PIPE_CAP_MAX_FS_TEX_INSTRUCTIONS:
+ return 16384; //max program native texture instructions
case PIPE_CAP_MAX_FS_TEX_INDIRECTIONS:
- return 8192;
+ return 2048; //max program native texture indirections
case PIPE_CAP_MAX_VS_CONTROL_FLOW_DEPTH:
case PIPE_CAP_MAX_FS_CONTROL_FLOW_DEPTH:
return 8; /* FIXME */
case PIPE_CAP_MAX_VS_INPUTS:
+ return 16; //max native attributes
case PIPE_CAP_MAX_FS_INPUTS:
- return 32;
+ return 10; //max native attributes
case PIPE_CAP_MAX_VS_TEMPS:
+ return 256; //max native temporaries
case PIPE_CAP_MAX_FS_TEMPS:
- return 128;
+ return 256; //max native temporaries
case PIPE_CAP_MAX_VS_ADDRS:
case PIPE_CAP_MAX_FS_ADDRS:
- return 1; /* FIXME Isn't this equal to TEMPS? */
+ return 1; //max native address registers/* FIXME Isn't this equal to TEMPS? */
case PIPE_CAP_MAX_VS_CONSTS:
+ return 256; //max native parameters
case PIPE_CAP_MAX_FS_CONSTS:
- return 256; /* FIXME I believe this should be much higher. */
+ return 256; //max program native parameters
case PIPE_CAP_MAX_CONST_BUFFERS:
return 1;
case PIPE_CAP_MAX_CONST_BUFFER_SIZE: /* in bytes */