Emil Velikov <emil.l.veli...@gmail.com> writes:

> On 3 February 2017 at 19:13, Eric Anholt <e...@anholt.net> wrote:
>> My vc4 simulator has been implemented so far by having an entrypoint
>> claiming to be i965, which was a bit gross.  The simulator would be a lot
>> less special if we entered through the vc4 entrypoint like normal, so add
>> a loader environment variable to allow the i965 fd to probe as vc4.
>> ---
>>  src/loader/loader.c | 11 +++++++++++
>>  1 file changed, 11 insertions(+)
>>
>> diff --git a/src/loader/loader.c b/src/loader/loader.c
>> index 449ff54d1377..4825151ad5e5 100644
>> --- a/src/loader/loader.c
>> +++ b/src/loader/loader.c
>> @@ -345,6 +345,17 @@ loader_get_driver_for_fd(int fd)
>>     int vendor_id, chip_id, i, j;
>>     char *driver = NULL;
>>
>> +   /* Allow an environment variable to force choosing a different driver
>> +    * binary.  If that driver binary can't survive on this FD, that's the
>> +    * user's problem, but this allows vc4 simulator to run on an i965 host,
>> +    * and may be useful for some touch testing of i915 on an i965 host.
>> +    */
>> +   if (geteuid() == getuid()) {
>> +      driver = getenv("MESA_LOADER_DRIVER_OVERRIDE");
> Having the override is quite useful even outside the context of vc4.
>
> With this in place we could drop a few other workarounds like
>
> 64a005e3eef2e12b11b2837dc7253020bb5c0e60
> c3b5afbd4e682f76e16ea85883af571165bd24ee
> and perhaps even
> 91681302d0308a70aece883c3b56a18f9a44041f
>
> We can do that another day, so the series is
> Reviewed-by: Emil Velikov <emil.veli...@collabora.com>

Thanks!  I just remembered that I missed this junk in 3/3:

--- a/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
+++ b/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c
@@ -93,17 +93,6 @@ static const struct drm_driver_descriptor 
driver_descriptors[] = {
         .create_screen = pipe_i915_create_screen,
         .configuration = configuration_query,
     },
-#ifdef USE_VC4_SIMULATOR
-    /* VC4 simulator and ILO (i965) are mutually exclusive (error at
-     * configure). As the latter is unconditionally added, keep this one above
-     * it.
-     */
-    {
-        .driver_name = "i965",
-        .create_screen = pipe_vc4_create_screen,
-        .configuration = configuration_query,
-    },
-#endif
     {
         .driver_name = "nouveau",
         .create_screen = pipe_nouveau_create_screen,

so it gets even better.  I'll give others a chance to get feedback in,
but I'm glad to hear it might be useful for other drivers.

Attachment: signature.asc
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to