clover: add support for drivers having no proper binary format
authorKarol Herbst <kherbst@redhat.com>
Fri, 10 May 2019 07:24:42 +0000 (09:24 +0200)
committerKarol Herbst <karolherbst@gmail.com>
Sat, 21 Sep 2019 08:28:32 +0000 (08:28 +0000)
Most drivers have actually no binary format and just store the IR directly
as a single entry point blob.

v2: add a cap to switch between single or multi entry point binaries
v3: remove the entry_point field
v4: remove PIPE_CAP_MULTI_ENTRY_POINT_BINARIES
v5: remove supports_multiple_entry_points

Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Pierre Moreau <pierre.morrow@free.fr>
src/gallium/state_trackers/clover/core/kernel.cpp

index 7fe66ae..3cffec3 100644 (file)
@@ -161,8 +161,9 @@ kernel::exec_context::bind(intrusive_ptr<command_queue> _q,
 
    // Bind kernel arguments.
    auto &m = kern.program().build(q->device()).binary;
-   auto margs = find(name_equals(kern.name()), m.syms).args;
-   auto msec = find(type_equals(module::section::text_executable), m.secs);
+   auto msym = find(name_equals(kern.name()), m.syms);
+   auto margs = msym.args;
+   auto msec = find(id_equals(msym.section), m.secs);
    auto explicit_arg = kern._args.begin();
 
    for (auto &marg : margs) {