summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2018-01-16 17:00:05 -0800
committerJason Ekstrand <[email protected]>2018-01-23 00:15:40 -0800
commit2f493121aea99c9949302a62b4bec962417161b1 (patch)
tree16fc225524c8611309d702a51f0ae9c3f2289726
parent083e1266942b7bbcc038dfa20735d198db118493 (diff)
anv/entrypoints: Expose the different dispatch tables
Reviewed-by: Samuel Iglesias Gonsálvez <[email protected]>
-rw-r--r--src/intel/vulkan/anv_entrypoints_gen.py20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/intel/vulkan/anv_entrypoints_gen.py b/src/intel/vulkan/anv_entrypoints_gen.py
index 9dbf828131e..8999df90694 100644
--- a/src/intel/vulkan/anv_entrypoints_gen.py
+++ b/src/intel/vulkan/anv_entrypoints_gen.py
@@ -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: