From 98529b9b65ff967cce900f696db62d722af106a5 Mon Sep 17 00:00:00 2001 From: Qiang Yu Date: Wed, 22 Jan 2025 09:34:21 +0800 Subject: [PATCH] nouveau/nv50: remove shader and compute get param MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Acked-by: Alyssa Rosenzweig Acked-by: Marek Olšák Part-of: --- .../drivers/nouveau/nv50/nv50_screen.c | 127 ------------------ 1 file changed, 127 deletions(-) diff --git a/src/gallium/drivers/nouveau/nv50/nv50_screen.c b/src/gallium/drivers/nouveau/nv50/nv50_screen.c index 9dbcb11cb0f..cb8b7ecc9a6 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_screen.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_screen.c @@ -101,131 +101,6 @@ nv50_screen_is_format_supported(struct pipe_screen *pscreen, nv50_vertex_format[format].usage) & bindings) == bindings; } -static int -nv50_screen_get_shader_param(struct pipe_screen *pscreen, - enum pipe_shader_type shader, - enum pipe_shader_cap param) -{ - switch (shader) { - case PIPE_SHADER_VERTEX: - case PIPE_SHADER_GEOMETRY: - case PIPE_SHADER_FRAGMENT: - case PIPE_SHADER_COMPUTE: - break; - default: - return 0; - } - - 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; - case PIPE_SHADER_CAP_MAX_CONTROL_FLOW_DEPTH: - return 4; - case PIPE_SHADER_CAP_MAX_INPUTS: - if (shader == PIPE_SHADER_VERTEX) - return 32; - return 15; - case PIPE_SHADER_CAP_MAX_OUTPUTS: - return 16; - case PIPE_SHADER_CAP_MAX_CONST_BUFFER0_SIZE: - return 65536; - case PIPE_SHADER_CAP_MAX_CONST_BUFFERS: - return NV50_MAX_PIPE_CONSTBUFS; - case PIPE_SHADER_CAP_INDIRECT_TEMP_ADDR: - case PIPE_SHADER_CAP_INDIRECT_CONST_ADDR: - return 1; - case PIPE_SHADER_CAP_MAX_TEMPS: - return nv50_screen(pscreen)->max_tls_space / ONE_TEMP_SIZE; - case PIPE_SHADER_CAP_CONT_SUPPORTED: - return 1; - case PIPE_SHADER_CAP_TGSI_SQRT_SUPPORTED: - return 1; - case PIPE_SHADER_CAP_INT64_ATOMICS: - case PIPE_SHADER_CAP_FP16: - case PIPE_SHADER_CAP_FP16_DERIVATIVES: - case PIPE_SHADER_CAP_FP16_CONST_BUFFERS: - case PIPE_SHADER_CAP_INT16: - case PIPE_SHADER_CAP_GLSL_16BIT_CONSTS: - case PIPE_SHADER_CAP_SUBROUTINES: - return 0; /* please inline, or provide function declarations */ - case PIPE_SHADER_CAP_INTEGERS: - return 1; - case PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS: - /* The chip could handle more sampler views than samplers */ - case PIPE_SHADER_CAP_MAX_SAMPLER_VIEWS: - return MIN2(16, PIPE_MAX_SAMPLERS); - case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS: - return shader == PIPE_SHADER_COMPUTE ? NV50_MAX_GLOBALS - 1 : 0; - case PIPE_SHADER_CAP_MAX_SHADER_IMAGES: - return shader == PIPE_SHADER_COMPUTE ? NV50_MAX_GLOBALS - 1 : 0; - case PIPE_SHADER_CAP_SUPPORTED_IRS: - return 1 << PIPE_SHADER_IR_NIR; - case PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE: - case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS: - case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS: - return 0; - default: - NOUVEAU_ERR("unknown PIPE_SHADER_CAP %d\n", param); - return 0; - } -} - -static int -nv50_screen_get_compute_param(struct pipe_screen *pscreen, - enum pipe_compute_cap param, void *data) -{ - struct nv50_screen *screen = nv50_screen(pscreen); - struct nouveau_device *dev = screen->base.device; - -#define RET(x) do { \ - if (data) \ - memcpy(data, x, sizeof(x)); \ - return sizeof(x); \ -} while (0) - - switch (param) { - case PIPE_COMPUTE_CAP_GRID_DIMENSION: - RET((uint64_t []) { 3 }); - case PIPE_COMPUTE_CAP_MAX_GRID_SIZE: - RET(((uint64_t []) { 65535, 65535, 65535 })); - case PIPE_COMPUTE_CAP_MAX_BLOCK_SIZE: - RET(((uint64_t []) { 512, 512, 64 })); - case PIPE_COMPUTE_CAP_MAX_THREADS_PER_BLOCK: - RET((uint64_t []) { 512 }); - case PIPE_COMPUTE_CAP_MAX_GLOBAL_SIZE: /* g0-15[] */ - RET((uint64_t []) { nouveau_device_get_global_mem_size(dev) }); - case PIPE_COMPUTE_CAP_MAX_LOCAL_SIZE: /* s[] */ - RET((uint64_t []) { 16 << 10 }); - case PIPE_COMPUTE_CAP_MAX_PRIVATE_SIZE: /* l[] */ - RET((uint64_t []) { 16 << 10 }); - case PIPE_COMPUTE_CAP_MAX_INPUT_SIZE: /* c[], arbitrary limit */ - RET((uint64_t []) { 4096 }); - case PIPE_COMPUTE_CAP_SUBGROUP_SIZES: - RET((uint32_t []) { 32 }); - case PIPE_COMPUTE_CAP_MAX_SUBGROUPS: - RET((uint32_t []) { 0 }); - case PIPE_COMPUTE_CAP_MAX_MEM_ALLOC_SIZE: - RET((uint64_t []) { nouveau_device_get_global_mem_size(dev) }); - case PIPE_COMPUTE_CAP_IMAGES_SUPPORTED: - RET((uint32_t []) { 0 }); - case PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS: - RET((uint32_t []) { screen->mp_count }); - case PIPE_COMPUTE_CAP_MAX_CLOCK_FREQUENCY: - RET((uint32_t []) { 512 }); /* FIXME: arbitrary limit */ - case PIPE_COMPUTE_CAP_ADDRESS_BITS: - RET((uint32_t []) { 32 }); - case PIPE_COMPUTE_CAP_MAX_VARIABLE_THREADS_PER_BLOCK: - RET((uint64_t []) { 0 }); - default: - return 0; - } - -#undef RET -} - static void nv50_init_shader_caps(struct nv50_screen *screen) { @@ -873,8 +748,6 @@ nv50_screen_create(struct nouveau_device *dev) pscreen->context_create = nv50_create; pscreen->is_format_supported = nv50_screen_is_format_supported; - pscreen->get_shader_param = nv50_screen_get_shader_param; - pscreen->get_compute_param = nv50_screen_get_compute_param; pscreen->get_driver_query_info = nv50_screen_get_driver_query_info; pscreen->get_driver_query_group_info = nv50_screen_get_driver_query_group_info;