iris: Change vendor and renderer strings
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 16 Apr 2019 07:27:33 +0000 (00:27 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 16 Apr 2019 17:27:20 +0000 (10:27 -0700)
This patch changes the GL_VENDOR string from "Mesa Project" to "Intel".
This makes GLX_MESA_query_renderer report "Vendor: Intel (0x8086)"
instead of "Vendor: Mesa Project (0x8086)" which is arguably wrong.
We now also use a consistent vendor string across Windows and Linux.

It also prepends "Mesa" to the GL_RENDERER string, both to credit the
community and have a distinguishing mark between the two drivers.  We
drop "DRI" compared to i965, as it's not really that important.

Improves performance in Portal by 1.8x.  Iris is now 3.86% faster
than i965 at the portal-d1.dem timedemo on my Kabylake laptop.  One
change is that Portal selects the MapBufferRange path based on the
vendor string, and iris's BufferSubData path is still missing the
storage invalidation optimization.

src/gallium/drivers/iris/iris_screen.c

index 023224367730b882894313fd13cb90e100b1b6fb..6dff3a47b65daa80df13f82a63e549ab9a7ce4d2 100644 (file)
@@ -63,7 +63,7 @@ iris_flush_frontbuffer(struct pipe_screen *_screen,
 static const char *
 iris_get_vendor(struct pipe_screen *pscreen)
 {
-   return "Mesa Project";
+   return "Intel";
 }
 
 static const char *
@@ -76,6 +76,7 @@ static const char *
 iris_get_name(struct pipe_screen *pscreen)
 {
    struct iris_screen *screen = (struct iris_screen *)pscreen;
+   static char buf[128];
    const char *chipset;
 
    switch (screen->pci_id) {
@@ -86,6 +87,8 @@ iris_get_name(struct pipe_screen *pscreen)
       chipset = "Unknown Intel Chipset";
       break;
    }
+
+   snprintf(buf, sizeof(buf), "Mesa %s", chipset);
    return chipset;
 }