case PIPE_SHADER_CAP_MAX_OUTPUTS:
return LIMA_MAX_VARYING_NUM; /* varying */
+ /* Mali-400 GP provides space for 304 vec4 uniforms, globals and
+ * temporary variables. */
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
- return 16 * 1024 * sizeof(float);
+ return 304 * 4 * sizeof(float);
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
return 1;
case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH:
return 1024;
+ /* The Mali-PP supports a uniform table up to size 32768 total.
+ * However, indirect access to an uniform only supports indices up
+ * to 8192 (a 2048 vec4 array). To prevent indices bigger than that,
+ * limit max const buffer size to 8192 for now. */
case PIPE_SHADER_CAP_MAX_CONST_BUFFER_SIZE:
- return 16 * 1024 * sizeof(float);
+ return 2048 * 4 * sizeof(float);
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
return 1;