mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 20:28:04 +02:00
ilo: add kernel queries for compute shaders
We need to know the local/input/private sizes and others. This is not complete. We need many others for CURBE setup. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This commit is contained in:
parent
99742998fc
commit
1d51947693
3 changed files with 37 additions and 0 deletions
|
|
@ -1036,6 +1036,12 @@ ilo_shader_get_kernel_param(const struct ilo_shader_state *shader,
|
|||
case ILO_KERNEL_SURFACE_CONST_COUNT:
|
||||
val = kernel->bt.const_count;
|
||||
break;
|
||||
case ILO_KERNEL_SURFACE_RES_BASE:
|
||||
val = kernel->bt.res_base;
|
||||
break;
|
||||
case ILO_KERNEL_SURFACE_RES_COUNT:
|
||||
val = kernel->bt.res_count;
|
||||
break;
|
||||
|
||||
case ILO_KERNEL_VS_INPUT_INSTANCEID:
|
||||
val = shader->info.has_instanceid;
|
||||
|
|
@ -1111,6 +1117,25 @@ ilo_shader_get_kernel_param(const struct ilo_shader_state *shader,
|
|||
val = kernel->bt.rt_count;
|
||||
break;
|
||||
|
||||
case ILO_KERNEL_CS_LOCAL_SIZE:
|
||||
val = shader->info.compute.req_local_mem;
|
||||
break;
|
||||
case ILO_KERNEL_CS_PRIVATE_SIZE:
|
||||
val = shader->info.compute.req_private_mem;
|
||||
break;
|
||||
case ILO_KERNEL_CS_INPUT_SIZE:
|
||||
val = shader->info.compute.req_input_mem;
|
||||
break;
|
||||
case ILO_KERNEL_CS_SIMD_SIZE:
|
||||
val = 16;
|
||||
break;
|
||||
case ILO_KERNEL_CS_SURFACE_GLOBAL_BASE:
|
||||
val = kernel->bt.global_base;
|
||||
break;
|
||||
case ILO_KERNEL_CS_SURFACE_GLOBAL_COUNT:
|
||||
val = kernel->bt.global_count;
|
||||
break;
|
||||
|
||||
default:
|
||||
assert(!"unknown kernel parameter");
|
||||
val = 0;
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ enum ilo_kernel_param {
|
|||
ILO_KERNEL_SURFACE_TEX_COUNT,
|
||||
ILO_KERNEL_SURFACE_CONST_BASE,
|
||||
ILO_KERNEL_SURFACE_CONST_COUNT,
|
||||
ILO_KERNEL_SURFACE_RES_BASE,
|
||||
ILO_KERNEL_SURFACE_RES_COUNT,
|
||||
|
||||
ILO_KERNEL_VS_INPUT_INSTANCEID,
|
||||
ILO_KERNEL_VS_INPUT_VERTEXID,
|
||||
|
|
@ -69,6 +71,13 @@ enum ilo_kernel_param {
|
|||
ILO_KERNEL_FS_SURFACE_RT_BASE,
|
||||
ILO_KERNEL_FS_SURFACE_RT_COUNT,
|
||||
|
||||
ILO_KERNEL_CS_LOCAL_SIZE,
|
||||
ILO_KERNEL_CS_PRIVATE_SIZE,
|
||||
ILO_KERNEL_CS_INPUT_SIZE,
|
||||
ILO_KERNEL_CS_SIMD_SIZE,
|
||||
ILO_KERNEL_CS_SURFACE_GLOBAL_BASE,
|
||||
ILO_KERNEL_CS_SURFACE_GLOBAL_COUNT,
|
||||
|
||||
ILO_KERNEL_PARAM_COUNT,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -138,9 +138,12 @@ struct ilo_shader {
|
|||
int rt_base, rt_count;
|
||||
int tex_base, tex_count;
|
||||
int const_base, const_count;
|
||||
int res_base, res_count;
|
||||
|
||||
int gen6_so_base, gen6_so_count;
|
||||
|
||||
int global_base, global_count;
|
||||
|
||||
int total_count;
|
||||
} bt;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue