|
|
@@ -69,15 +69,14 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) |
|
|
|
{ |
|
|
|
switch (param) { |
|
|
|
case PIPE_CAP_MAX_COMBINED_SAMPLERS: |
|
|
|
return 64; |
|
|
|
return 16 * PIPE_SHADER_TYPES; /* NOTE: should not count COMPUTE */ |
|
|
|
case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: |
|
|
|
return 13; |
|
|
|
case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: |
|
|
|
return 10; |
|
|
|
case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: |
|
|
|
return 13; |
|
|
|
return 15; |
|
|
|
case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: |
|
|
|
return 12; |
|
|
|
case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: |
|
|
|
return 8192; |
|
|
|
return 2048; |
|
|
|
case PIPE_CAP_MIN_TEXEL_OFFSET: |
|
|
|
return -8; |
|
|
|
case PIPE_CAP_MAX_TEXEL_OFFSET: |
|
|
@@ -167,7 +166,9 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, |
|
|
|
case PIPE_SHADER_CAP_MAX_INPUTS: |
|
|
|
if (shader == PIPE_SHADER_VERTEX) |
|
|
|
return 32; |
|
|
|
return 0x300 / 16; |
|
|
|
if (shader == PIPE_SHADER_FRAGMENT) |
|
|
|
return (0x200 + 0x20 + 0x80) / 16; /* generic + colors + TexCoords */ |
|
|
|
return (0x200 + 0x40 + 0x80) / 16; /* without 0x60 for per-patch inputs */ |
|
|
|
case PIPE_SHADER_CAP_MAX_CONSTS: |
|
|
|
return 65536 / 16; |
|
|
|
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: |
|
|
@@ -191,7 +192,11 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader, |
|
|
|
case PIPE_SHADER_CAP_INTEGERS: |
|
|
|
return 1; |
|
|
|
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS: |
|
|
|
return 16; /* would be 32 in linked (OpenGL-style) mode */ |
|
|
|
/* |
|
|
|
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLER_VIEWS: |
|
|
|
return 32; |
|
|
|
*/ |
|
|
|
case PIPE_SHADER_CAP_OUTPUT_READ: |
|
|
|
return 0; /* shader != PIPE_SHADER_TESSELLATION_CONTROL; */ |
|
|
|
default: |
|
|
@@ -208,12 +213,13 @@ nvc0_screen_get_paramf(struct pipe_screen *pscreen, enum pipe_capf param) |
|
|
|
case PIPE_CAPF_MAX_LINE_WIDTH_AA: |
|
|
|
return 10.0f; |
|
|
|
case PIPE_CAPF_MAX_POINT_WIDTH: |
|
|
|
return 63.0f; |
|
|
|
case PIPE_CAPF_MAX_POINT_WIDTH_AA: |
|
|
|
return 64.0f; |
|
|
|
return 63.375f; |
|
|
|
case PIPE_CAPF_MAX_TEXTURE_ANISOTROPY: |
|
|
|
return 16.0f; |
|
|
|
case PIPE_CAPF_MAX_TEXTURE_LOD_BIAS: |
|
|
|
return 4.0f; |
|
|
|
return 15.0f; |
|
|
|
default: |
|
|
|
NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); |
|
|
|
return 0.0f; |