lima: remove shader get param

Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33176>
This commit is contained in:
Qiang Yu
2025-01-21 19:01:23 +08:00
parent 0f9f7152f7
commit 5de8258303
-100
View File
@@ -94,105 +94,6 @@ lima_screen_get_device_vendor(struct pipe_screen *pscreen)
return "ARM";
}
static int
get_vertex_shader_param(struct lima_screen *screen,
enum pipe_shader_cap param)
{
switch (param) {
case PIPE_SHADER_CAP_MAX_INSTRUCTIONS:
case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS:
case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS:
case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS:
return 16384; /* need investigate */
case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH:
return 1024;
case PIPE_SHADER_CAP_MAX_INPUTS:
return 16; /* attributes */
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_BUFFER0_SIZE:
return 304 * 4 * sizeof(float);
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
return 1;
case PIPE_SHADER_CAP_MAX_TEMPS:
return 256; /* need investigate */
default:
return 0;
}
}
static int
get_fragment_shader_param(struct lima_screen *screen,
enum pipe_shader_cap param)
{
switch (param) {
case PIPE_SHADER_CAP_MAX_INSTRUCTIONS:
case PIPE_SHADER_CAP_MAX_ALU_INSTRUCTIONS:
case PIPE_SHADER_CAP_MAX_TEX_INSTRUCTIONS:
case PIPE_SHADER_CAP_MAX_TEX_INDIRECTIONS:
return 16384; /* need investigate */
case PIPE_SHADER_CAP_MAX_INPUTS:
return LIMA_MAX_VARYING_NUM - 1; /* varying, minus gl_Position */
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_BUFFER0_SIZE:
return 2048 * 4 * sizeof(float);
case PIPE_SHADER_CAP_MAX_CONST_BUFFERS:
return 1;
case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS:
case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS:
return 16; /* need investigate */
case PIPE_SHADER_CAP_MAX_TEMPS:
return 256; /* need investigate */
case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR:
return 1;
case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR:
return 0;
default:
return 0;
}
}
static int
lima_screen_get_shader_param(struct pipe_screen *pscreen,
enum pipe_shader_type shader,
enum pipe_shader_cap param)
{
struct lima_screen *screen = lima_screen(pscreen);
switch (shader) {
case PIPE_SHADER_FRAGMENT:
return get_fragment_shader_param(screen, param);
case PIPE_SHADER_VERTEX:
return get_vertex_shader_param(screen, param);
default:
return 0;
}
}
static void
lima_init_shader_caps(struct pipe_screen *screen)
{
@@ -746,7 +647,6 @@ lima_screen_create(int fd, const struct pipe_screen_config *config,
screen->base.get_name = lima_screen_get_name;
screen->base.get_vendor = lima_screen_get_vendor;
screen->base.get_device_vendor = lima_screen_get_device_vendor;
screen->base.get_shader_param = lima_screen_get_shader_param;
screen->base.context_create = lima_context_create;
screen->base.is_format_supported = lima_screen_is_format_supported;
screen->base.get_compiler_options = lima_screen_get_compiler_options;