mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 17:48:10 +02:00
anv/entrypoints: Expose the different dispatch tables
Reviewed-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
This commit is contained in:
parent
083e126694
commit
2f493121ae
1 changed files with 12 additions and 8 deletions
|
|
@ -67,6 +67,10 @@ struct anv_dispatch_table {
|
|||
};
|
||||
};
|
||||
|
||||
%for layer in LAYERS:
|
||||
extern const struct anv_dispatch_table ${layer}_dispatch_table;
|
||||
%endfor
|
||||
|
||||
% for e in entrypoints:
|
||||
% if e.guard is not None:
|
||||
#ifdef ${e.guard}
|
||||
|
|
@ -146,7 +150,7 @@ static const struct anv_entrypoint entrypoints[] = {
|
|||
% endif
|
||||
% endfor
|
||||
|
||||
const struct anv_dispatch_table ${layer}_layer = {
|
||||
const struct anv_dispatch_table ${layer}_dispatch_table = {
|
||||
% for e in entrypoints:
|
||||
% if e.guard is not None:
|
||||
#ifdef ${e.guard}
|
||||
|
|
@ -163,25 +167,25 @@ static void * __attribute__ ((noinline))
|
|||
anv_resolve_entrypoint(const struct gen_device_info *devinfo, uint32_t index)
|
||||
{
|
||||
if (devinfo == NULL) {
|
||||
return anv_layer.entrypoints[index];
|
||||
return anv_dispatch_table.entrypoints[index];
|
||||
}
|
||||
|
||||
const struct anv_dispatch_table *genX_table;
|
||||
switch (devinfo->gen) {
|
||||
case 10:
|
||||
genX_table = &gen10_layer;
|
||||
genX_table = &gen10_dispatch_table;
|
||||
break;
|
||||
case 9:
|
||||
genX_table = &gen9_layer;
|
||||
genX_table = &gen9_dispatch_table;
|
||||
break;
|
||||
case 8:
|
||||
genX_table = &gen8_layer;
|
||||
genX_table = &gen8_dispatch_table;
|
||||
break;
|
||||
case 7:
|
||||
if (devinfo->is_haswell)
|
||||
genX_table = &gen75_layer;
|
||||
genX_table = &gen75_dispatch_table;
|
||||
else
|
||||
genX_table = &gen7_layer;
|
||||
genX_table = &gen7_dispatch_table;
|
||||
break;
|
||||
default:
|
||||
unreachable("unsupported gen\\n");
|
||||
|
|
@ -190,7 +194,7 @@ anv_resolve_entrypoint(const struct gen_device_info *devinfo, uint32_t index)
|
|||
if (genX_table->entrypoints[index])
|
||||
return genX_table->entrypoints[index];
|
||||
else
|
||||
return anv_layer.entrypoints[index];
|
||||
return anv_dispatch_table.entrypoints[index];
|
||||
}
|
||||
|
||||
/* Hash table stats:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue