loader:Update copyright and apply clang-format (no logic changes)
authorJon Ashburn <jon@lunarg.com>
Wed, 3 Feb 2016 00:47:28 +0000 (17:47 -0700)
committerJon Ashburn <jon@lunarg.com>
Wed, 3 Feb 2016 16:00:31 +0000 (09:00 -0700)
18 files changed:
loader/cJSON.c
loader/cJSON.h
loader/debug_report.c
loader/debug_report.h
loader/dev_ext_trampoline.c
loader/dirent_on_windows.c
loader/dirent_on_windows.h
loader/gpa_helper.h
loader/loader.c
loader/loader.h
loader/murmurhash.c
loader/murmurhash.h
loader/table_ops.h
loader/trampoline.c
loader/vk-loader-generate.py
loader/vk_loader_platform.h
loader/wsi.c
loader/wsi.h

index 8ef06c8..0978660 100644 (file)
@@ -1,5 +1,8 @@
 /*
   Copyright (c) 2009 Dave Gamble
+  Copyright (c) 2015-2016 The Khronos Group Inc.
+  Copyright (c) 2015-2016 Valve Corporation
+  Copyright (c) 2015-2016 LunarG, Inc.
 
   Permission is hereby granted, free of charge, to any person obtaining a copy
   of this software and associated documentation files (the "Software"), to deal
 
 static const char *ep;
 
-const char *cJSON_GetErrorPtr(void) {return ep;}
+const char *cJSON_GetErrorPtr(void) { return ep; }
 
 static void *(*cJSON_malloc)(size_t sz) = malloc;
 static void (*cJSON_free)(void *ptr) = free;
 
-static char* cJSON_strdup(const char* str)
-{
-      size_t len;
-      char* copy;
+static char *cJSON_strdup(const char *str) {
+    size_t len;
+    char *copy;
 
-      len = strlen(str) + 1;
-      if (!(copy = (char*)cJSON_malloc(len))) return 0;
-      memcpy(copy,str,len);
-      return copy;
+    len = strlen(str) + 1;
+    if (!(copy = (char *)cJSON_malloc(len)))
+        return 0;
+    memcpy(copy, str, len);
+    return copy;
 }
 
-void cJSON_InitHooks(cJSON_Hooks* hooks)
-{
+void cJSON_InitHooks(cJSON_Hooks *hooks) {
     if (!hooks) { /* Reset hooks */
         cJSON_malloc = malloc;
         cJSON_free = free;
         return;
     }
 
-       cJSON_malloc = (hooks->malloc_fn)?hooks->malloc_fn:malloc;
-       cJSON_free       = (hooks->free_fn)?hooks->free_fn:free;
+    cJSON_malloc = (hooks->malloc_fn) ? hooks->malloc_fn : malloc;
+    cJSON_free = (hooks->free_fn) ? hooks->free_fn : free;
 }
 
 /* Internal constructor. */
-static cJSON *cJSON_New_Item(void)
-{
-       cJSON* node = (cJSON*)cJSON_malloc(sizeof(cJSON));
-       if (node) memset(node,0,sizeof(cJSON));
-       return node;
+static cJSON *cJSON_New_Item(void) {
+    cJSON *node = (cJSON *)cJSON_malloc(sizeof(cJSON));
+    if (node)
+        memset(node, 0, sizeof(cJSON));
+    return node;
 }
 
 /* Delete a cJSON structure. */
-void cJSON_Delete(cJSON *c)
-{
-       cJSON *next;
-       while (c)
-       {
-               next=c->next;
-               if (!(c->type&cJSON_IsReference) && c->child) cJSON_Delete(c->child);
-               if (!(c->type&cJSON_IsReference) && c->valuestring) cJSON_free(c->valuestring);
-               if (!(c->type&cJSON_StringIsConst) && c->string) cJSON_free(c->string);
-               cJSON_free(c);
-               c=next;
-       }
-}
-
-/* Parse the input text to generate a number, and populate the result into item. */
-static const char *parse_number(cJSON *item,const char *num)
-{
-       double n=0,sign=1,scale=0;int subscale=0,signsubscale=1;
-
-       if (*num=='-') sign=-1,num++;   /* Has sign? */
-       if (*num=='0') num++;                   /* is zero */
-       if (*num>='1' && *num<='9')     do      n=(n*10.0)+(*num++ -'0');       while (*num>='0' && *num<='9'); /* Number? */
-       if (*num=='.' && num[1]>='0' && num[1]<='9') {num++;            do      n=(n*10.0)+(*num++ -'0'),scale--; while (*num>='0' && *num<='9');}      /* Fractional part? */
-       if (*num=='e' || *num=='E')             /* Exponent? */
-       {       num++;if (*num=='+') num++;     else if (*num=='-') signsubscale=-1,num++;              /* With sign? */
-               while (*num>='0' && *num<='9') subscale=(subscale*10)+(*num++ - '0');   /* Number? */
-       }
-
-       n=sign*n*pow(10.0,(scale+subscale*signsubscale));       /* number = +/- number.fraction * 10^+/- exponent */
-       
-       item->valuedouble=n;
-       item->valueint=(int)n;
-       item->type=cJSON_Number;
-       return num;
-}
-
-static size_t pow2gt (size_t x)        {       --x;    x|=x>>1;        x|=x>>2;        x|=x>>4;        x|=x>>8;        x|=x>>16;       return x+1;     }
-
-typedef struct {char *buffer; size_t length; size_t offset; } printbuffer;
-
-static char* ensure(printbuffer *p,size_t needed)
-{
-       char *newbuffer;size_t newsize;
-       if (!p || !p->buffer) return 0;
-       needed+=p->offset;
-       if (needed<=p->length) return p->buffer+p->offset;
-
-       newsize=pow2gt(needed);
-       newbuffer=(char*)cJSON_malloc(newsize);
-       if (!newbuffer) {cJSON_free(p->buffer);p->length=0,p->buffer=0;return 0;}
-       if (newbuffer) memcpy(newbuffer,p->buffer,p->length);
-       cJSON_free(p->buffer);
-       p->length=newsize;
-       p->buffer=newbuffer;
-       return newbuffer+p->offset;
-}
-
-static size_t update(printbuffer *p)
-{
-       char *str;
-       if (!p || !p->buffer) return 0;
-       str=p->buffer+p->offset;
-       return p->offset+strlen(str);
+void cJSON_Delete(cJSON *c) {
+    cJSON *next;
+    while (c) {
+        next = c->next;
+        if (!(c->type & cJSON_IsReference) && c->child)
+            cJSON_Delete(c->child);
+        if (!(c->type & cJSON_IsReference) && c->valuestring)
+            cJSON_free(c->valuestring);
+        if (!(c->type & cJSON_StringIsConst) && c->string)
+            cJSON_free(c->string);
+        cJSON_free(c);
+        c = next;
+    }
+}
+
+/* Parse the input text to generate a number, and populate the result into item.
+ */
+static const char *parse_number(cJSON *item, const char *num) {
+    double n = 0, sign = 1, scale = 0;
+    int subscale = 0, signsubscale = 1;
+
+    if (*num == '-')
+        sign = -1, num++; /* Has sign? */
+    if (*num == '0')
+        num++; /* is zero */
+    if (*num >= '1' && *num <= '9')
+        do
+            n = (n * 10.0) + (*num++ - '0');
+        while (*num >= '0' && *num <= '9'); /* Number? */
+    if (*num == '.' && num[1] >= '0' && num[1] <= '9') {
+        num++;
+        do
+            n = (n * 10.0) + (*num++ - '0'), scale--;
+        while (*num >= '0' && *num <= '9');
+    }                               /* Fractional part? */
+    if (*num == 'e' || *num == 'E') /* Exponent? */
+    {
+        num++;
+        if (*num == '+')
+            num++;
+        else if (*num == '-')
+            signsubscale = -1, num++; /* With sign? */
+        while (*num >= '0' && *num <= '9')
+            subscale = (subscale * 10) + (*num++ - '0'); /* Number? */
+    }
+
+    n = sign * n *
+        pow(10.0, (scale + subscale * signsubscale)); /* number = +/-
+                                                         number.fraction *
+                                                         10^+/- exponent */
+
+    item->valuedouble = n;
+    item->valueint = (int)n;
+    item->type = cJSON_Number;
+    return num;
+}
+
+static size_t pow2gt(size_t x) {
+    --x;
+    x |= x >> 1;
+    x |= x >> 2;
+    x |= x >> 4;
+    x |= x >> 8;
+    x |= x >> 16;
+    return x + 1;
+}
+
+typedef struct {
+    char *buffer;
+    size_t length;
+    size_t offset;
+} printbuffer;
+
+static char *ensure(printbuffer *p, size_t needed) {
+    char *newbuffer;
+    size_t newsize;
+    if (!p || !p->buffer)
+        return 0;
+    needed += p->offset;
+    if (needed <= p->length)
+        return p->buffer + p->offset;
+
+    newsize = pow2gt(needed);
+    newbuffer = (char *)cJSON_malloc(newsize);
+    if (!newbuffer) {
+        cJSON_free(p->buffer);
+        p->length = 0, p->buffer = 0;
+        return 0;
+    }
+    if (newbuffer)
+        memcpy(newbuffer, p->buffer, p->length);
+    cJSON_free(p->buffer);
+    p->length = newsize;
+    p->buffer = newbuffer;
+    return newbuffer + p->offset;
+}
+
+static size_t update(printbuffer *p) {
+    char *str;
+    if (!p || !p->buffer)
+        return 0;
+    str = p->buffer + p->offset;
+    return p->offset + strlen(str);
 }
 
 /* Render the number nicely from the given item into a string. */
-static char *print_number(cJSON *item,printbuffer *p)
-{
-       char *str=0;
-       double d=item->valuedouble;
-       if (d==0)
-       {
-               if (p)  str=ensure(p,2);
-               else    str=(char*)cJSON_malloc(2);     /* special case for 0. */
-               if (str) strcpy(str,"0");
-       }
-       else if (fabs(((double)item->valueint)-d)<=DBL_EPSILON && d<=INT_MAX && d>=INT_MIN)
-       {
-               if (p)  str=ensure(p,21);
-               else    str=(char*)cJSON_malloc(21);    /* 2^64+1 can be represented in 21 chars. */
-               if (str)        sprintf(str,"%d",item->valueint);
-       }
-       else
-       {
-               if (p)  str=ensure(p,64);
-               else    str=(char*)cJSON_malloc(64);    /* This is a nice tradeoff. */
-               if (str)
-               {
-                       if (fabs(floor(d)-d)<=DBL_EPSILON && fabs(d)<1.0e60)sprintf(str,"%.0f",d);
-                       else if (fabs(d)<1.0e-6 || fabs(d)>1.0e9)                       sprintf(str,"%e",d);
-                       else                                                                                            sprintf(str,"%f",d);
-               }
-       }
-       return str;
-}
-
-static unsigned parse_hex4(const char *str)
-{
-       unsigned h=0;
-       if (*str>='0' && *str<='9') h+=(*str)-'0'; else if (*str>='A' && *str<='F') h+=10+(*str)-'A'; else if (*str>='a' && *str<='f') h+=10+(*str)-'a'; else return 0;
-       h=h<<4;str++;
-       if (*str>='0' && *str<='9') h+=(*str)-'0'; else if (*str>='A' && *str<='F') h+=10+(*str)-'A'; else if (*str>='a' && *str<='f') h+=10+(*str)-'a'; else return 0;
-       h=h<<4;str++;
-       if (*str>='0' && *str<='9') h+=(*str)-'0'; else if (*str>='A' && *str<='F') h+=10+(*str)-'A'; else if (*str>='a' && *str<='f') h+=10+(*str)-'a'; else return 0;
-       h=h<<4;str++;
-       if (*str>='0' && *str<='9') h+=(*str)-'0'; else if (*str>='A' && *str<='F') h+=10+(*str)-'A'; else if (*str>='a' && *str<='f') h+=10+(*str)-'a'; else return 0;
-       return h;
+static char *print_number(cJSON *item, printbuffer *p) {
+    char *str = 0;
+    double d = item->valuedouble;
+    if (d == 0) {
+        if (p)
+            str = ensure(p, 2);
+        else
+            str = (char *)cJSON_malloc(2); /* special case for 0. */
+        if (str)
+            strcpy(str, "0");
+    } else if (fabs(((double)item->valueint) - d) <= DBL_EPSILON &&
+               d <= INT_MAX && d >= INT_MIN) {
+        if (p)
+            str = ensure(p, 21);
+        else
+            str = (char *)cJSON_malloc(
+                21); /* 2^64+1 can be represented in 21 chars. */
+        if (str)
+            sprintf(str, "%d", item->valueint);
+    } else {
+        if (p)
+            str = ensure(p, 64);
+        else
+            str = (char *)cJSON_malloc(64); /* This is a nice tradeoff. */
+        if (str) {
+            if (fabs(floor(d) - d) <= DBL_EPSILON && fabs(d) < 1.0e60)
+                sprintf(str, "%.0f", d);
+            else if (fabs(d) < 1.0e-6 || fabs(d) > 1.0e9)
+                sprintf(str, "%e", d);
+            else
+                sprintf(str, "%f", d);
+        }
+    }
+    return str;
+}
+
+static unsigned parse_hex4(const char *str) {
+    unsigned h = 0;
+    if (*str >= '0' && *str <= '9')
+        h += (*str) - '0';
+    else if (*str >= 'A' && *str <= 'F')
+        h += 10 + (*str) - 'A';
+    else if (*str >= 'a' && *str <= 'f')
+        h += 10 + (*str) - 'a';
+    else
+        return 0;
+    h = h << 4;
+    str++;
+    if (*str >= '0' && *str <= '9')
+        h += (*str) - '0';
+    else if (*str >= 'A' && *str <= 'F')
+        h += 10 + (*str) - 'A';
+    else if (*str >= 'a' && *str <= 'f')
+        h += 10 + (*str) - 'a';
+    else
+        return 0;
+    h = h << 4;
+    str++;
+    if (*str >= '0' && *str <= '9')
+        h += (*str) - '0';
+    else if (*str >= 'A' && *str <= 'F')
+        h += 10 + (*str) - 'A';
+    else if (*str >= 'a' && *str <= 'f')
+        h += 10 + (*str) - 'a';
+    else
+        return 0;
+    h = h << 4;
+    str++;
+    if (*str >= '0' && *str <= '9')
+        h += (*str) - '0';
+    else if (*str >= 'A' && *str <= 'F')
+        h += 10 + (*str) - 'A';
+    else if (*str >= 'a' && *str <= 'f')
+        h += 10 + (*str) - 'a';
+    else
+        return 0;
+    return h;
 }
 
 /* Parse the input text into an unescaped cstring, and populate item. */
-static const unsigned char firstByteMark[7] = { 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC };
-static const char *parse_string(cJSON *item,const char *str)
-{
-       const char *ptr=str+1;char *ptr2;char *out;int len=0;unsigned uc,uc2;
-       if (*str!='\"') {ep=str;return 0;}      /* not a string! */
-       
-       while (*ptr!='\"' && *ptr && ++len) if (*ptr++ == '\\') ptr++;  /* Skip escaped quotes. */
-       
-       out=(char*)cJSON_malloc(len+1); /* This is how long we need for the string, roughly. */
-       if (!out) return 0;
-       
-       ptr=str+1;ptr2=out;
-       while (*ptr!='\"' && *ptr)
-       {
-               if (*ptr!='\\') *ptr2++=*ptr++;
-               else
-               {
-                       ptr++;
-                       switch (*ptr)
-                       {
-                               case 'b': *ptr2++='\b'; break;
-                               case 'f': *ptr2++='\f'; break;
-                               case 'n': *ptr2++='\n'; break;
-                               case 'r': *ptr2++='\r'; break;
-                               case 't': *ptr2++='\t'; break;
-                               case 'u':        /* transcode utf16 to utf8. */
-                                       uc=parse_hex4(ptr+1);ptr+=4;    /* get the unicode char. */
-
-                                       if ((uc>=0xDC00 && uc<=0xDFFF) || uc==0)        break;  /* check for invalid.   */
-
-                                       if (uc>=0xD800 && uc<=0xDBFF)   /* UTF16 surrogate pairs.       */
-                                       {
-                                               if (ptr[1]!='\\' || ptr[2]!='u')        break;  /* missing second-half of surrogate.    */
-                                               uc2=parse_hex4(ptr+3);ptr+=6;
-                                               if (uc2<0xDC00 || uc2>0xDFFF)           break;  /* invalid second-half of surrogate.    */
-                                               uc=0x10000 + (((uc&0x3FF)<<10) | (uc2&0x3FF));
-                                       }
-
-                                       len=4;if (uc<0x80) len=1;else if (uc<0x800) len=2;else if (uc<0x10000) len=3; ptr2+=len;
-                                       
-                                       switch (len) {
-                                               case 4: *--ptr2 =((uc | 0x80) & 0xBF); uc >>= 6;
-                                               case 3: *--ptr2 =((uc | 0x80) & 0xBF); uc >>= 6;
-                                               case 2: *--ptr2 =((uc | 0x80) & 0xBF); uc >>= 6;
-                                               case 1: *--ptr2 =(uc | firstByteMark[len]);
-                                       }
-                                       ptr2+=len;
-                                       break;
-                               default:  *ptr2++=*ptr; break;
-                       }
-                       ptr++;
-               }
-       }
-       *ptr2=0;
-       if (*ptr=='\"') ptr++;
-       item->valuestring=out;
-       item->type=cJSON_String;
-       return ptr;
+static const unsigned char firstByteMark[7] = {0x00, 0x00, 0xC0, 0xE0,
+                                               0xF0, 0xF8, 0xFC};
+static const char *parse_string(cJSON *item, const char *str) {
+    const char *ptr = str + 1;
+    char *ptr2;
+    char *out;
+    int len = 0;
+    unsigned uc, uc2;
+    if (*str != '\"') {
+        ep = str;
+        return 0;
+    } /* not a string! */
+
+    while (*ptr != '\"' && *ptr && ++len)
+        if (*ptr++ == '\\')
+            ptr++; /* Skip escaped quotes. */
+
+    out = (char *)cJSON_malloc(
+        len + 1); /* This is how long we need for the string, roughly. */
+    if (!out)
+        return 0;
+
+    ptr = str + 1;
+    ptr2 = out;
+    while (*ptr != '\"' && *ptr) {
+        if (*ptr != '\\')
+            *ptr2++ = *ptr++;
+        else {
+            ptr++;
+            switch (*ptr) {
+            case 'b':
+                *ptr2++ = '\b';
+                break;
+            case 'f':
+                *ptr2++ = '\f';
+                break;
+            case 'n':
+                *ptr2++ = '\n';
+                break;
+            case 'r':
+                *ptr2++ = '\r';
+                break;
+            case 't':
+                *ptr2++ = '\t';
+                break;
+            case 'u': /* transcode utf16 to utf8. */
+                uc = parse_hex4(ptr + 1);
+                ptr += 4; /* get the unicode char. */
+
+                if ((uc >= 0xDC00 && uc <= 0xDFFF) || uc == 0)
+                    break; /* check for invalid.       */
+
+                if (uc >= 0xD800 &&
+                    uc <= 0xDBFF) /* UTF16 surrogate pairs.    */
+                {
+                    if (ptr[1] != '\\' || ptr[2] != 'u')
+                        break; /* missing second-half of surrogate.    */
+                    uc2 = parse_hex4(ptr + 3);
+                    ptr += 6;
+                    if (uc2 < 0xDC00 || uc2 > 0xDFFF)
+                        break; /* invalid second-half of surrogate.    */
+                    uc = 0x10000 + (((uc & 0x3FF) << 10) | (uc2 & 0x3FF));
+                }
+
+                len = 4;
+                if (uc < 0x80)
+                    len = 1;
+                else if (uc < 0x800)
+                    len = 2;
+                else if (uc < 0x10000)
+                    len = 3;
+                ptr2 += len;
+
+                switch (len) {
+                case 4:
+                    *--ptr2 = ((uc | 0x80) & 0xBF);
+                    uc >>= 6;
+                case 3:
+                    *--ptr2 = ((uc | 0x80) & 0xBF);
+                    uc >>= 6;
+                case 2:
+                    *--ptr2 = ((uc | 0x80) & 0xBF);
+                    uc >>= 6;
+                case 1:
+                    *--ptr2 = (uc | firstByteMark[len]);
+                }
+                ptr2 += len;
+                break;
+            default:
+                *ptr2++ = *ptr;
+                break;
+            }
+            ptr++;
+        }
+    }
+    *ptr2 = 0;
+    if (*ptr == '\"')
+        ptr++;
+    item->valuestring = out;
+    item->type = cJSON_String;
+    return ptr;
 }
 
 /* Render the cstring provided to an escaped version that can be printed. */
-static char *print_string_ptr(const char *str,printbuffer *p)
-{
-    const char *ptr; char *ptr2; char *out; size_t len = 0, flag = 0; unsigned char token;
-       
-       for (ptr=str;*ptr;ptr++) flag|=((*ptr>0 && *ptr<32)||(*ptr=='\"')||(*ptr=='\\'))?1:0;
-       if (!flag)
-       {
-               len=ptr-str;
-               if (p) out=ensure(p,len+3);
-               else            out=(char*)cJSON_malloc(len+3);
-               if (!out) return 0;
-               ptr2=out;*ptr2++='\"';
-               strcpy(ptr2,str);
-               ptr2[len]='\"';
-               ptr2[len+1]=0;
-               return out;
-       }
-       
-       if (!str)
-       {
-               if (p)  out=ensure(p,3);
-               else    out=(char*)cJSON_malloc(3);
-               if (!out) return 0;
-               strcpy(out,"\"\"");
-               return out;
-       }
-       ptr=str;while ((token=*ptr) && ++len) {if (strchr("\"\\\b\f\n\r\t",token)) len++; else if (token<32) len+=5;ptr++;}
-       
-       if (p)  out=ensure(p,len+3);
-       else    out=(char*)cJSON_malloc(len+3);
-       if (!out) return 0;
-
-       ptr2=out;ptr=str;
-       *ptr2++='\"';
-       while (*ptr)
-       {
-               if ((unsigned char)*ptr>31 && *ptr!='\"' && *ptr!='\\') *ptr2++=*ptr++;
-               else
-               {
-                       *ptr2++='\\';
-                       switch (token=*ptr++)
-                       {
-                               case '\\':      *ptr2++='\\';   break;
-                               case '\"':      *ptr2++='\"';   break;
-                               case '\b':      *ptr2++='b';    break;
-                               case '\f':      *ptr2++='f';    break;
-                               case '\n':      *ptr2++='n';    break;
-                               case '\r':      *ptr2++='r';    break;
-                               case '\t':      *ptr2++='t';    break;
-                               default: sprintf(ptr2,"u%04x",token);ptr2+=5;   break;  /* escape and print */
-                       }
-               }
-       }
-       *ptr2++='\"';*ptr2++=0;
-       return out;
+static char *print_string_ptr(const char *str, printbuffer *p) {
+    const char *ptr;
+    char *ptr2;
+    char *out;
+    size_t len = 0, flag = 0;
+    unsigned char token;
+
+    for (ptr = str; *ptr; ptr++)
+        flag |= ((*ptr > 0 && *ptr < 32) || (*ptr == '\"') || (*ptr == '\\'))
+                    ? 1
+                    : 0;
+    if (!flag) {
+        len = ptr - str;
+        if (p)
+            out = ensure(p, len + 3);
+        else
+            out = (char *)cJSON_malloc(len + 3);
+        if (!out)
+            return 0;
+        ptr2 = out;
+        *ptr2++ = '\"';
+        strcpy(ptr2, str);
+        ptr2[len] = '\"';
+        ptr2[len + 1] = 0;
+        return out;
+    }
+
+    if (!str) {
+        if (p)
+            out = ensure(p, 3);
+        else
+            out = (char *)cJSON_malloc(3);
+        if (!out)
+            return 0;
+        strcpy(out, "\"\"");
+        return out;
+    }
+    ptr = str;
+    while ((token = *ptr) && ++len) {
+        if (strchr("\"\\\b\f\n\r\t", token))
+            len++;
+        else if (token < 32)
+            len += 5;
+        ptr++;
+    }
+
+    if (p)
+        out = ensure(p, len + 3);
+    else
+        out = (char *)cJSON_malloc(len + 3);
+    if (!out)
+        return 0;
+
+    ptr2 = out;
+    ptr = str;
+    *ptr2++ = '\"';
+    while (*ptr) {
+        if ((unsigned char)*ptr > 31 && *ptr != '\"' && *ptr != '\\')
+            *ptr2++ = *ptr++;
+        else {
+            *ptr2++ = '\\';
+            switch (token = *ptr++) {
+            case '\\':
+                *ptr2++ = '\\';
+                break;
+            case '\"':
+                *ptr2++ = '\"';
+                break;
+            case '\b':
+                *ptr2++ = 'b';
+                break;
+            case '\f':
+                *ptr2++ = 'f';
+                break;
+            case '\n':
+                *ptr2++ = 'n';
+                break;
+            case '\r':
+                *ptr2++ = 'r';
+                break;
+            case '\t':
+                *ptr2++ = 't';
+                break;
+            default:
+                sprintf(ptr2, "u%04x", token);
+                ptr2 += 5;
+                break; /* escape and print */
+            }
+        }
+    }
+    *ptr2++ = '\"';
+    *ptr2++ = 0;
+    return out;
 }
 /* Invote print_string_ptr (which is useful) on an item. */
-static char *print_string(cJSON *item,printbuffer *p)  {return print_string_ptr(item->valuestring,p);}
+static char *print_string(cJSON *item, printbuffer *p) {
+    return print_string_ptr(item->valuestring, p);
+}
 
 /* Predeclare these prototypes. */
-static const char *parse_value(cJSON *item,const char *value);
-static char *print_value(cJSON *item,int depth,int fmt,printbuffer *p);
-static const char *parse_array(cJSON *item,const char *value);
-static char *print_array(cJSON *item,int depth,int fmt,printbuffer *p);
-static const char *parse_object(cJSON *item,const char *value);
-static char *print_object(cJSON *item,int depth,int fmt,printbuffer *p);
+static const char *parse_value(cJSON *item, const char *value);
+static char *print_value(cJSON *item, int depth, int fmt, printbuffer *p);
+static const char *parse_array(cJSON *item, const char *value);
+static char *print_array(cJSON *item, int depth, int fmt, printbuffer *p);
+static const char *parse_object(cJSON *item, const char *value);
+static char *print_object(cJSON *item, int depth, int fmt, printbuffer *p);
 
 /* Utility to jump whitespace and cr/lf */
-static const char *skip(const char *in) {while (in && *in && (unsigned char)*in<=32) in++; return in;}
+static const char *skip(const char *in) {
+    while (in && *in && (unsigned char)*in <= 32)
+        in++;
+    return in;
+}
 
 /* Parse an object - create a new root, and populate. */
-cJSON *cJSON_ParseWithOpts(const char *value,const char **return_parse_end,int require_null_terminated)
-{
-       const char *end=0;
-       cJSON *c=cJSON_New_Item();
-       ep=0;
-       if (!c) return 0;       /* memory fail */
+cJSON *cJSON_ParseWithOpts(const char *value, const char **return_parse_end,
+                           int require_null_terminated) {
+    const char *end = 0;
+    cJSON *c = cJSON_New_Item();
+    ep = 0;
+    if (!c)
+        return 0; /* memory fail */
 
-       end=parse_value(c,skip(value));
-       if (!end)       {cJSON_Delete(c);return 0;}     /* parse failure. ep is set. */
+    end = parse_value(c, skip(value));
+    if (!end) {
+        cJSON_Delete(c);
+        return 0;
+    } /* parse failure. ep is set. */
 
-       /* if we require null-terminated JSON without appended garbage, skip and then check for a null terminator */
-       if (require_null_terminated) {end=skip(end);if (*end) {cJSON_Delete(c);ep=end;return 0;}}
-       if (return_parse_end) *return_parse_end=end;
-       return c;
+    /* if we require null-terminated JSON without appended garbage, skip and
+     * then check for a null terminator */
+    if (require_null_terminated) {
+        end = skip(end);
+        if (*end) {
+            cJSON_Delete(c);
+            ep = end;
+            return 0;
+        }
+    }
+    if (return_parse_end)
+        *return_parse_end = end;
+    return c;
 }
 /* Default options for cJSON_Parse */
-cJSON *cJSON_Parse(const char *value) {return cJSON_ParseWithOpts(value,0,0);}
+cJSON *cJSON_Parse(const char *value) {
+    return cJSON_ParseWithOpts(value, 0, 0);
+}
 
 /* Render a cJSON item/entity/structure to text. */
-char *cJSON_Print(cJSON *item)                         {return print_value(item,0,1,0);}
-char *cJSON_PrintUnformatted(cJSON *item)      {return print_value(item,0,0,0);}
+char *cJSON_Print(cJSON *item) { return print_value(item, 0, 1, 0); }
+char *cJSON_PrintUnformatted(cJSON *item) { return print_value(item, 0, 0, 0); }
 
-char *cJSON_PrintBuffered(cJSON *item,int prebuffer,int fmt)
-{
-       printbuffer p;
-       p.buffer=(char*)cJSON_malloc(prebuffer);
-       p.length=prebuffer;
-       p.offset=0;
-       return print_value(item,0,fmt,&p);
-       return p.buffer;
+char *cJSON_PrintBuffered(cJSON *item, int prebuffer, int fmt) {
+    printbuffer p;
+    p.buffer = (char *)cJSON_malloc(prebuffer);
+    p.length = prebuffer;
+    p.offset = 0;
+    return print_value(item, 0, fmt, &p);
+    return p.buffer;
 }
 
-
 /* Parser core - when encountering text, process appropriately. */
-static const char *parse_value(cJSON *item,const char *value)
-{
-       if (!value)                                             return 0;       /* Fail on null. */
-       if (!strncmp(value,"null",4))   { item->type=cJSON_NULL;  return value+4; }
-       if (!strncmp(value,"false",5))  { item->type=cJSON_False; return value+5; }
-       if (!strncmp(value,"true",4))   { item->type=cJSON_True; item->valueint=1;      return value+4; }
-       if (*value=='\"')                               { return parse_string(item,value); }
-       if (*value=='-' || (*value>='0' && *value<='9'))        { return parse_number(item,value); }
-       if (*value=='[')                                { return parse_array(item,value); }
-       if (*value=='{')                                { return parse_object(item,value); }
+static const char *parse_value(cJSON *item, const char *value) {
+    if (!value)
+        return 0; /* Fail on null. */
+    if (!strncmp(value, "null", 4)) {
+        item->type = cJSON_NULL;
+        return value + 4;
+    }
+    if (!strncmp(value, "false", 5)) {
+        item->type = cJSON_False;
+        return value + 5;
+    }
+    if (!strncmp(value, "true", 4)) {
+        item->type = cJSON_True;
+        item->valueint = 1;
+        return value + 4;
+    }
+    if (*value == '\"') {
+        return parse_string(item, value);
+    }
+    if (*value == '-' || (*value >= '0' && *value <= '9')) {
+        return parse_number(item, value);
+    }
+    if (*value == '[') {
+        return parse_array(item, value);
+    }
+    if (*value == '{') {
+        return parse_object(item, value);
+    }
 
-       ep=value;return 0;      /* failure. */
+    ep = value;
+    return 0; /* failure. */
 }
 
 /* Render a value to text. */
-static char *print_value(cJSON *item,int depth,int fmt,printbuffer *p)
-{
-       char *out=0;
-       if (!item) return 0;
-       if (p)
-       {
-               switch ((item->type)&255)
-               {
-                       case cJSON_NULL:        {out=ensure(p,5);       if (out) strcpy(out,"null");    break;}
-                       case cJSON_False:       {out=ensure(p,6);       if (out) strcpy(out,"false");   break;}
-                       case cJSON_True:        {out=ensure(p,5);       if (out) strcpy(out,"true");    break;}
-                       case cJSON_Number:      out=print_number(item,p);break;
-                       case cJSON_String:      out=print_string(item,p);break;
-                       case cJSON_Array:       out=print_array(item,depth,fmt,p);break;
-                       case cJSON_Object:      out=print_object(item,depth,fmt,p);break;
-               }
-       }
-       else
-       {
-               switch ((item->type)&255)
-               {
-                       case cJSON_NULL:        out=cJSON_strdup("null");       break;
-                       case cJSON_False:       out=cJSON_strdup("false");break;
-                       case cJSON_True:        out=cJSON_strdup("true"); break;
-                       case cJSON_Number:      out=print_number(item,0);break;
-                       case cJSON_String:      out=print_string(item,0);break;
-                       case cJSON_Array:       out=print_array(item,depth,fmt,0);break;
-                       case cJSON_Object:      out=print_object(item,depth,fmt,0);break;
-               }
-       }
-       return out;
+static char *print_value(cJSON *item, int depth, int fmt, printbuffer *p) {
+    char *out = 0;
+    if (!item)
+        return 0;
+    if (p) {
+        switch ((item->type) & 255) {
+        case cJSON_NULL: {
+            out = ensure(p, 5);
+            if (out)
+                strcpy(out, "null");
+            break;
+        }
+        case cJSON_False: {
+            out = ensure(p, 6);
+            if (out)
+                strcpy(out, "false");
+            break;
+        }
+        case cJSON_True: {
+            out = ensure(p, 5);
+            if (out)
+                strcpy(out, "true");
+            break;
+        }
+        case cJSON_Number:
+            out = print_number(item, p);
+            break;
+        case cJSON_String:
+            out = print_string(item, p);
+            break;
+        case cJSON_Array:
+            out = print_array(item, depth, fmt, p);
+            break;
+        case cJSON_Object:
+            out = print_object(item, depth, fmt, p);
+            break;
+        }
+    } else {
+        switch ((item->type) & 255) {
+        case cJSON_NULL:
+            out = cJSON_strdup("null");
+            break;
+        case cJSON_False:
+            out = cJSON_strdup("false");
+            break;
+        case cJSON_True:
+            out = cJSON_strdup("true");
+            break;
+        case cJSON_Number:
+            out = print_number(item, 0);
+            break;
+        case cJSON_String:
+            out = print_string(item, 0);
+            break;
+        case cJSON_Array:
+            out = print_array(item, depth, fmt, 0);
+            break;
+        case cJSON_Object:
+            out = print_object(item, depth, fmt, 0);
+            break;
+        }
+    }
+    return out;
 }
 
 /* Build an array from input text. */
-static const char *parse_array(cJSON *item,const char *value)
-{
-       cJSON *child;
-       if (*value!='[')        {ep=value;return 0;}    /* not an array! */
+static const char *parse_array(cJSON *item, const char *value) {
+    cJSON *child;
+    if (*value != '[') {
+        ep = value;
+        return 0;
+    } /* not an array! */
 
-       item->type=cJSON_Array;
-       value=skip(value+1);
-       if (*value==']') return value+1;        /* empty array. */
+    item->type = cJSON_Array;
+    value = skip(value + 1);
+    if (*value == ']')
+        return value + 1; /* empty array. */
 
-       item->child=child=cJSON_New_Item();
-       if (!item->child) return 0;              /* memory fail */
-       value=skip(parse_value(child,skip(value)));     /* skip any spacing, get the value. */
-       if (!value) return 0;
+    item->child = child = cJSON_New_Item();
+    if (!item->child)
+        return 0; /* memory fail */
+    value = skip(
+        parse_value(child, skip(value))); /* skip any spacing, get the value. */
+    if (!value)
+        return 0;
 
-       while (*value==',')
-       {
-               cJSON *new_item;
-               if (!(new_item=cJSON_New_Item())) return 0;     /* memory fail */
-               child->next=new_item;new_item->prev=child;child=new_item;
-               value=skip(parse_value(child,skip(value+1)));
-               if (!value) return 0;   /* memory fail */
-       }
+    while (*value == ',') {
+        cJSON *new_item;
+        if (!(new_item = cJSON_New_Item()))
+            return 0; /* memory fail */
+        child->next = new_item;
+        new_item->prev = child;
+        child = new_item;
+        value = skip(parse_value(child, skip(value + 1)));
+        if (!value)
+            return 0; /* memory fail */
+    }
 
-       if (*value==']') return value+1;        /* end of array */
-       ep=value;return 0;      /* malformed. */
+    if (*value == ']')
+        return value + 1; /* end of array */
+    ep = value;
+    return 0; /* malformed. */
 }
 
 /* Render an array to text */
-static char *print_array(cJSON *item,int depth,int fmt,printbuffer *p)
-{
-       char **entries;
-        char *out=0,*ptr,*ret;size_t len=5;
-        cJSON *child=item->child;
-        int numentries=0,fail=0, j=0;
-       size_t tmplen=0,i=0;
-       
-       /* How many entries in the array? */
-       while (child) numentries++,child=child->next;
-       /* Explicitly handle numentries==0 */
-       if (!numentries)
-       {
-               if (p)  out=ensure(p,3);
-               else    out=(char*)cJSON_malloc(3);
-               if (out) strcpy(out,"[]");
-               return out;
-       }
-
-       if (p)
-       {
-               /* Compose the output array. */
-               i=p->offset;
-               ptr=ensure(p,1);if (!ptr) return 0;     *ptr='[';       p->offset++;
-               child=item->child;
-               while (child && !fail)
-               {
-                       print_value(child,depth+1,fmt,p);
-                       p->offset=update(p);
-                       if (child->next) {len=fmt?2:1;ptr=ensure(p,len+1);if (!ptr) return 0;*ptr++=',';if(fmt)*ptr++=' ';*ptr=0;p->offset+=len;}
-                       child=child->next;
-               }
-               ptr=ensure(p,2);if (!ptr) return 0;     *ptr++=']';*ptr=0;
-               out=(p->buffer)+i;
-       }
-       else
-       {
-               /* Allocate an array to hold the values for each */
-               entries=(char**)cJSON_malloc(numentries*sizeof(char*));
-               if (!entries) return 0;
-               memset(entries,0,numentries*sizeof(char*));
-               /* Retrieve all the results: */
-               child=item->child;
-               while (child && !fail)
-               {
-                       ret=print_value(child,depth+1,fmt,0);
-                       entries[i++]=ret;
-                       if (ret) len+=strlen(ret)+2+(fmt?1:0); else fail=1;
-                       child=child->next;
-               }
-               
-               /* If we didn't fail, try to malloc the output string */
-               if (!fail)      out=(char*)cJSON_malloc(len);
-               /* If that fails, we fail. */
-               if (!out) fail=1;
-
-               /* Handle failure. */
-               if (fail)
-               {
-                        for (j=0;j<numentries;j++) if (entries[j]) cJSON_free(entries[j]);
-                       cJSON_free(entries);
-                       return 0;
-               }
-               
-               /* Compose the output array. */
-               *out='[';
-               ptr=out+1;*ptr=0;
-                for (j=0;j<numentries;j++)
-               {
-                        tmplen=strlen(entries[j]);memcpy(ptr,entries[j],tmplen);ptr+=tmplen;
-                        if (j!=numentries-1) {*ptr++=',';if(fmt)*ptr++=' ';*ptr=0;}
-                        cJSON_free(entries[j]);
-               }
-               cJSON_free(entries);
-               *ptr++=']';*ptr++=0;
-       }
-       return out;     
+static char *print_array(cJSON *item, int depth, int fmt, printbuffer *p) {
+    char **entries;
+    char *out = 0, *ptr, *ret;
+    size_t len = 5;
+    cJSON *child = item->child;
+    int numentries = 0, fail = 0, j = 0;
+    size_t tmplen = 0, i = 0;
+
+    /* How many entries in the array? */
+    while (child)
+        numentries++, child = child->next;
+    /* Explicitly handle numentries==0 */
+    if (!numentries) {
+        if (p)
+            out = ensure(p, 3);
+        else
+            out = (char *)cJSON_malloc(3);
+        if (out)
+            strcpy(out, "[]");
+        return out;
+    }
+
+    if (p) {
+        /* Compose the output array. */
+        i = p->offset;
+        ptr = ensure(p, 1);
+        if (!ptr)
+            return 0;
+        *ptr = '[';
+        p->offset++;
+        child = item->child;
+        while (child && !fail) {
+            print_value(child, depth + 1, fmt, p);
+            p->offset = update(p);
+            if (child->next) {
+                len = fmt ? 2 : 1;
+                ptr = ensure(p, len + 1);
+                if (!ptr)
+                    return 0;
+                *ptr++ = ',';
+                if (fmt)
+                    *ptr++ = ' ';
+                *ptr = 0;
+                p->offset += len;
+            }
+            child = child->next;
+        }
+        ptr = ensure(p, 2);
+        if (!ptr)
+            return 0;
+        *ptr++ = ']';
+        *ptr = 0;
+        out = (p->buffer) + i;
+    } else {
+        /* Allocate an array to hold the values for each */
+        entries = (char **)cJSON_malloc(numentries * sizeof(char *));
+        if (!entries)
+            return 0;
+        memset(entries, 0, numentries * sizeof(char *));
+        /* Retrieve all the results: */
+        child = item->child;
+        while (child && !fail) {
+            ret = print_value(child, depth + 1, fmt, 0);
+            entries[i++] = ret;
+            if (ret)
+                len += strlen(ret) + 2 + (fmt ? 1 : 0);
+            else
+                fail = 1;
+            child = child->next;
+        }
+
+        /* If we didn't fail, try to malloc the output string */
+        if (!fail)
+            out = (char *)cJSON_malloc(len);
+        /* If that fails, we fail. */
+        if (!out)
+            fail = 1;
+
+        /* Handle failure. */
+        if (fail) {
+            for (j = 0; j < numentries; j++)
+                if (entries[j])
+                    cJSON_free(entries[j]);
+            cJSON_free(entries);
+            return 0;
+        }
+
+        /* Compose the output array. */
+        *out = '[';
+        ptr = out + 1;
+        *ptr = 0;
+        for (j = 0; j < numentries; j++) {
+            tmplen = strlen(entries[j]);
+            memcpy(ptr, entries[j], tmplen);
+            ptr += tmplen;
+            if (j != numentries - 1) {
+                *ptr++ = ',';
+                if (fmt)
+                    *ptr++ = ' ';
+                *ptr = 0;
+            }
+            cJSON_free(entries[j]);
+        }
+        cJSON_free(entries);
+        *ptr++ = ']';
+        *ptr++ = 0;
+    }
+    return out;
 }
 
 /* Build an object from the text. */
-static const char *parse_object(cJSON *item,const char *value)
-{
-       cJSON *child;
-       if (*value!='{')        {ep=value;return 0;}    /* not an object! */
-       
-       item->type=cJSON_Object;
-       value=skip(value+1);
-       if (*value=='}') return value+1;        /* empty array. */
-       
-       item->child=child=cJSON_New_Item();
-       if (!item->child) return 0;
-       value=skip(parse_string(child,skip(value)));
-       if (!value) return 0;
-       child->string=child->valuestring;child->valuestring=0;
-       if (*value!=':') {ep=value;return 0;}   /* fail! */
-       value=skip(parse_value(child,skip(value+1)));   /* skip any spacing, get the value. */
-       if (!value) return 0;
-       
-       while (*value==',')
-       {
-               cJSON *new_item;
-               if (!(new_item=cJSON_New_Item()))       return 0; /* memory fail */
-               child->next=new_item;new_item->prev=child;child=new_item;
-               value=skip(parse_string(child,skip(value+1)));
-               if (!value) return 0;
-               child->string=child->valuestring;child->valuestring=0;
-               if (*value!=':') {ep=value;return 0;}   /* fail! */
-               value=skip(parse_value(child,skip(value+1)));   /* skip any spacing, get the value. */
-               if (!value) return 0;
-       }
-       
-       if (*value=='}') return value+1;        /* end of array */
-       ep=value;return 0;      /* malformed. */
+static const char *parse_object(cJSON *item, const char *value) {
+    cJSON *child;
+    if (*value != '{') {
+        ep = value;
+        return 0;
+    } /* not an object! */
+
+    item->type = cJSON_Object;
+    value = skip(value + 1);
+    if (*value == '}')
+        return value + 1; /* empty array. */
+
+    item->child = child = cJSON_New_Item();
+    if (!item->child)
+        return 0;
+    value = skip(parse_string(child, skip(value)));
+    if (!value)
+        return 0;
+    child->string = child->valuestring;
+    child->valuestring = 0;
+    if (*value != ':') {
+        ep = value;
+        return 0;
+    } /* fail! */
+    value = skip(parse_value(
+        child, skip(value + 1))); /* skip any spacing, get the value. */
+    if (!value)
+        return 0;
+
+    while (*value == ',') {
+        cJSON *new_item;
+        if (!(new_item = cJSON_New_Item()))
+            return 0; /* memory fail */
+        child->next = new_item;
+        new_item->prev = child;
+        child = new_item;
+        value = skip(parse_string(child, skip(value + 1)));
+        if (!value)
+            return 0;
+        child->string = child->valuestring;
+        child->valuestring = 0;
+        if (*value != ':') {
+            ep = value;
+            return 0;
+        } /* fail! */
+        value = skip(parse_value(
+            child, skip(value + 1))); /* skip any spacing, get the value. */
+        if (!value)
+            return 0;
+    }
+
+    if (*value == '}')
+        return value + 1; /* end of array */
+    ep = value;
+    return 0; /* malformed. */
 }
 
 /* Render an object to text. */
-static char *print_object(cJSON *item,int depth,int fmt,printbuffer *p)
-{
-       char **entries=0,**names=0;
-       char *out=0,*ptr,*ret,*str;int j;
-       cJSON *child=item->child;
-        int numentries=0,fail=0,k;
-       size_t tmplen=0,i=0,len=7;
-       /* Count the number of entries. */
-       while (child) numentries++,child=child->next;
-       /* Explicitly handle empty object case */
-       if (!numentries)
-       {
-               if (p) out=ensure(p,fmt?depth+4:3);
-               else    out=(char*)cJSON_malloc(fmt?depth+4:3);
-               if (!out)       return 0;
-               ptr=out;*ptr++='{';
-                if (fmt) {*ptr++='\n';for (j=0;j<depth-1;j++) *ptr++='\t';}
-               *ptr++='}';*ptr++=0;
-               return out;
-       }
-       if (p)
-       {
-               /* Compose the output: */
-               i=p->offset;
-               len=fmt?2:1;    ptr=ensure(p,len+1);    if (!ptr) return 0;
-               *ptr++='{';     if (fmt) *ptr++='\n';   *ptr=0; p->offset+=len;
-               child=item->child;depth++;
-               while (child)
-               {
-                       if (fmt)
-                       {
-                               ptr=ensure(p,depth);    if (!ptr) return 0;
-                               for (j=0;j<depth;j++) *ptr++='\t';
-                               p->offset+=depth;
-                       }
-                       print_string_ptr(child->string,p);
-                       p->offset=update(p);
-                       
-                       len=fmt?2:1;
-                       ptr=ensure(p,len);      if (!ptr) return 0;
-                       *ptr++=':';if (fmt) *ptr++='\t';
-                       p->offset+=len;
-                       
-                       print_value(child,depth,fmt,p);
-                       p->offset=update(p);
-
-                       len=(fmt?1:0)+(child->next?1:0);
-                       ptr=ensure(p,len+1); if (!ptr) return 0;
-                       if (child->next) *ptr++=',';
-                       if (fmt) *ptr++='\n';*ptr=0;
-                       p->offset+=len;
-                       child=child->next;
-               }
-               ptr=ensure(p,fmt?(depth+1):2);   if (!ptr) return 0;
-                if (fmt)       for (j=0;j<depth-1;j++) *ptr++='\t';
-               *ptr++='}';*ptr=0;
-               out=(p->buffer)+i;
-       }
-       else
-       {
-               /* Allocate space for the names and the objects */
-               entries=(char**)cJSON_malloc(numentries*sizeof(char*));
-               if (!entries) return 0;
-               names=(char**)cJSON_malloc(numentries*sizeof(char*));
-               if (!names) {cJSON_free(entries);return 0;}
-               memset(entries,0,sizeof(char*)*numentries);
-               memset(names,0,sizeof(char*)*numentries);
-
-               /* Collect all the results into our arrays: */
-               child=item->child;depth++;if (fmt) len+=depth;
-               while (child)
-               {
-                       names[i]=str=print_string_ptr(child->string,0);
-                       entries[i++]=ret=print_value(child,depth,fmt,0);
-                       if (str && ret) len+=strlen(ret)+strlen(str)+2+(fmt?2+depth:0); else fail=1;
-                       child=child->next;
-               }
-               
-               /* Try to allocate the output string */
-               if (!fail)      out=(char*)cJSON_malloc(len);
-               if (!out) fail=1;
-
-               /* Handle failure */
-               if (fail)
-               {
-                        for (j=0;j<numentries;j++) {if (names[i]) cJSON_free(names[j]);if (entries[j]) cJSON_free(entries[j]);}
-                       cJSON_free(names);cJSON_free(entries);
-                       return 0;
-               }
-               
-               /* Compose the output: */
-               *out='{';ptr=out+1;if (fmt)*ptr++='\n';*ptr=0;
-                for (j=0;j<numentries;j++)
-               {
-                        if (fmt) for (k=0;k<depth;k++) *ptr++='\t';
-                        tmplen=strlen(names[j]);memcpy(ptr,names[j],tmplen);ptr+=tmplen;
-                       *ptr++=':';if (fmt) *ptr++='\t';
-                        strcpy(ptr,entries[j]);ptr+=strlen(entries[j]);
-                        if (j!=numentries-1) *ptr++=',';
-                       if (fmt) *ptr++='\n';*ptr=0;
-                        cJSON_free(names[j]);cJSON_free(entries[j]);
-               }
-               
-               cJSON_free(names);cJSON_free(entries);
-                if (fmt) for (j=0;j<depth-1;j++) *ptr++='\t';
-               *ptr++='}';*ptr++=0;
-       }
-       return out;     
+static char *print_object(cJSON *item, int depth, int fmt, printbuffer *p) {
+    char **entries = 0, **names = 0;
+    char *out = 0, *ptr, *ret, *str;
+    int j;
+    cJSON *child = item->child;
+    int numentries = 0, fail = 0, k;
+    size_t tmplen = 0, i = 0, len = 7;
+    /* Count the number of entries. */
+    while (child)
+        numentries++, child = child->next;
+    /* Explicitly handle empty object case */
+    if (!numentries) {
+        if (p)
+            out = ensure(p, fmt ? depth + 4 : 3);
+        else
+            out = (char *)cJSON_malloc(fmt ? depth + 4 : 3);
+        if (!out)
+            return 0;
+        ptr = out;
+        *ptr++ = '{';
+        if (fmt) {
+            *ptr++ = '\n';
+            for (j = 0; j < depth - 1; j++)
+                *ptr++ = '\t';
+        }
+        *ptr++ = '}';
+        *ptr++ = 0;
+        return out;
+    }
+    if (p) {
+        /* Compose the output: */
+        i = p->offset;
+        len = fmt ? 2 : 1;
+        ptr = ensure(p, len + 1);
+        if (!ptr)
+            return 0;
+        *ptr++ = '{';
+        if (fmt)
+            *ptr++ = '\n';
+        *ptr = 0;
+        p->offset += len;
+        child = item->child;
+        depth++;
+        while (child) {
+            if (fmt) {
+                ptr = ensure(p, depth);
+                if (!ptr)
+                    return 0;
+                for (j = 0; j < depth; j++)
+                    *ptr++ = '\t';
+                p->offset += depth;
+            }
+            print_string_ptr(child->string, p);
+            p->offset = update(p);
+
+            len = fmt ? 2 : 1;
+            ptr = ensure(p, len);
+            if (!ptr)
+                return 0;
+            *ptr++ = ':';
+            if (fmt)
+                *ptr++ = '\t';
+            p->offset += len;
+
+            print_value(child, depth, fmt, p);
+            p->offset = update(p);
+
+            len = (fmt ? 1 : 0) + (child->next ? 1 : 0);
+            ptr = ensure(p, len + 1);
+            if (!ptr)
+                return 0;
+            if (child->next)
+                *ptr++ = ',';
+            if (fmt)
+                *ptr++ = '\n';
+            *ptr = 0;
+            p->offset += len;
+            child = child->next;
+        }
+        ptr = ensure(p, fmt ? (depth + 1) : 2);
+        if (!ptr)
+            return 0;
+        if (fmt)
+            for (j = 0; j < depth - 1; j++)
+                *ptr++ = '\t';
+        *ptr++ = '}';
+        *ptr = 0;
+        out = (p->buffer) + i;
+    } else {
+        /* Allocate space for the names and the objects */
+        entries = (char **)cJSON_malloc(numentries * sizeof(char *));
+        if (!entries)
+            return 0;
+        names = (char **)cJSON_malloc(numentries * sizeof(char *));
+        if (!names) {
+            cJSON_free(entries);
+            return 0;
+        }
+        memset(entries, 0, sizeof(char *) * numentries);
+        memset(names, 0, sizeof(char *) * numentries);
+
+        /* Collect all the results into our arrays: */
+        child = item->child;
+        depth++;
+        if (fmt)
+            len += depth;
+        while (child) {
+            names[i] = str = print_string_ptr(child->string, 0);
+            entries[i++] = ret = print_value(child, depth, fmt, 0);
+            if (str && ret)
+                len += strlen(ret) + strlen(str) + 2 + (fmt ? 2 + depth : 0);
+            else
+                fail = 1;
+            child = child->next;
+        }
+
+        /* Try to allocate the output string */
+        if (!fail)
+            out = (char *)cJSON_malloc(len);
+        if (!out)
+            fail = 1;
+
+        /* Handle failure */
+        if (fail) {
+            for (j = 0; j < numentries; j++) {
+                if (names[i])
+                    cJSON_free(names[j]);
+                if (entries[j])
+                    cJSON_free(entries[j]);
+            }
+            cJSON_free(names);
+            cJSON_free(entries);
+            return 0;
+        }
+
+        /* Compose the output: */
+        *out = '{';
+        ptr = out + 1;
+        if (fmt)
+            *ptr++ = '\n';
+        *ptr = 0;
+        for (j = 0; j < numentries; j++) {
+            if (fmt)
+                for (k = 0; k < depth; k++)
+                    *ptr++ = '\t';
+            tmplen = strlen(names[j]);
+            memcpy(ptr, names[j], tmplen);
+            ptr += tmplen;
+            *ptr++ = ':';
+            if (fmt)
+                *ptr++ = '\t';
+            strcpy(ptr, entries[j]);
+            ptr += strlen(entries[j]);
+            if (j != numentries - 1)
+                *ptr++ = ',';
+            if (fmt)
+                *ptr++ = '\n';
+            *ptr = 0;
+            cJSON_free(names[j]);
+            cJSON_free(entries[j]);
+        }
+
+        cJSON_free(names);
+        cJSON_free(entries);
+        if (fmt)
+            for (j = 0; j < depth - 1; j++)
+                *ptr++ = '\t';
+        *ptr++ = '}';
+        *ptr++ = 0;
+    }
+    return out;
 }
 
 /* Get Array size/item / object item. */
-int    cJSON_GetArraySize(cJSON *array)                                                        {cJSON *c=array->child;int i=0;while(c)i++,c=c->next;return i;}
-cJSON *cJSON_GetArrayItem(cJSON *array,int item)                               {cJSON *c=array->child;  while (c && item>0) item--,c=c->next; return c;}
-cJSON *cJSON_GetObjectItem(cJSON *object,const char *string)   {cJSON *c=object->child; while (c && strcmp(c->string,string)) c=c->next; return c;}
+int cJSON_GetArraySize(cJSON *array) {
+    cJSON *c = array->child;
+    int i = 0;
+    while (c)
+        i++, c = c->next;
+    return i;
+}
+cJSON *cJSON_GetArrayItem(cJSON *array, int item) {
+    cJSON *c = array->child;
+    while (c && item > 0)
+        item--, c = c->next;
+    return c;
+}
+cJSON *cJSON_GetObjectItem(cJSON *object, const char *string) {
+    cJSON *c = object->child;
+    while (c && strcmp(c->string, string))
+        c = c->next;
+    return c;
+}
 
 /* Utility for array list handling. */
-static void suffix_object(cJSON *prev,cJSON *item) {prev->next=item;item->prev=prev;}
+static void suffix_object(cJSON *prev, cJSON *item) {
+    prev->next = item;
+    item->prev = prev;
+}
 /* Utility for handling references. */
-static cJSON *create_reference(cJSON *item) {cJSON *ref=cJSON_New_Item();if (!ref) return 0;memcpy(ref,item,sizeof(cJSON));ref->string=0;ref->type|=cJSON_IsReference;ref->next=ref->prev=0;return ref;}
+static cJSON *create_reference(cJSON *item) {
+    cJSON *ref = cJSON_New_Item();
+    if (!ref)
+        return 0;
+    memcpy(ref, item, sizeof(cJSON));
+    ref->string = 0;
+    ref->type |= cJSON_IsReference;
+    ref->next = ref->prev = 0;
+    return ref;
+}
 
 /* Add item to array/object. */
-void   cJSON_AddItemToArray(cJSON *array, cJSON *item)                                         {cJSON *c=array->child;if (!item) return; if (!c) {array->child=item;} else {while (c && c->next) c=c->next; suffix_object(c,item);}}
-void   cJSON_AddItemToObject(cJSON *object,const char *string,cJSON *item)     {if (!item) return; if (item->string) cJSON_free(item->string);item->string=cJSON_strdup(string);cJSON_AddItemToArray(object,item);}
-void   cJSON_AddItemToObjectCS(cJSON *object,const char *string,cJSON *item)   {if (!item) return; if (!(item->type&cJSON_StringIsConst) && item->string) cJSON_free(item->string);item->string=(char*)string;item->type|=cJSON_StringIsConst;cJSON_AddItemToArray(object,item);}
-void   cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item)                                                {cJSON_AddItemToArray(array,create_reference(item));}
-void   cJSON_AddItemReferenceToObject(cJSON *object,const char *string,cJSON *item)    {cJSON_AddItemToObject(object,string,create_reference(item));}
-
-cJSON *cJSON_DetachItemFromArray(cJSON *array,int which)                       {cJSON *c=array->child;while (c && which>0) c=c->next,which--;if (!c) return 0;
-       if (c->prev) c->prev->next=c->next;if (c->next) c->next->prev=c->prev;if (c==array->child) array->child=c->next;c->prev=c->next=0;return c;}
-void   cJSON_DeleteItemFromArray(cJSON *array,int which)                       {cJSON_Delete(cJSON_DetachItemFromArray(array,which));}
-cJSON *cJSON_DetachItemFromObject(cJSON *object,const char *string) {int i=0;cJSON *c=object->child;while (c && strcmp(c->string,string)) i++,c=c->next;if (c) return cJSON_DetachItemFromArray(object,i);return 0;}
-void   cJSON_DeleteItemFromObject(cJSON *object,const char *string) {cJSON_Delete(cJSON_DetachItemFromObject(object,string));}
+void cJSON_AddItemToArray(cJSON *array, cJSON *item) {
+    cJSON *c = array->child;
+    if (!item)
+        return;
+    if (!c) {
+        array->child = item;
+    } else {
+        while (c && c->next)
+            c = c->next;
+        suffix_object(c, item);
+    }
+}
+void cJSON_AddItemToObject(cJSON *object, const char *string, cJSON *item) {
+    if (!item)
+        return;
+    if (item->string)
+        cJSON_free(item->string);
+    item->string = cJSON_strdup(string);
+    cJSON_AddItemToArray(object, item);
+}
+void cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON *item) {
+    if (!item)
+        return;
+    if (!(item->type & cJSON_StringIsConst) && item->string)
+        cJSON_free(item->string);
+    item->string = (char *)string;
+    item->type |= cJSON_StringIsConst;
+    cJSON_AddItemToArray(object, item);
+}
+void cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item) {
+    cJSON_AddItemToArray(array, create_reference(item));
+}
+void cJSON_AddItemReferenceToObject(cJSON *object, const char *string,
+                                    cJSON *item) {
+    cJSON_AddItemToObject(object, string, create_reference(item));
+}
+
+cJSON *cJSON_DetachItemFromArray(cJSON *array, int which) {
+    cJSON *c = array->child;
+    while (c && which > 0)
+        c = c->next, which--;
+    if (!c)
+        return 0;
+    if (c->prev)
+        c->prev->next = c->next;
+    if (c->next)
+        c->next->prev = c->prev;
+    if (c == array->child)
+        array->child = c->next;
+    c->prev = c->next = 0;
+    return c;
+}
+void cJSON_DeleteItemFromArray(cJSON *array, int which) {
+    cJSON_Delete(cJSON_DetachItemFromArray(array, which));
+}
+cJSON *cJSON_DetachItemFromObject(cJSON *object, const char *string) {
+    int i = 0;
+    cJSON *c = object->child;
+    while (c && strcmp(c->string, string))
+        i++, c = c->next;
+    if (c)
+        return cJSON_DetachItemFromArray(object, i);
+    return 0;
+}
+void cJSON_DeleteItemFromObject(cJSON *object, const char *string) {
+    cJSON_Delete(cJSON_DetachItemFromObject(object, string));
+}
 
 /* Replace array/object items with new ones. */
-void   cJSON_InsertItemInArray(cJSON *array,int which,cJSON *newitem)          {cJSON *c=array->child;while (c && which>0) c=c->next,which--;if (!c) {cJSON_AddItemToArray(array,newitem);return;}
-       newitem->next=c;newitem->prev=c->prev;c->prev=newitem;if (c==array->child) array->child=newitem; else newitem->prev->next=newitem;}
-void   cJSON_ReplaceItemInArray(cJSON *array,int which,cJSON *newitem)         {cJSON *c=array->child;while (c && which>0) c=c->next,which--;if (!c) return;
-       newitem->next=c->next;newitem->prev=c->prev;if (newitem->next) newitem->next->prev=newitem;
-       if (c==array->child) array->child=newitem; else newitem->prev->next=newitem;c->next=c->prev=0;cJSON_Delete(c);}
-void   cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem){int i=0;cJSON *c=object->child;while(c && strcmp(c->string,string))i++,c=c->next;if(c){newitem->string=cJSON_strdup(string);cJSON_ReplaceItemInArray(object,i,newitem);}}
+void cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem) {
+    cJSON *c = array->child;
+    while (c && which > 0)
+        c = c->next, which--;
+    if (!c) {
+        cJSON_AddItemToArray(array, newitem);
+        return;
+    }
+    newitem->next = c;
+    newitem->prev = c->prev;
+    c->prev = newitem;
+    if (c == array->child)
+        array->child = newitem;
+    else
+        newitem->prev->next = newitem;
+}
+void cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem) {
+    cJSON *c = array->child;
+    while (c && which > 0)
+        c = c->next, which--;
+    if (!c)
+        return;
+    newitem->next = c->next;
+    newitem->prev = c->prev;
+    if (newitem->next)
+        newitem->next->prev = newitem;
+    if (c == array->child)
+        array->child = newitem;
+    else
+        newitem->prev->next = newitem;
+    c->next = c->prev = 0;
+    cJSON_Delete(c);
+}
+void cJSON_ReplaceItemInObject(cJSON *object, const char *string,
+                               cJSON *newitem) {
+    int i = 0;
+    cJSON *c = object->child;
+    while (c && strcmp(c->string, string))
+        i++, c = c->next;
+    if (c) {
+        newitem->string = cJSON_strdup(string);
+        cJSON_ReplaceItemInArray(object, i, newitem);
+    }
+}
 
 /* Create basic types: */
-cJSON *cJSON_CreateNull(void)                                  {cJSON *item=cJSON_New_Item();if(item)item->type=cJSON_NULL;return item;}
-cJSON *cJSON_CreateTrue(void)                                  {cJSON *item=cJSON_New_Item();if(item)item->type=cJSON_True;return item;}
-cJSON *cJSON_CreateFalse(void)                                 {cJSON *item=cJSON_New_Item();if(item)item->type=cJSON_False;return item;}
-cJSON *cJSON_CreateBool(int b)                                 {cJSON *item=cJSON_New_Item();if(item)item->type=b?cJSON_True:cJSON_False;return item;}
-cJSON *cJSON_CreateNumber(double num)                  {cJSON *item=cJSON_New_Item();if(item){item->type=cJSON_Number;item->valuedouble=num;item->valueint=(int)num;}return item;}
-cJSON *cJSON_CreateString(const char *string)  {cJSON *item=cJSON_New_Item();if(item){item->type=cJSON_String;item->valuestring=cJSON_strdup(string);}return item;}
-cJSON *cJSON_CreateArray(void)                                 {cJSON *item=cJSON_New_Item();if(item)item->type=cJSON_Array;return item;}
-cJSON *cJSON_CreateObject(void)                                        {cJSON *item=cJSON_New_Item();if(item)item->type=cJSON_Object;return item;}
+cJSON *cJSON_CreateNull(void) {
+    cJSON *item = cJSON_New_Item();
+    if (item)
+        item->type = cJSON_NULL;
+    return item;
+}
+cJSON *cJSON_CreateTrue(void) {
+    cJSON *item = cJSON_New_Item();
+    if (item)
+        item->type = cJSON_True;
+    return item;
+}
+cJSON *cJSON_CreateFalse(void) {
+    cJSON *item = cJSON_New_Item();
+    if (item)
+        item->type = cJSON_False;
+    return item;
+}
+cJSON *cJSON_CreateBool(int b) {
+    cJSON *item = cJSON_New_Item();
+    if (item)
+        item->type = b ? cJSON_True : cJSON_False;
+    return item;
+}
+cJSON *cJSON_CreateNumber(double num) {
+    cJSON *item = cJSON_New_Item();
+    if (item) {
+        item->type = cJSON_Number;
+        item->valuedouble = num;
+        item->valueint = (int)num;
+    }
+    return item;
+}
+cJSON *cJSON_CreateString(const char *string) {
+    cJSON *item = cJSON_New_Item();
+    if (item) {
+        item->type = cJSON_String;
+        item->valuestring = cJSON_strdup(string);
+    }
+    return item;
+}
+cJSON *cJSON_CreateArray(void) {
+    cJSON *item = cJSON_New_Item();
+    if (item)
+        item->type = cJSON_Array;
+    return item;
+}
+cJSON *cJSON_CreateObject(void) {
+    cJSON *item = cJSON_New_Item();
+    if (item)
+        item->type = cJSON_Object;
+    return item;
+}
 
 /* Create Arrays: */
-cJSON *cJSON_CreateIntArray(const int *numbers,int count)              {int i;cJSON *n=0,*p=0,*a=cJSON_CreateArray();for(i=0;a && i<count;i++){n=cJSON_CreateNumber(numbers[i]);if(!i)a->child=n;else suffix_object(p,n);p=n;}return a;}
-cJSON *cJSON_CreateFloatArray(const float *numbers,int count)  {int i;cJSON *n=0,*p=0,*a=cJSON_CreateArray();for(i=0;a && i<count;i++){n=cJSON_CreateNumber(numbers[i]);if(!i)a->child=n;else suffix_object(p,n);p=n;}return a;}
-cJSON *cJSON_CreateDoubleArray(const double *numbers,int count)        {int i;cJSON *n=0,*p=0,*a=cJSON_CreateArray();for(i=0;a && i<count;i++){n=cJSON_CreateNumber(numbers[i]);if(!i)a->child=n;else suffix_object(p,n);p=n;}return a;}
-cJSON *cJSON_CreateStringArray(const char **strings,int count) {int i;cJSON *n=0,*p=0,*a=cJSON_CreateArray();for(i=0;a && i<count;i++){n=cJSON_CreateString(strings[i]);if(!i)a->child=n;else suffix_object(p,n);p=n;}return a;}
+cJSON *cJSON_CreateIntArray(const int *numbers, int count) {
+    int i;
+    cJSON *n = 0, *p = 0, *a = cJSON_CreateArray();
+    for (i = 0; a && i < count; i++) {
+        n = cJSON_CreateNumber(numbers[i]);
+        if (!i)
+            a->child = n;
+        else
+            suffix_object(p, n);
+        p = n;
+    }
+    return a;
+}
+cJSON *cJSON_CreateFloatArray(const float *numbers, int count) {
+    int i;
+    cJSON *n = 0, *p = 0, *a = cJSON_CreateArray();
+    for (i = 0; a && i < count; i++) {
+        n = cJSON_CreateNumber(numbers[i]);
+        if (!i)
+            a->child = n;
+        else
+            suffix_object(p, n);
+        p = n;
+    }
+    return a;
+}
+cJSON *cJSON_CreateDoubleArray(const double *numbers, int count) {
+    int i;
+    cJSON *n = 0, *p = 0, *a = cJSON_CreateArray();
+    for (i = 0; a && i < count; i++) {
+        n = cJSON_CreateNumber(numbers[i]);
+        if (!i)
+            a->child = n;
+        else
+            suffix_object(p, n);
+        p = n;
+    }
+    return a;
+}
+cJSON *cJSON_CreateStringArray(const char **strings, int count) {
+    int i;
+    cJSON *n = 0, *p = 0, *a = cJSON_CreateArray();
+    for (i = 0; a && i < count; i++) {
+        n = cJSON_CreateString(strings[i]);
+        if (!i)
+            a->child = n;
+        else
+            suffix_object(p, n);
+        p = n;
+    }
+    return a;
+}
 
 /* Duplication */
-cJSON *cJSON_Duplicate(cJSON *item,int recurse)
-{
-       cJSON *newitem,*cptr,*nptr=0,*newchild;
-       /* Bail on bad ptr */
-       if (!item) return 0;
-       /* Create new item */
-       newitem=cJSON_New_Item();
-       if (!newitem) return 0;
-       /* Copy over all vars */
-       newitem->type=item->type&(~cJSON_IsReference),newitem->valueint=item->valueint,newitem->valuedouble=item->valuedouble;
-       if (item->valuestring)  {newitem->valuestring=cJSON_strdup(item->valuestring);  if (!newitem->valuestring)      {cJSON_Delete(newitem);return 0;}}
-       if (item->string)               {newitem->string=cJSON_strdup(item->string);                    if (!newitem->string)           {cJSON_Delete(newitem);return 0;}}
-       /* If non-recursive, then we're done! */
-       if (!recurse) return newitem;
-       /* Walk the ->next chain for the child. */
-       cptr=item->child;
-       while (cptr)
-       {
-               newchild=cJSON_Duplicate(cptr,1);               /* Duplicate (with recurse) each item in the ->next chain */
-               if (!newchild) {cJSON_Delete(newitem);return 0;}
-               if (nptr)       {nptr->next=newchild,newchild->prev=nptr;nptr=newchild;}        /* If newitem->child already set, then crosswire ->prev and ->next and move on */
-               else            {newitem->child=newchild;nptr=newchild;}                                        /* Set newitem->child and move to it */
-               cptr=cptr->next;
-       }
-       return newitem;
-}
-
-void cJSON_Minify(char *json)
-{
-       char *into=json;
-       while (*json)
-       {
-               if (*json==' ') json++;
-               else if (*json=='\t') json++;   /* Whitespace characters. */
-               else if (*json=='\r') json++;
-               else if (*json=='\n') json++;
-               else if (*json=='/' && json[1]=='/')  while (*json && *json!='\n') json++;      /* double-slash comments, to end of line. */
-               else if (*json=='/' && json[1]=='*') {while (*json && !(*json=='*' && json[1]=='/')) json++;json+=2;}   /* multiline comments. */
-               else if (*json=='\"'){*into++=*json++;while (*json && *json!='\"'){if (*json=='\\') *into++=*json++;*into++=*json++;}*into++=*json++;} /* string literals, which are \" sensitive. */
-               else *into++=*json++;                   /* All other characters. */
-       }
-       *into=0;        /* and null-terminate. */
+cJSON *cJSON_Duplicate(cJSON *item, int recurse) {
+    cJSON *newitem, *cptr, *nptr = 0, *newchild;
+    /* Bail on bad ptr */
+    if (!item)
+        return 0;
+    /* Create new item */
+    newitem = cJSON_New_Item();
+    if (!newitem)
+        return 0;
+    /* Copy over all vars */
+    newitem->type = item->type & (~cJSON_IsReference),
+    newitem->valueint = item->valueint,
+    newitem->valuedouble = item->valuedouble;
+    if (item->valuestring) {
+        newitem->valuestring = cJSON_strdup(item->valuestring);
+        if (!newitem->valuestring) {
+            cJSON_Delete(newitem);
+            return 0;
+        }
+    }
+    if (item->string) {
+        newitem->string = cJSON_strdup(item->string);
+        if (!newitem->string) {
+            cJSON_Delete(newitem);
+            return 0;
+        }
+    }
+    /* If non-recursive, then we're done! */
+    if (!recurse)
+        return newitem;
+    /* Walk the ->next chain for the child. */
+    cptr = item->child;
+    while (cptr) {
+        newchild = cJSON_Duplicate(
+            cptr,
+            1); /* Duplicate (with recurse) each item in the ->next chain */
+        if (!newchild) {
+            cJSON_Delete(newitem);
+            return 0;
+        }
+        if (nptr) {
+            nptr->next = newchild, newchild->prev = nptr;
+            nptr = newchild;
+        } /* If newitem->child already set, then crosswire ->prev and ->next and
+             move on */
+        else {
+            newitem->child = newchild;
+            nptr = newchild;
+        } /* Set newitem->child and move to it */
+        cptr = cptr->next;
+    }
+    return newitem;
+}
+
+void cJSON_Minify(char *json) {
+    char *into = json;
+    while (*json) {
+        if (*json == ' ')
+            json++;
+        else if (*json == '\t')
+            json++; /* Whitespace characters. */
+        else if (*json == '\r')
+            json++;
+        else if (*json == '\n')
+            json++;
+        else if (*json == '/' && json[1] == '/')
+            while (*json && *json != '\n')
+                json++; /* double-slash comments, to end of line. */
+        else if (*json == '/' && json[1] == '*') {
+            while (*json && !(*json == '*' && json[1] == '/'))
+                json++;
+            json += 2;
+        } /* multiline comments. */
+        else if (*json == '\"') {
+            *into++ = *json++;
+            while (*json && *json != '\"') {
+                if (*json == '\\')
+                    *into++ = *json++;
+                *into++ = *json++;
+            }
+            *into++ = *json++;
+        } /* string literals, which are \" sensitive. */
+        else
+            *into++ = *json++; /* All other characters. */
+    }
+    *into = 0; /* and null-terminate. */
 }
index 466d10d..e4c747c 100644 (file)
@@ -1,16 +1,19 @@
 /*
   Copyright (c) 2009 Dave Gamble
+  Copyright (c) 2015-2016 The Khronos Group Inc.
+  Copyright (c) 2015-2016 Valve Corporation
+  Copyright (c) 2015-2016 LunarG, Inc.
+
   Permission is hereby granted, free of charge, to any person obtaining a copy
   of this software and associated documentation files (the "Software"), to deal
   in the Software without restriction, including without limitation the rights
   to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
   copies of the Software, and to permit persons to whom the Software is
   furnished to do so, subject to the following conditions:
+
   The above copyright notice and this permission notice shall be included in
   all copies or substantial portions of the Software.
+
   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -24,8 +27,7 @@
 #define cJSON__h
 
 #ifdef __cplusplus
-extern "C"
-{
+extern "C" {
 #endif
 
 /* cJSON Types: */
@@ -36,54 +38,67 @@ extern "C"
 #define cJSON_String 4
 #define cJSON_Array 5
 #define cJSON_Object 6
-       
+
 #define cJSON_IsReference 256
 #define cJSON_StringIsConst 512
 
 /* The cJSON structure: */
 typedef struct cJSON {
-       struct cJSON *next,*prev;       /* next/prev allow you to walk array/object chains. Alternatively, use GetArraySize/GetArrayItem/GetObjectItem */
-       struct cJSON *child;            /* An array or object item will have a child pointer pointing to a chain of the items in the array/object. */
-
-       int type;                                       /* The type of the item, as above. */
-
-       char *valuestring;                      /* The item's string, if type==cJSON_String */
-       int valueint;                           /* The item's number, if type==cJSON_Number */
-       double valuedouble;                     /* The item's number, if type==cJSON_Number */
-
-       char *string;                           /* The item's name string, if this item is the child of, or is in the list of subitems of an object. */
+    struct cJSON *next, *prev; /* next/prev allow you to walk array/object
+                                  chains. Alternatively, use
+                                  GetArraySize/GetArrayItem/GetObjectItem */
+    struct cJSON *child; /* An array or object item will have a child pointer
+                            pointing to a chain of the items in the
+                            array/object. */
+
+    int type; /* The type of the item, as above. */
+
+    char *valuestring;  /* The item's string, if type==cJSON_String */
+    int valueint;       /* The item's number, if type==cJSON_Number */
+    double valuedouble; /* The item's number, if type==cJSON_Number */
+
+    char *
+        string; /* The item's name string, if this item is the child of, or is
+                   in the list of subitems of an object. */
 } cJSON;
 
 typedef struct cJSON_Hooks {
-      void *(*malloc_fn)(size_t sz);
-      void (*free_fn)(void *ptr);
+    void *(*malloc_fn)(size_t sz);
+    void (*free_fn)(void *ptr);
 } cJSON_Hooks;
 
 /* Supply malloc, realloc and free functions to cJSON */
-extern void cJSON_InitHooks(cJSON_Hooks* hooks);
-
+extern void cJSON_InitHooks(cJSON_Hooks *hooks);
 
-/* Supply a block of JSON, and this returns a cJSON object you can interrogate. Call cJSON_Delete when finished. */
+/* Supply a block of JSON, and this returns a cJSON object you can interrogate.
+ * Call cJSON_Delete when finished. */
 extern cJSON *cJSON_Parse(const char *value);
-/* Render a cJSON entity to text for transfer/storage. Free the char* when finished. */
-extern char  *cJSON_Print(cJSON *item);
-/* Render a cJSON entity to text for transfer/storage without any formatting. Free the char* when finished. */
-extern char  *cJSON_PrintUnformatted(cJSON *item);
-/* Render a cJSON entity to text using a buffered strategy. prebuffer is a guess at the final size. guessing well reduces reallocation. fmt=0 gives unformatted, =1 gives formatted */
-extern char *cJSON_PrintBuffered(cJSON *item,int prebuffer,int fmt);
+/* Render a cJSON entity to text for transfer/storage. Free the char* when
+ * finished. */
+extern char *cJSON_Print(cJSON *item);
+/* Render a cJSON entity to text for transfer/storage without any formatting.
+ * Free the char* when finished. */
+extern char *cJSON_PrintUnformatted(cJSON *item);
+/* Render a cJSON entity to text using a buffered strategy. prebuffer is a guess
+ * at the final size. guessing well reduces reallocation. fmt=0 gives
+ * unformatted, =1 gives formatted */
+extern char *cJSON_PrintBuffered(cJSON *item, int prebuffer, int fmt);
 /* Delete a cJSON entity and all subentities. */
-extern void   cJSON_Delete(cJSON *c);
+extern void cJSON_Delete(cJSON *c);
 
 /* Returns the number of items in an array (or object). */
-extern int       cJSON_GetArraySize(cJSON *array);
-/* Retrieve item number "item" from array "array". Returns NULL if unsuccessful. */
-extern cJSON *cJSON_GetArrayItem(cJSON *array,int item);
+extern int cJSON_GetArraySize(cJSON *array);
+/* Retrieve item number "item" from array "array". Returns NULL if unsuccessful.
+ */
+extern cJSON *cJSON_GetArrayItem(cJSON *array, int item);
 /* Get item "string" from object. Case insensitive. */
-extern cJSON *cJSON_GetObjectItem(cJSON *object,const char *string);
+extern cJSON *cJSON_GetObjectItem(cJSON *object, const char *string);
 
-/* For analysing failed parses. This returns a pointer to the parse error. You'll probably need to look a few chars back to make sense of it. Defined when cJSON_Parse() returns 0. 0 when cJSON_Parse() succeeds. */
+/* For analysing failed parses. This returns a pointer to the parse error.
+ * You'll probably need to look a few chars back to make sense of it. Defined
+ * when cJSON_Parse() returns 0. 0 when cJSON_Parse() succeeds. */
 extern const char *cJSON_GetErrorPtr(void);
-       
+
 /* These calls create a cJSON item of the appropriate type. */
 extern cJSON *cJSON_CreateNull(void);
 extern cJSON *cJSON_CreateTrue(void);
@@ -95,52 +110,77 @@ extern cJSON *cJSON_CreateArray(void);
 extern cJSON *cJSON_CreateObject(void);
 
 /* These utilities create an Array of count items. */
-extern cJSON *cJSON_CreateIntArray(const int *numbers,int count);
-extern cJSON *cJSON_CreateFloatArray(const float *numbers,int count);
-extern cJSON *cJSON_CreateDoubleArray(const double *numbers,int count);
-extern cJSON *cJSON_CreateStringArray(const char **strings,int count);
+extern cJSON *cJSON_CreateIntArray(const int *numbers, int count);
+extern cJSON *cJSON_CreateFloatArray(const float *numbers, int count);
+extern cJSON *cJSON_CreateDoubleArray(const double *numbers, int count);
+extern cJSON *cJSON_CreateStringArray(const char **strings, int count);
 
 /* Append item to the specified array/object. */
 extern void cJSON_AddItemToArray(cJSON *array, cJSON *item);
-extern void    cJSON_AddItemToObject(cJSON *object,const char *string,cJSON *item);
-extern void    cJSON_AddItemToObjectCS(cJSON *object,const char *string,cJSON *item);  /* Use this when string is definitely const (i.e. a literal, or as good as), and will definitely survive the cJSON object */
-/* Append reference to item to the specified array/object. Use this when you want to add an existing cJSON to a new cJSON, but don't want to corrupt your existing cJSON. */
+extern void cJSON_AddItemToObject(cJSON *object, const char *string,
+                                  cJSON *item);
+extern void cJSON_AddItemToObjectCS(
+    cJSON *object, const char *string,
+    cJSON *item); /* Use this when string is definitely const (i.e. a literal,
+                     or as good as), and will definitely survive the cJSON
+                     object */
+/* Append reference to item to the specified array/object. Use this when you
+ * want to add an existing cJSON to a new cJSON, but don't want to corrupt your
+ * existing cJSON. */
 extern void cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item);
-extern void    cJSON_AddItemReferenceToObject(cJSON *object,const char *string,cJSON *item);
+extern void cJSON_AddItemReferenceToObject(cJSON *object, const char *string,
+                                           cJSON *item);
 
 /* Remove/Detatch items from Arrays/Objects. */
-extern cJSON *cJSON_DetachItemFromArray(cJSON *array,int which);
-extern void   cJSON_DeleteItemFromArray(cJSON *array,int which);
-extern cJSON *cJSON_DetachItemFromObject(cJSON *object,const char *string);
-extern void   cJSON_DeleteItemFromObject(cJSON *object,const char *string);
-       
+extern cJSON *cJSON_DetachItemFromArray(cJSON *array, int which);
+extern void cJSON_DeleteItemFromArray(cJSON *array, int which);
+extern cJSON *cJSON_DetachItemFromObject(cJSON *object, const char *string);
+extern void cJSON_DeleteItemFromObject(cJSON *object, const char *string);
+
 /* Update array items. */
-extern void cJSON_InsertItemInArray(cJSON *array,int which,cJSON *newitem);    /* Shifts pre-existing items to the right. */
-extern void cJSON_ReplaceItemInArray(cJSON *array,int which,cJSON *newitem);
-extern void cJSON_ReplaceItemInObject(cJSON *object,const char *string,cJSON *newitem);
+extern void cJSON_InsertItemInArray(
+    cJSON *array, int which,
+    cJSON *newitem); /* Shifts pre-existing items to the right. */
+extern void cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem);
+extern void cJSON_ReplaceItemInObject(cJSON *object, const char *string,
+                                      cJSON *newitem);
 
 /* Duplicate a cJSON item */
-extern cJSON *cJSON_Duplicate(cJSON *item,int recurse);
-/* Duplicate will create a new, identical cJSON item to the one you pass, in new memory that will
-need to be released. With recurse!=0, it will duplicate any children connected to the item.
+extern cJSON *cJSON_Duplicate(cJSON *item, int recurse);
+/* Duplicate will create a new, identical cJSON item to the one you pass, in new
+memory that will
+need to be released. With recurse!=0, it will duplicate any children connected
+to the item.
 The item->next and ->prev pointers are always zero on return from Duplicate. */
 
-/* ParseWithOpts allows you to require (and check) that the JSON is null terminated, and to retrieve the pointer to the final byte parsed. */
-extern cJSON *cJSON_ParseWithOpts(const char *value,const char **return_parse_end,int require_null_terminated);
+/* ParseWithOpts allows you to require (and check) that the JSON is null
+ * terminated, and to retrieve the pointer to the final byte parsed. */
+extern cJSON *cJSON_ParseWithOpts(const char *value,
+                                  const char **return_parse_end,
+                                  int require_null_terminated);
 
 extern void cJSON_Minify(char *json);
 
 /* Macros for creating things quickly. */
-#define cJSON_AddNullToObject(object,name)             cJSON_AddItemToObject(object, name, cJSON_CreateNull())
-#define cJSON_AddTrueToObject(object,name)             cJSON_AddItemToObject(object, name, cJSON_CreateTrue())
-#define cJSON_AddFalseToObject(object,name)            cJSON_AddItemToObject(object, name, cJSON_CreateFalse())
-#define cJSON_AddBoolToObject(object,name,b)   cJSON_AddItemToObject(object, name, cJSON_CreateBool(b))
-#define cJSON_AddNumberToObject(object,name,n) cJSON_AddItemToObject(object, name, cJSON_CreateNumber(n))
-#define cJSON_AddStringToObject(object,name,s) cJSON_AddItemToObject(object, name, cJSON_CreateString(s))
-
-/* When assigning an integer value, it needs to be propagated to valuedouble too. */
-#define cJSON_SetIntValue(object,val)                  ((object)?(object)->valueint=(object)->valuedouble=(val):(val))
-#define cJSON_SetNumberValue(object,val)               ((object)?(object)->valueint=(object)->valuedouble=(val):(val))
+#define cJSON_AddNullToObject(object, name)                                    \
+    cJSON_AddItemToObject(object, name, cJSON_CreateNull())
+#define cJSON_AddTrueToObject(object, name)                                    \
+    cJSON_AddItemToObject(object, name, cJSON_CreateTrue())
+#define cJSON_AddFalseToObject(object, name)                                   \
+    cJSON_AddItemToObject(object, name, cJSON_CreateFalse())
+#define cJSON_AddBoolToObject(object, name, b)                                 \
+    cJSON_AddItemToObject(object, name, cJSON_CreateBool(b))
+#define cJSON_AddNumberToObject(object, name, n)                               \
+    cJSON_AddItemToObject(object, name, cJSON_CreateNumber(n))
+#define cJSON_AddStringToObject(object, name, s)                               \
+    cJSON_AddItemToObject(object, name, cJSON_CreateString(s))
+
+/* When assigning an integer value, it needs to be propagated to valuedouble
+ * too. */
+#define cJSON_SetIntValue(object, val)                                         \
+    ((object) ? (object)->valueint = (object)->valuedouble = (val) : (val))
+#define cJSON_SetNumberValue(object, val)                                      \
+    ((object) ? (object)->valueint = (object)->valuedouble = (val) : (val))
 
 #ifdef __cplusplus
 }
index 4345b4e..8c5d6c1 100644 (file)
@@ -1,27 +1,34 @@
 /*
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
+ * Copyright (C) 2015-2016 Google Inc.
  *
- * Copyright (C) 2015 Valve Corporation
- * Copyright (C) 2015 Google Inc.
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
  * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
+ * Author: Jon Ashburn <jon@LunarG.com>
  *
  */
 
 #include "debug_report.h"
 #include "vulkan/vk_layer.h"
 
-typedef void (VKAPI_PTR *PFN_stringCallback)(char *message);
+typedef void(VKAPI_PTR *PFN_stringCallback)(char *message);
 
 static const VkExtensionProperties debug_report_extension_info = {
-        .extensionName = VK_EXT_DEBUG_REPORT_EXTENSION_NAME,
-        .specVersion = VK_EXT_DEBUG_REPORT_SPEC_VERSION,
+    .extensionName = VK_EXT_DEBUG_REPORT_EXTENSION_NAME,
+    .specVersion = VK_EXT_DEBUG_REPORT_SPEC_VERSION,
 };
 
 void debug_report_add_instance_extensions(
-        const struct loader_instance *inst,
-        struct loader_extension_list *ext_list)
-{
+    const struct loader_instance *inst,
+    struct loader_extension_list *ext_list) {
     loader_add_to_ext_list(inst, ext_list, 1, &debug_report_extension_info);
 }
 
-void debug_report_create_instance(
-        struct loader_instance *ptr_instance,
-        const VkInstanceCreateInfo *pCreateInfo)
-{
+void debug_report_create_instance(struct loader_instance *ptr_instance,
+                                  const VkInstanceCreateInfo *pCreateInfo) {
     ptr_instance->debug_report_enabled = false;
 
     for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
-        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_EXT_DEBUG_REPORT_EXTENSION_NAME) == 0) {
+        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
+                   VK_EXT_DEBUG_REPORT_EXTENSION_NAME) == 0) {
             ptr_instance->debug_report_enabled = true;
             return;
         }
     }
 }
 
-VkResult util_CreateDebugReportCallback(
-        struct loader_instance *inst,
-        VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
-        const VkAllocationCallbacks *pAllocator,
-        VkDebugReportCallbackEXT callback)
-{
+VkResult
+util_CreateDebugReportCallback(struct loader_instance *inst,
+                               VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
+                               const VkAllocationCallbacks *pAllocator,
+                               VkDebugReportCallbackEXT callback) {
     VkLayerDbgFunctionNode *pNewDbgFuncNode;
     if (pAllocator != NULL) {
-        pNewDbgFuncNode = (VkLayerDbgFunctionNode *) pAllocator->pfnAllocation(pAllocator->pUserData, sizeof(VkLayerDbgFunctionNode), sizeof(int *), VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        pNewDbgFuncNode = (VkLayerDbgFunctionNode *)pAllocator->pfnAllocation(
+            pAllocator->pUserData, sizeof(VkLayerDbgFunctionNode),
+            sizeof(int *), VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     } else {
-        pNewDbgFuncNode = (VkLayerDbgFunctionNode *) loader_heap_alloc(inst, sizeof(VkLayerDbgFunctionNode), VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
+        pNewDbgFuncNode = (VkLayerDbgFunctionNode *)loader_heap_alloc(
+            inst, sizeof(VkLayerDbgFunctionNode),
+            VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
     }
     if (!pNewDbgFuncNode)
         return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -92,43 +100,34 @@ VkResult util_CreateDebugReportCallback(
 }
 
 static VKAPI_ATTR VkResult VKAPI_CALL debug_report_CreateDebugReportCallback(
-        VkInstance instance,
-        VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
-        VkAllocationCallbacks *pAllocator,
-        VkDebugReportCallbackEXT* pCallback)
-{
+    VkInstance instance, VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
+    VkAllocationCallbacks *pAllocator, VkDebugReportCallbackEXT *pCallback) {
     struct loader_instance *inst = loader_get_instance(instance);
     loader_platform_thread_lock_mutex(&loader_lock);
-    VkResult result = inst->disp->CreateDebugReportCallbackEXT(instance, pCreateInfo, pAllocator, pCallback);
+    VkResult result = inst->disp->CreateDebugReportCallbackEXT(
+        instance, pCreateInfo, pAllocator, pCallback);
     if (result == VK_SUCCESS) {
-        result = util_CreateDebugReportCallback(inst, pCreateInfo, pAllocator, *pCallback);
+        result = util_CreateDebugReportCallback(inst, pCreateInfo, pAllocator,
+                                                *pCallback);
     }
     loader_platform_thread_unlock_mutex(&loader_lock);
     return result;
 }
 
 // Utility function to handle reporting
-VkBool32 util_DebugReportMessage(
-    const struct loader_instance*       inst,
-    VkFlags                             msgFlags,
-    VkDebugReportObjectTypeEXT          objectType,
-    uint64_t                            srcObject,
-    size_t                              location,
-    int32_t                             msgCode,
-    const char*                         pLayerPrefix,
-    const char*                         pMsg)
-{
+VkBool32 util_DebugReportMessage(const struct loader_instance *inst,
+                                 VkFlags msgFlags,
+                                 VkDebugReportObjectTypeEXT objectType,
+                                 uint64_t srcObject, size_t location,
+                                 int32_t msgCode, const char *pLayerPrefix,
+                                 const char *pMsg) {
     VkBool32 bail = false;
     VkLayerDbgFunctionNode *pTrav = inst->DbgFunctionHead;
     while (pTrav) {
         if (pTrav->msgFlags & msgFlags) {
-            if (pTrav->pfnMsgCallback(msgFlags,
-                                  objectType, srcObject,
-                                  location,
-                                  msgCode,
-                                  pLayerPrefix,
-                                  pMsg,
-                                  pTrav->pUserData)) {
+            if (pTrav->pfnMsgCallback(msgFlags, objectType, srcObject, location,
+                                      msgCode, pLayerPrefix, pMsg,
+                                      pTrav->pUserData)) {
                 bail = true;
             }
         }
@@ -138,11 +137,9 @@ VkBool32 util_DebugReportMessage(
     return bail;
 }
 
-void util_DestroyDebugReportCallback(
-        struct loader_instance *inst,
-        VkDebugReportCallbackEXT callback,
-        const VkAllocationCallbacks *pAllocator)
-{
+void util_DestroyDebugReportCallback(struct loader_instance *inst,
+                                     VkDebugReportCallbackEXT callback,
+                                     const VkAllocationCallbacks *pAllocator) {
     VkLayerDbgFunctionNode *pTrav = inst->DbgFunctionHead;
     VkLayerDbgFunctionNode *pPrev = pTrav;
 
@@ -163,11 +160,10 @@ void util_DestroyDebugReportCallback(
     }
 }
 
-static VKAPI_ATTR void VKAPI_CALL debug_report_DestroyDebugReportCallback(
-        VkInstance instance,
-        VkDebugReportCallbackEXT callback,
-        VkAllocationCallbacks *pAllocator)
-{
+static VKAPI_ATTR void VKAPI_CALL
+debug_report_DestroyDebugReportCallback(VkInstance instance,
+                                        VkDebugReportCallbackEXT callback,
+                                        VkAllocationCallbacks *pAllocator) {
     struct loader_instance *inst = loader_get_instance(instance);
     loader_platform_thread_lock_mutex(&loader_lock);
 
@@ -179,19 +175,13 @@ static VKAPI_ATTR void VKAPI_CALL debug_report_DestroyDebugReportCallback(
 }
 
 static VKAPI_ATTR void VKAPI_CALL debug_report_DebugReportMessage(
-        VkInstance                                  instance,
-        VkDebugReportFlagsEXT                       flags,
-        VkDebugReportObjectTypeEXT                  objType,
-        uint64_t                                    object,
-        size_t                                      location,
-        int32_t                                     msgCode,
-        const char*                                 pLayerPrefix,
-        const char*                                 pMsg)
-{
+    VkInstance instance, VkDebugReportFlagsEXT flags,
+    VkDebugReportObjectTypeEXT objType, uint64_t object, size_t location,
+    int32_t msgCode, const char *pLayerPrefix, const char *pMsg) {
     struct loader_instance *inst = loader_get_instance(instance);
 
-    inst->disp->DebugReportMessageEXT(instance, flags, objType, object, location, msgCode, pLayerPrefix, pMsg);
-
+    inst->disp->DebugReportMessageEXT(instance, flags, objType, object,
+                                      location, msgCode, pLayerPrefix, pMsg);
 }
 
 /*
@@ -200,14 +190,12 @@ static VKAPI_ATTR void VKAPI_CALL debug_report_DebugReportMessage(
  */
 
 VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDebugReportCallback(
-        VkInstance                                      instance,
-        const VkDebugReportCallbackCreateInfoEXT        *pCreateInfo,
-        const VkAllocationCallbacks                     *pAllocator,
-        VkDebugReportCallbackEXT                        *pCallback)
-{
+    VkInstance instance, const VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
+    const VkAllocationCallbacks *pAllocator,
+    VkDebugReportCallbackEXT *pCallback) {
     VkDebugReportCallbackEXT *icd_info;
     const struct loader_icd *icd;
-    struct loader_instance *inst = (struct loader_instance *) instance;
+    struct loader_instance *inst = (struct loader_instance *)instance;
     VkResult res;
     uint32_t storage_idx;
 
@@ -223,10 +211,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDebugReportCallback(
         }
 
         res = icd->CreateDebugReportCallbackEXT(
-                    icd->instance,
-                    pCreateInfo,
-                    pAllocator,
-                    &icd_info[storage_idx]);
+            icd->instance, pCreateInfo, pAllocator, &icd_info[storage_idx]);
 
         if (res != VK_SUCCESS) {
             break;
@@ -240,9 +225,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDebugReportCallback(
         for (icd = inst->icds; icd; icd = icd->next) {
             if (icd_info[storage_idx]) {
                 icd->DestroyDebugReportCallbackEXT(
-                      icd->instance,
-                      icd_info[storage_idx],
-                      pAllocator);
+                    icd->instance, icd_info[storage_idx], pAllocator);
             }
             storage_idx++;
         }
@@ -259,83 +242,81 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDebugReportCallback(
  * This is the instance chain terminator function
  * for DestroyDebugReportCallback
  */
-VKAPI_ATTR void VKAPI_CALL loader_DestroyDebugReportCallback(VkInstance instance,
-        VkDebugReportCallbackEXT callback, const VkAllocationCallbacks *pAllocator)
-{
+VKAPI_ATTR void VKAPI_CALL
+loader_DestroyDebugReportCallback(VkInstance instance,
+                                  VkDebugReportCallbackEXT callback,
+                                  const VkAllocationCallbacks *pAllocator) {
     uint32_t storage_idx;
     VkDebugReportCallbackEXT *icd_info;
     const struct loader_icd *icd;
 
-    struct loader_instance *inst = (struct loader_instance *) instance;
-    icd_info = *(VkDebugReportCallbackEXT **) &callback;
+    struct loader_instance *inst = (struct loader_instance *)instance;
+    icd_info = *(VkDebugReportCallbackEXT **)&callback;
     storage_idx = 0;
     for (icd = inst->icds; icd; icd = icd->next) {
         if (icd_info[storage_idx]) {
             icd->DestroyDebugReportCallbackEXT(
-                  icd->instance,
-                  icd_info[storage_idx],
-                  pAllocator);
+                icd->instance, icd_info[storage_idx], pAllocator);
         }
         storage_idx++;
     }
 }
 
-
 /*
  * This is the instance chain terminator function
  * for DebugReportMessage
  */
-VKAPI_ATTR void VKAPI_CALL loader_DebugReportMessage(
-        VkInstance                                  instance,
-        VkDebugReportFlagsEXT                       flags,
-        VkDebugReportObjectTypeEXT                  objType,
-        uint64_t                                    object,
-        size_t                                      location,
-        int32_t                                     msgCode,
-        const char*                                 pLayerPrefix,
-        const char*                                 pMsg)
-{
+VKAPI_ATTR void VKAPI_CALL
+loader_DebugReportMessage(VkInstance instance, VkDebugReportFlagsEXT flags,
+                          VkDebugReportObjectTypeEXT objType, uint64_t object,
+                          size_t location, int32_t msgCode,
+                          const char *pLayerPrefix, const char *pMsg) {
     const struct loader_icd *icd;
 
-
-    struct loader_instance *inst = (struct loader_instance *) instance;
+    struct loader_instance *inst = (struct loader_instance *)instance;
 
     loader_platform_thread_lock_mutex(&loader_lock);
     for (icd = inst->icds; icd; icd = icd->next) {
         if (icd->DebugReportMessageEXT != NULL) {
-            icd->DebugReportMessageEXT(icd->instance, flags, objType, object, location, msgCode, pLayerPrefix, pMsg);
+            icd->DebugReportMessageEXT(icd->instance, flags, objType, object,
+                                       location, msgCode, pLayerPrefix, pMsg);
         }
     }
 
     /*
      * Now that all ICDs have seen the message, call the necessary callbacks.
-     * Ignoring "bail" return value as there is nothing to bail from at this point.
+     * Ignoring "bail" return value as there is nothing to bail from at this
+     * point.
      */
 
-    util_DebugReportMessage(inst, flags, objType, object, location, msgCode, pLayerPrefix, pMsg);
+    util_DebugReportMessage(inst, flags, objType, object, location, msgCode,
+                            pLayerPrefix, pMsg);
 
     loader_platform_thread_unlock_mutex(&loader_lock);
 }
 
-bool debug_report_instance_gpa(
-        struct loader_instance *ptr_instance,
-        const char* name,
-        void **addr)
-{
+bool debug_report_instance_gpa(struct loader_instance *ptr_instance,
+                               const char *name, void **addr) {
     // debug_report is currently advertised to be supported by the loader,
     // so always return the entry points if name matches and it's enabled
     *addr = NULL;
 
     if (!strcmp("vkCreateDebugReportCallbackEXT", name)) {
-        *addr = ptr_instance->debug_report_enabled ? (void *) debug_report_CreateDebugReportCallback : NULL;
+        *addr = ptr_instance->debug_report_enabled
+                    ? (void *)debug_report_CreateDebugReportCallback
+                    : NULL;
         return true;
     }
     if (!strcmp("vkDestroyDebugReportCallbackEXT", name)) {
-        *addr = ptr_instance->debug_report_enabled ? (void *) debug_report_DestroyDebugReportCallback : NULL;
+        *addr = ptr_instance->debug_report_enabled
+                    ? (void *)debug_report_DestroyDebugReportCallback
+                    : NULL;
         return true;
     }
     if (!strcmp("vkDebugReportMessageEXT", name)) {
-        *addr = ptr_instance->debug_report_enabled ? (void *) debug_report_DebugReportMessage : NULL;
+        *addr = ptr_instance->debug_report_enabled
+                    ? (void *)debug_report_DebugReportMessage
+                    : NULL;
         return true;
     }
     return false;
index a314fb1..a03efcf 100644 (file)
@@ -1,25 +1,31 @@
 /*
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
+ * Copyright (C) 2015-2016 Google Inc.
  *
- * Copyright (C) 2015 Valve Corporation
- * Copyright (C) 2015 Google Inc.
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
  * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
  * Author: Jon Ashburn <jon@lunarg.com>
 #include "vk_loader_platform.h"
 #include "loader.h"
 #include "vulkan/vk_ext_debug_report.h"
-    /*
-     * CreateMsgCallback is global and needs to be
-     * applied to all layers and ICDs.
-     * What happens if a layer is enabled on both the instance chain
-     * as well as the device chain and a call to CreateMsgCallback is made?
-     * Do we need to make sure that each layer / driver only gets called once?
-     * Should a layer implementing support for CreateMsgCallback only be allowed (?)
-     * to live on one chain? Or maybe make it the application's responsibility.
-     * If the app enables DRAW_STATE on at both CreateInstance time and CreateDevice
-     * time, CreateMsgCallback will call the DRAW_STATE layer twice. Once via
-     * the instance chain and once via the device chain.
-     * The loader should only return the DEBUG_REPORT extension as supported
-     * for the GetGlobalExtensionSupport call. That should help eliminate one
-     * duplication.
-     * Since the instance chain requires us iterating over the available ICDs
-     * and each ICD will have it's own unique MsgCallback object we need to
-     * track those objects to give back the right one.
-     * This also implies that the loader has to intercept vkDestroyObject and
-     * if the extension is enabled and the object type is a MsgCallback then
-     * we must translate the object into the proper ICD specific ones.
-     * DestroyObject works on a device chain. Should not be what's destroying
-     * the MsgCallback object. That needs to be an instance thing. So, since
-     * we used an instance to create it, we need a custom Destroy that also
-     * takes an instance. That way we can iterate over the ICDs properly.
-     * Example use:
-     * CreateInstance: DEBUG_REPORT
-     *   Loader will create instance chain with enabled extensions.
-     *   TODO: Should validation layers be enabled here? If not, they will not be in the instance chain.
-     * fn = GetProcAddr(INSTANCE, "vkCreateMsgCallback") -> point to loader's vkCreateMsgCallback
-     * App creates a callback object: fn(..., &MsgCallbackObject1)
-     * Have only established the instance chain so far. Loader will call the instance chain.
-     * Each layer in the instance chain will call down to the next layer, terminating with
-     * the CreateMsgCallback loader terminator function that creates the actual MsgCallbackObject1 object.
-     * The loader CreateMsgCallback terminator will iterate over the ICDs.
-     * Calling each ICD that supports vkCreateMsgCallback and collect answers in icd_msg_callback_map here.
-     * As result is sent back up the chain each layer has opportunity to record the callback operation and
-     * appropriate MsgCallback object.
-     * ...
-     * Any reports matching the flags set in MsgCallbackObject1 will generate the defined callback behavior
-     * in the layer / ICD that initiated that report.
-     * ...
-     * CreateDevice: MemTracker:...
-     * App does not include DEBUG_REPORT as that is a global extension.
-     * TODO: GetExtensionSupport must not report DEBUG_REPORT when using instance.
-     * App MUST include any desired validation layers or they will not participate in the device call chain.
-     * App creates a callback object: fn(..., &MsgCallbackObject2)
-     * Loader's vkCreateMsgCallback is called.
-     * Loader sends call down instance chain - this is a global extension - any validation layer that was
-     * enabled at CreateInstance will be able to register the callback. Loader will iterate over the ICDs and
-     * will record the ICD's version of the MsgCallback2 object here.
-     * ...
-     * Any report will go to the layer's report function and it will check the flags for MsgCallbackObject1
-     * and MsgCallbackObject2 and take the appropriate action as indicated by the app.
-     * ...
-     * App calls vkDestroyMsgCallback( MsgCallbackObject1 )
-     * Loader's DestroyMsgCallback is where call starts. DestroyMsgCallback will be sent down instance chain
-     * ending in the loader's DestroyMsgCallback terminator which will iterate over the ICD's destroying each
-     * ICD version of that MsgCallback object and then destroy the loader's version of the object.
-     * Any reports generated after this will only have MsgCallbackObject2 available.
-     */
+/*
+ * CreateMsgCallback is global and needs to be
+ * applied to all layers and ICDs.
+ * What happens if a layer is enabled on both the instance chain
+ * as well as the device chain and a call to CreateMsgCallback is made?
+ * Do we need to make sure that each layer / driver only gets called once?
+ * Should a layer implementing support for CreateMsgCallback only be allowed (?)
+ * to live on one chain? Or maybe make it the application's responsibility.
+ * If the app enables DRAW_STATE on at both CreateInstance time and CreateDevice
+ * time, CreateMsgCallback will call the DRAW_STATE layer twice. Once via
+ * the instance chain and once via the device chain.
+ * The loader should only return the DEBUG_REPORT extension as supported
+ * for the GetGlobalExtensionSupport call. That should help eliminate one
+ * duplication.
+ * Since the instance chain requires us iterating over the available ICDs
+ * and each ICD will have it's own unique MsgCallback object we need to
+ * track those objects to give back the right one.
+ * This also implies that the loader has to intercept vkDestroyObject and
+ * if the extension is enabled and the object type is a MsgCallback then
+ * we must translate the object into the proper ICD specific ones.
+ * DestroyObject works on a device chain. Should not be what's destroying
+ * the MsgCallback object. That needs to be an instance thing. So, since
+ * we used an instance to create it, we need a custom Destroy that also
+ * takes an instance. That way we can iterate over the ICDs properly.
+ * Example use:
+ * CreateInstance: DEBUG_REPORT
+ *   Loader will create instance chain with enabled extensions.
+ *   TODO: Should validation layers be enabled here? If not, they will not be in
+ * the instance chain.
+ * fn = GetProcAddr(INSTANCE, "vkCreateMsgCallback") -> point to loader's
+ * vkCreateMsgCallback
+ * App creates a callback object: fn(..., &MsgCallbackObject1)
+ * Have only established the instance chain so far. Loader will call the
+ * instance chain.
+ * Each layer in the instance chain will call down to the next layer,
+ * terminating with
+ * the CreateMsgCallback loader terminator function that creates the actual
+ * MsgCallbackObject1 object.
+ * The loader CreateMsgCallback terminator will iterate over the ICDs.
+ * Calling each ICD that supports vkCreateMsgCallback and collect answers in
+ * icd_msg_callback_map here.
+ * As result is sent back up the chain each layer has opportunity to record the
+ * callback operation and
+ * appropriate MsgCallback object.
+ * ...
+ * Any reports matching the flags set in MsgCallbackObject1 will generate the
+ * defined callback behavior
+ * in the layer / ICD that initiated that report.
+ * ...
+ * CreateDevice: MemTracker:...
+ * App does not include DEBUG_REPORT as that is a global extension.
+ * TODO: GetExtensionSupport must not report DEBUG_REPORT when using instance.
+ * App MUST include any desired validation layers or they will not participate
+ * in the device call chain.
+ * App creates a callback object: fn(..., &MsgCallbackObject2)
+ * Loader's vkCreateMsgCallback is called.
+ * Loader sends call down instance chain - this is a global extension - any
+ * validation layer that was
+ * enabled at CreateInstance will be able to register the callback. Loader will
+ * iterate over the ICDs and
+ * will record the ICD's version of the MsgCallback2 object here.
+ * ...
+ * Any report will go to the layer's report function and it will check the flags
+ * for MsgCallbackObject1
+ * and MsgCallbackObject2 and take the appropriate action as indicated by the
+ * app.
+ * ...
+ * App calls vkDestroyMsgCallback( MsgCallbackObject1 )
+ * Loader's DestroyMsgCallback is where call starts. DestroyMsgCallback will be
+ * sent down instance chain
+ * ending in the loader's DestroyMsgCallback terminator which will iterate over
+ * the ICD's destroying each
+ * ICD version of that MsgCallback object and then destroy the loader's version
+ * of the object.
+ * Any reports generated after this will only have MsgCallbackObject2 available.
+ */
 
 void debug_report_add_instance_extensions(
-        const struct loader_instance *inst,
-        struct loader_extension_list *ext_list);
+    const struct loader_instance *inst, struct loader_extension_list *ext_list);
 
-void debug_report_create_instance(
-        struct loader_instance *ptr_instance,
-        const VkInstanceCreateInfo *pCreateInfo);
+void debug_report_create_instance(struct loader_instance *ptr_instance,
+                                  const VkInstanceCreateInfo *pCreateInfo);
 
-bool debug_report_instance_gpa(
-        struct loader_instance *ptr_instance,
-        const char* name,
-        void **addr);
+bool debug_report_instance_gpa(struct loader_instance *ptr_instance,
+                               const char *name, void **addr);
 
 VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDebugReportCallback(
-        VkInstance                                      instance,
-        const VkDebugReportCallbackCreateInfoEXT       *pCreateInfo,
-        const VkAllocationCallbacks                    *pAllocator,
-        VkDebugReportCallbackEXT                       *pCallback);
+    VkInstance instance, const VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
+    const VkAllocationCallbacks *pAllocator,
+    VkDebugReportCallbackEXT *pCallback);
 
-VKAPI_ATTR void VKAPI_CALL loader_DestroyDebugReportCallback(
-    VkInstance                                 instance,
-    VkDebugReportCallbackEXT                   callback,
-    const VkAllocationCallbacks               *pAllocator);
+VKAPI_ATTR void VKAPI_CALL
+loader_DestroyDebugReportCallback(VkInstance instance,
+                                  VkDebugReportCallbackEXT callback,
+                                  const VkAllocationCallbacks *pAllocator);
 
-VKAPI_ATTR void VKAPI_CALL loader_DebugReportMessage(
-    VkInstance                                  instance,
-    VkDebugReportFlagsEXT                       flags,
-    VkDebugReportObjectTypeEXT                  objType,
-    uint64_t                                    object,
-    size_t                                      location,
-    int32_t                                     msgCode,
-    const char*                                 pLayerPrefix,
-    const char*                                 pMsg);
+VKAPI_ATTR void VKAPI_CALL
+loader_DebugReportMessage(VkInstance instance, VkDebugReportFlagsEXT flags,
+                          VkDebugReportObjectTypeEXT objType, uint64_t object,
+                          size_t location, int32_t msgCode,
+                          const char *pLayerPrefix, const char *pMsg);
 
-VkResult util_CreateDebugReportCallback(
-        struct loader_instance *inst,
-        VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
-        const VkAllocationCallbacks *pAllocator,
-        VkDebugReportCallbackEXT callback);
+VkResult
+util_CreateDebugReportCallback(struct loader_instance *inst,
+                               VkDebugReportCallbackCreateInfoEXT *pCreateInfo,
+                               const VkAllocationCallbacks *pAllocator,
+                               VkDebugReportCallbackEXT callback);
 
-void util_DestroyDebugReportCallback(
-        struct loader_instance *inst,
-        VkDebugReportCallbackEXT callback,
-        const VkAllocationCallbacks *pAllocator);
+void util_DestroyDebugReportCallback(struct loader_instance *inst,
+                                     VkDebugReportCallbackEXT callback,
+                                     const VkAllocationCallbacks *pAllocator);
 
-VkBool32 util_DebugReportMessage(
-    const struct loader_instance*       inst,
-    VkFlags                             msgFlags,
-    VkDebugReportObjectTypeEXT          objectType,
-    uint64_t                            srcObject,
-    size_t                              location,
-    int32_t                             msgCode,
-    const char*                         pLayerPrefix,
-    const char*                         pMsg);
+VkBool32 util_DebugReportMessage(const struct loader_instance *inst,
+                                 VkFlags msgFlags,
+                                 VkDebugReportObjectTypeEXT objectType,
+                                 uint64_t srcObject, size_t location,
+                                 int32_t msgCode, const char *pLayerPrefix,
+                                 const char *pMsg);
index f233340..d559cec 100644 (file)
@@ -1,27 +1,30 @@
-/* THIS FILE IS GENERATED.  DO NOT EDIT. */
-
 /*
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
  *
- * Copyright (C) 2015 Valve Corporation
- * All Rights Reserved.
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
  * Author: Jon Ashburn <jon@lunarg.com>
  */
 #include "vk_loader_platform.h"
 #include "loader.h"
 #if defined(__linux__)
-#pragma GCC optimize(3)  // force gcc to use tail-calls
+#pragma GCC optimize(3) // force gcc to use tail-calls
 #endif
 
-
-VKAPI_ATTR void VKAPI_CALL vkDevExt0(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt0(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[0](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt1(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt1(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[1](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt2(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt2(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[2](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt3(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt3(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[3](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt4(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt4(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[4](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt5(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt5(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[5](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt6(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt6(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[6](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt7(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt7(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[7](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt8(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt8(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[8](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt9(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt9(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[9](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt10(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt10(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[10](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt11(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt11(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[11](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt12(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt12(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[12](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt13(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt13(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[13](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt14(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt14(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[14](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt15(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt15(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[15](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt16(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt16(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[16](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt17(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt17(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[17](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt18(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt18(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[18](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt19(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt19(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[19](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt20(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt20(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[20](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt21(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt21(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[21](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt22(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt22(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[22](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt23(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt23(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[23](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt24(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt24(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[24](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt25(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt25(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[25](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt26(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt26(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[26](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt27(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt27(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[27](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt28(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt28(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[28](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt29(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt29(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[29](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt30(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt30(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[30](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt31(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt31(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[31](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt32(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt32(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[32](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt33(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt33(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[33](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt34(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt34(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[34](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt35(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt35(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[35](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt36(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt36(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[36](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt37(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt37(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[37](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt38(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt38(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[38](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt39(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt39(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[39](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt40(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt40(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[40](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt41(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt41(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[41](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt42(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt42(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[42](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt43(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt43(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[43](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt44(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt44(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[44](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt45(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt45(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[45](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt46(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt46(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[46](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt47(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt47(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[47](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt48(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt48(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[48](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt49(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt49(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[49](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt50(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt50(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[50](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt51(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt51(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[51](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt52(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt52(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[52](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt53(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt53(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[53](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt54(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt54(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[54](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt55(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt55(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[55](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt56(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt56(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[56](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt57(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt57(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[57](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt58(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt58(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[58](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt59(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt59(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[59](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt60(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt60(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[60](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt61(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt61(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[61](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt62(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt62(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[62](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt63(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt63(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[63](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt64(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt64(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[64](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt65(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt65(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[65](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt66(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt66(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[66](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt67(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt67(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[67](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt68(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt68(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[68](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt69(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt69(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[69](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt70(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt70(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[70](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt71(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt71(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[71](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt72(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt72(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[72](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt73(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt73(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[73](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt74(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt74(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[74](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt75(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt75(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[75](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt76(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt76(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[76](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt77(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt77(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[77](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt78(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt78(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[78](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt79(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt79(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[79](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt80(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt80(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[80](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt81(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt81(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[81](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt82(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt82(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[82](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt83(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt83(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[83](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt84(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt84(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[84](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt85(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt85(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[85](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt86(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt86(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[86](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt87(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt87(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[87](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt88(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt88(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[88](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt89(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt89(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[89](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt90(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt90(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[90](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt91(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt91(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[91](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt92(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt92(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[92](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt93(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt93(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[93](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt94(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt94(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[94](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt95(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt95(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[95](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt96(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt96(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[96](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt97(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt97(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[97](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt98(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt98(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[98](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt99(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt99(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[99](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt100(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt100(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[100](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt101(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt101(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[101](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt102(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt102(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[102](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt103(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt103(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[103](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt104(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt104(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[104](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt105(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt105(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[105](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt106(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt106(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[106](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt107(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt107(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[107](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt108(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt108(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[108](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt109(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt109(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[109](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt110(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt110(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[110](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt111(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt111(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[111](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt112(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt112(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[112](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt113(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt113(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[113](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt114(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt114(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[114](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt115(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt115(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[115](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt116(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt116(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[116](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt117(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt117(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[117](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt118(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt118(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[118](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt119(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt119(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[119](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt120(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt120(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[120](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt121(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt121(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[121](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt122(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt122(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[122](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt123(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt123(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[123](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt124(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt124(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[124](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt125(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt125(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[125](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt126(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt126(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[126](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt127(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt127(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[127](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt128(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt128(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[128](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt129(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt129(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[129](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt130(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt130(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[130](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt131(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt131(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[131](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt132(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt132(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[132](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt133(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt133(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[133](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt134(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt134(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[134](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt135(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt135(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[135](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt136(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt136(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[136](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt137(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt137(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[137](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt138(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt138(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[138](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt139(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt139(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[139](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt140(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt140(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[140](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt141(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt141(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[141](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt142(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt142(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[142](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt143(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt143(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[143](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt144(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt144(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[144](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt145(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt145(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[145](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt146(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt146(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[146](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt147(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt147(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[147](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt148(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt148(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[148](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt149(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt149(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[149](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt150(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt150(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[150](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt151(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt151(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[151](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt152(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt152(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[152](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt153(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt153(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[153](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt154(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt154(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[154](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt155(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt155(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[155](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt156(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt156(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[156](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt157(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt157(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[157](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt158(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt158(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[158](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt159(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt159(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[159](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt160(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt160(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[160](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt161(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt161(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[161](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt162(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt162(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[162](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt163(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt163(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[163](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt164(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt164(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[164](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt165(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt165(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[165](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt166(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt166(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[166](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt167(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt167(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[167](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt168(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt168(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[168](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt169(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt169(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[169](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt170(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt170(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[170](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt171(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt171(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[171](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt172(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt172(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[172](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt173(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt173(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[173](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt174(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt174(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[174](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt175(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt175(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[175](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt176(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt176(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[176](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt177(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt177(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[177](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt178(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt178(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[178](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt179(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt179(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[179](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt180(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt180(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[180](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt181(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt181(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[181](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt182(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt182(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[182](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt183(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt183(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[183](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt184(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt184(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[184](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt185(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt185(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[185](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt186(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt186(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[186](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt187(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt187(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[187](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt188(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt188(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[188](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt189(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt189(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[189](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt190(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt190(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[190](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt191(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt191(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[191](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt192(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt192(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[192](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt193(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt193(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[193](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt194(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt194(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[194](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt195(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt195(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[195](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt196(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt196(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[196](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt197(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt197(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[197](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt198(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt198(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[198](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt199(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt199(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[199](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt200(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt200(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[200](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt201(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt201(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[201](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt202(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt202(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[202](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt203(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt203(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[203](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt204(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt204(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[204](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt205(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt205(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[205](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt206(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt206(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[206](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt207(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt207(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[207](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt208(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt208(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[208](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt209(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt209(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[209](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt210(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt210(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[210](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt211(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt211(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[211](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt212(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt212(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[212](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt213(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt213(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[213](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt214(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt214(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[214](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt215(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt215(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[215](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt216(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt216(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[216](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt217(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt217(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[217](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt218(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt218(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[218](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt219(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt219(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[219](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt220(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt220(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[220](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt221(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt221(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[221](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt222(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt222(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[222](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt223(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt223(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[223](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt224(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt224(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[224](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt225(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt225(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[225](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt226(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt226(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[226](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt227(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt227(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[227](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt228(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt228(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[228](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt229(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt229(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[229](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt230(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt230(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[230](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt231(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt231(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[231](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt232(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt232(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[232](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt233(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt233(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[233](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt234(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt234(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[234](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt235(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt235(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[235](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt236(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt236(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[236](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt237(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt237(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[237](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt238(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt238(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[238](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt239(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt239(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[239](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt240(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt240(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[240](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt241(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt241(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[241](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt242(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt242(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[242](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt243(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt243(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[243](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt244(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt244(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[244](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt245(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt245(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[245](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt246(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt246(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[246](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt247(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt247(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[247](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt248(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt248(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[248](device);
 }
 
-VKAPI_ATTR void VKAPI_CALL vkDevExt249(VkDevice device)
-{
+VKAPI_ATTR void VKAPI_CALL vkDevExt249(VkDevice device) {
     const struct loader_dev_dispatch_table *disp;
     disp = loader_get_dev_dispatch(device);
     disp->ext_dispatch.DevExt[249](device);
 }
 
-void *loader_get_dev_ext_trampoline(uint32_t index)
-{
+void *loader_get_dev_ext_trampoline(uint32_t index) {
     switch (index) {
-        case 0:
-            return vkDevExt0;
-        case 1:
-            return vkDevExt1;
-        case 2:
-            return vkDevExt2;
-        case 3:
-            return vkDevExt3;
-        case 4:
-            return vkDevExt4;
-        case 5:
-            return vkDevExt5;
-        case 6:
-            return vkDevExt6;
-        case 7:
-            return vkDevExt7;
-        case 8:
-            return vkDevExt8;
-        case 9:
-            return vkDevExt9;
-        case 10:
-            return vkDevExt10;
-        case 11:
-            return vkDevExt11;
-        case 12:
-            return vkDevExt12;
-        case 13:
-            return vkDevExt13;
-        case 14:
-            return vkDevExt14;
-        case 15:
-            return vkDevExt15;
-        case 16:
-            return vkDevExt16;
-        case 17:
-            return vkDevExt17;
-        case 18:
-            return vkDevExt18;
-        case 19:
-            return vkDevExt19;
-        case 20:
-            return vkDevExt20;
-        case 21:
-            return vkDevExt21;
-        case 22:
-            return vkDevExt22;
-        case 23:
-            return vkDevExt23;
-        case 24:
-            return vkDevExt24;
-        case 25:
-            return vkDevExt25;
-        case 26:
-            return vkDevExt26;
-        case 27:
-            return vkDevExt27;
-        case 28:
-            return vkDevExt28;
-        case 29:
-            return vkDevExt29;
-        case 30:
-            return vkDevExt30;
-        case 31:
-            return vkDevExt31;
-        case 32:
-            return vkDevExt32;
-        case 33:
-            return vkDevExt33;
-        case 34:
-            return vkDevExt34;
-        case 35:
-            return vkDevExt35;
-        case 36:
-            return vkDevExt36;
-        case 37:
-            return vkDevExt37;
-        case 38:
-            return vkDevExt38;
-        case 39:
-            return vkDevExt39;
-        case 40:
-            return vkDevExt40;
-        case 41:
-            return vkDevExt41;
-        case 42:
-            return vkDevExt42;
-        case 43:
-            return vkDevExt43;
-        case 44:
-            return vkDevExt44;
-        case 45:
-            return vkDevExt45;
-        case 46:
-            return vkDevExt46;
-        case 47:
-            return vkDevExt47;
-        case 48:
-            return vkDevExt48;
-        case 49:
-            return vkDevExt49;
-        case 50:
-            return vkDevExt50;
-        case 51:
-            return vkDevExt51;
-        case 52:
-            return vkDevExt52;
-        case 53:
-            return vkDevExt53;
-        case 54:
-            return vkDevExt54;
-        case 55:
-            return vkDevExt55;
-        case 56:
-            return vkDevExt56;
-        case 57:
-            return vkDevExt57;
-        case 58:
-            return vkDevExt58;
-        case 59:
-            return vkDevExt59;
-        case 60:
-            return vkDevExt60;
-        case 61:
-            return vkDevExt61;
-        case 62:
-            return vkDevExt62;
-        case 63:
-            return vkDevExt63;
-        case 64:
-            return vkDevExt64;
-        case 65:
-            return vkDevExt65;
-        case 66:
-            return vkDevExt66;
-        case 67:
-            return vkDevExt67;
-        case 68:
-            return vkDevExt68;
-        case 69:
-            return vkDevExt69;
-        case 70:
-            return vkDevExt70;
-        case 71:
-            return vkDevExt71;
-        case 72:
-            return vkDevExt72;
-        case 73:
-            return vkDevExt73;
-        case 74:
-            return vkDevExt74;
-        case 75:
-            return vkDevExt75;
-        case 76:
-            return vkDevExt76;
-        case 77:
-            return vkDevExt77;
-        case 78:
-            return vkDevExt78;
-        case 79:
-            return vkDevExt79;
-        case 80:
-            return vkDevExt80;
-        case 81:
-            return vkDevExt81;
-        case 82:
-            return vkDevExt82;
-        case 83:
-            return vkDevExt83;
-        case 84:
-            return vkDevExt84;
-        case 85:
-            return vkDevExt85;
-        case 86:
-            return vkDevExt86;
-        case 87:
-            return vkDevExt87;
-        case 88:
-            return vkDevExt88;
-        case 89:
-            return vkDevExt89;
-        case 90:
-            return vkDevExt90;
-        case 91:
-            return vkDevExt91;
-        case 92:
-            return vkDevExt92;
-        case 93:
-            return vkDevExt93;
-        case 94:
-            return vkDevExt94;
-        case 95:
-            return vkDevExt95;
-        case 96:
-            return vkDevExt96;
-        case 97:
-            return vkDevExt97;
-        case 98:
-            return vkDevExt98;
-        case 99:
-            return vkDevExt99;
-        case 100:
-            return vkDevExt100;
-        case 101:
-            return vkDevExt101;
-        case 102:
-            return vkDevExt102;
-        case 103:
-            return vkDevExt103;
-        case 104:
-            return vkDevExt104;
-        case 105:
-            return vkDevExt105;
-        case 106:
-            return vkDevExt106;
-        case 107:
-            return vkDevExt107;
-        case 108:
-            return vkDevExt108;
-        case 109:
-            return vkDevExt109;
-        case 110:
-            return vkDevExt110;
-        case 111:
-            return vkDevExt111;
-        case 112:
-            return vkDevExt112;
-        case 113:
-            return vkDevExt113;
-        case 114:
-            return vkDevExt114;
-        case 115:
-            return vkDevExt115;
-        case 116:
-            return vkDevExt116;
-        case 117:
-            return vkDevExt117;
-        case 118:
-            return vkDevExt118;
-        case 119:
-            return vkDevExt119;
-        case 120:
-            return vkDevExt120;
-        case 121:
-            return vkDevExt121;
-        case 122:
-            return vkDevExt122;
-        case 123:
-            return vkDevExt123;
-        case 124:
-            return vkDevExt124;
-        case 125:
-            return vkDevExt125;
-        case 126:
-            return vkDevExt126;
-        case 127:
-            return vkDevExt127;
-        case 128:
-            return vkDevExt128;
-        case 129:
-            return vkDevExt129;
-        case 130:
-            return vkDevExt130;
-        case 131:
-            return vkDevExt131;
-        case 132:
-            return vkDevExt132;
-        case 133:
-            return vkDevExt133;
-        case 134:
-            return vkDevExt134;
-        case 135:
-            return vkDevExt135;
-        case 136:
-            return vkDevExt136;
-        case 137:
-            return vkDevExt137;
-        case 138:
-            return vkDevExt138;
-        case 139:
-            return vkDevExt139;
-        case 140:
-            return vkDevExt140;
-        case 141:
-            return vkDevExt141;
-        case 142:
-            return vkDevExt142;
-        case 143:
-            return vkDevExt143;
-        case 144:
-            return vkDevExt144;
-        case 145:
-            return vkDevExt145;
-        case 146:
-            return vkDevExt146;
-        case 147:
-            return vkDevExt147;
-        case 148:
-            return vkDevExt148;
-        case 149:
-            return vkDevExt149;
-        case 150:
-            return vkDevExt150;
-        case 151:
-            return vkDevExt151;
-        case 152:
-            return vkDevExt152;
-        case 153:
-            return vkDevExt153;
-        case 154:
-            return vkDevExt154;
-        case 155:
-            return vkDevExt155;
-        case 156:
-            return vkDevExt156;
-        case 157:
-            return vkDevExt157;
-        case 158:
-            return vkDevExt158;
-        case 159:
-            return vkDevExt159;
-        case 160:
-            return vkDevExt160;
-        case 161:
-            return vkDevExt161;
-        case 162:
-            return vkDevExt162;
-        case 163:
-            return vkDevExt163;
-        case 164:
-            return vkDevExt164;
-        case 165:
-            return vkDevExt165;
-        case 166:
-            return vkDevExt166;
-        case 167:
-            return vkDevExt167;
-        case 168:
-            return vkDevExt168;
-        case 169:
-            return vkDevExt169;
-        case 170:
-            return vkDevExt170;
-        case 171:
-            return vkDevExt171;
-        case 172:
-            return vkDevExt172;
-        case 173:
-            return vkDevExt173;
-        case 174:
-            return vkDevExt174;
-        case 175:
-            return vkDevExt175;
-        case 176:
-            return vkDevExt176;
-        case 177:
-            return vkDevExt177;
-        case 178:
-            return vkDevExt178;
-        case 179:
-            return vkDevExt179;
-        case 180:
-            return vkDevExt180;
-        case 181:
-            return vkDevExt181;
-        case 182:
-            return vkDevExt182;
-        case 183:
-            return vkDevExt183;
-        case 184:
-            return vkDevExt184;
-        case 185:
-            return vkDevExt185;
-        case 186:
-            return vkDevExt186;
-        case 187:
-            return vkDevExt187;
-        case 188:
-            return vkDevExt188;
-        case 189:
-            return vkDevExt189;
-        case 190:
-            return vkDevExt190;
-        case 191:
-            return vkDevExt191;
-        case 192:
-            return vkDevExt192;
-        case 193:
-            return vkDevExt193;
-        case 194:
-            return vkDevExt194;
-        case 195:
-            return vkDevExt195;
-        case 196:
-            return vkDevExt196;
-        case 197:
-            return vkDevExt197;
-        case 198:
-            return vkDevExt198;
-        case 199:
-            return vkDevExt199;
-        case 200:
-            return vkDevExt200;
-        case 201:
-            return vkDevExt201;
-        case 202:
-            return vkDevExt202;
-        case 203:
-            return vkDevExt203;
-        case 204:
-            return vkDevExt204;
-        case 205:
-            return vkDevExt205;
-        case 206:
-            return vkDevExt206;
-        case 207:
-            return vkDevExt207;
-        case 208:
-            return vkDevExt208;
-        case 209:
-            return vkDevExt209;
-        case 210:
-            return vkDevExt210;
-        case 211:
-            return vkDevExt211;
-        case 212:
-            return vkDevExt212;
-        case 213:
-            return vkDevExt213;
-        case 214:
-            return vkDevExt214;
-        case 215:
-            return vkDevExt215;
-        case 216:
-            return vkDevExt216;
-        case 217:
-            return vkDevExt217;
-        case 218:
-            return vkDevExt218;
-        case 219:
-            return vkDevExt219;
-        case 220:
-            return vkDevExt220;
-        case 221:
-            return vkDevExt221;
-        case 222:
-            return vkDevExt222;
-        case 223:
-            return vkDevExt223;
-        case 224:
-            return vkDevExt224;
-        case 225:
-            return vkDevExt225;
-        case 226:
-            return vkDevExt226;
-        case 227:
-            return vkDevExt227;
-        case 228:
-            return vkDevExt228;
-        case 229:
-            return vkDevExt229;
-        case 230:
-            return vkDevExt230;
-        case 231:
-            return vkDevExt231;
-        case 232:
-            return vkDevExt232;
-        case 233:
-            return vkDevExt233;
-        case 234:
-            return vkDevExt234;
-        case 235:
-            return vkDevExt235;
-        case 236:
-            return vkDevExt236;
-        case 237:
-            return vkDevExt237;
-        case 238:
-            return vkDevExt238;
-        case 239:
-            return vkDevExt239;
-        case 240:
-            return vkDevExt240;
-        case 241:
-            return vkDevExt241;
-        case 242:
-            return vkDevExt242;
-        case 243:
-            return vkDevExt243;
-        case 244:
-            return vkDevExt244;
-        case 245:
-            return vkDevExt245;
-        case 246:
-            return vkDevExt246;
-        case 247:
-            return vkDevExt247;
-        case 248:
-            return vkDevExt248;
-        case 249:
-            return vkDevExt249;
+    case 0:
+        return vkDevExt0;
+    case 1:
+        return vkDevExt1;
+    case 2:
+        return vkDevExt2;
+    case 3:
+        return vkDevExt3;
+    case 4:
+        return vkDevExt4;
+    case 5:
+        return vkDevExt5;
+    case 6:
+        return vkDevExt6;
+    case 7:
+        return vkDevExt7;
+    case 8:
+        return vkDevExt8;
+    case 9:
+        return vkDevExt9;
+    case 10:
+        return vkDevExt10;
+    case 11:
+        return vkDevExt11;
+    case 12:
+        return vkDevExt12;
+    case 13:
+        return vkDevExt13;
+    case 14:
+        return vkDevExt14;
+    case 15:
+        return vkDevExt15;
+    case 16:
+        return vkDevExt16;
+    case 17:
+        return vkDevExt17;
+    case 18:
+        return vkDevExt18;
+    case 19:
+        return vkDevExt19;
+    case 20:
+        return vkDevExt20;
+    case 21:
+        return vkDevExt21;
+    case 22:
+        return vkDevExt22;
+    case 23:
+        return vkDevExt23;
+    case 24:
+        return vkDevExt24;
+    case 25:
+        return vkDevExt25;
+    case 26:
+        return vkDevExt26;
+    case 27:
+        return vkDevExt27;
+    case 28:
+        return vkDevExt28;
+    case 29:
+        return vkDevExt29;
+    case 30:
+        return vkDevExt30;
+    case 31:
+        return vkDevExt31;
+    case 32:
+        return vkDevExt32;
+    case 33:
+        return vkDevExt33;
+    case 34:
+        return vkDevExt34;
+    case 35:
+        return vkDevExt35;
+    case 36:
+        return vkDevExt36;
+    case 37:
+        return vkDevExt37;
+    case 38:
+        return vkDevExt38;
+    case 39:
+        return vkDevExt39;
+    case 40:
+        return vkDevExt40;
+    case 41:
+        return vkDevExt41;
+    case 42:
+        return vkDevExt42;
+    case 43:
+        return vkDevExt43;
+    case 44:
+        return vkDevExt44;
+    case 45:
+        return vkDevExt45;
+    case 46:
+        return vkDevExt46;
+    case 47:
+        return vkDevExt47;
+    case 48:
+        return vkDevExt48;
+    case 49:
+        return vkDevExt49;
+    case 50:
+        return vkDevExt50;
+    case 51:
+        return vkDevExt51;
+    case 52:
+        return vkDevExt52;
+    case 53:
+        return vkDevExt53;
+    case 54:
+        return vkDevExt54;
+    case 55:
+        return vkDevExt55;
+    case 56:
+        return vkDevExt56;
+    case 57:
+        return vkDevExt57;
+    case 58:
+        return vkDevExt58;
+    case 59:
+        return vkDevExt59;
+    case 60:
+        return vkDevExt60;
+    case 61:
+        return vkDevExt61;
+    case 62:
+        return vkDevExt62;
+    case 63:
+        return vkDevExt63;
+    case 64:
+        return vkDevExt64;
+    case 65:
+        return vkDevExt65;
+    case 66:
+        return vkDevExt66;
+    case 67:
+        return vkDevExt67;
+    case 68:
+        return vkDevExt68;
+    case 69:
+        return vkDevExt69;
+    case 70:
+        return vkDevExt70;
+    case 71:
+        return vkDevExt71;
+    case 72:
+        return vkDevExt72;
+    case 73:
+        return vkDevExt73;
+    case 74:
+        return vkDevExt74;
+    case 75:
+        return vkDevExt75;
+    case 76:
+        return vkDevExt76;
+    case 77:
+        return vkDevExt77;
+    case 78:
+        return vkDevExt78;
+    case 79:
+        return vkDevExt79;
+    case 80:
+        return vkDevExt80;
+    case 81:
+        return vkDevExt81;
+    case 82:
+        return vkDevExt82;
+    case 83:
+        return vkDevExt83;
+    case 84:
+        return vkDevExt84;
+    case 85:
+        return vkDevExt85;
+    case 86:
+        return vkDevExt86;
+    case 87:
+        return vkDevExt87;
+    case 88:
+        return vkDevExt88;
+    case 89:
+        return vkDevExt89;
+    case 90:
+        return vkDevExt90;
+    case 91:
+        return vkDevExt91;
+    case 92:
+        return vkDevExt92;
+    case 93:
+        return vkDevExt93;
+    case 94:
+        return vkDevExt94;
+    case 95:
+        return vkDevExt95;
+    case 96:
+        return vkDevExt96;
+    case 97:
+        return vkDevExt97;
+    case 98:
+        return vkDevExt98;
+    case 99:
+        return vkDevExt99;
+    case 100:
+        return vkDevExt100;
+    case 101:
+        return vkDevExt101;
+    case 102:
+        return vkDevExt102;
+    case 103:
+        return vkDevExt103;
+    case 104:
+        return vkDevExt104;
+    case 105:
+        return vkDevExt105;
+    case 106:
+        return vkDevExt106;
+    case 107:
+        return vkDevExt107;
+    case 108:
+        return vkDevExt108;
+    case 109:
+        return vkDevExt109;
+    case 110:
+        return vkDevExt110;
+    case 111:
+        return vkDevExt111;
+    case 112:
+        return vkDevExt112;
+    case 113:
+        return vkDevExt113;
+    case 114:
+        return vkDevExt114;
+    case 115:
+        return vkDevExt115;
+    case 116:
+        return vkDevExt116;
+    case 117:
+        return vkDevExt117;
+    case 118:
+        return vkDevExt118;
+    case 119:
+        return vkDevExt119;
+    case 120:
+        return vkDevExt120;
+    case 121:
+        return vkDevExt121;
+    case 122:
+        return vkDevExt122;
+    case 123:
+        return vkDevExt123;
+    case 124:
+        return vkDevExt124;
+    case 125:
+        return vkDevExt125;
+    case 126:
+        return vkDevExt126;
+    case 127:
+        return vkDevExt127;
+    case 128:
+        return vkDevExt128;
+    case 129:
+        return vkDevExt129;
+    case 130:
+        return vkDevExt130;
+    case 131:
+        return vkDevExt131;
+    case 132:
+        return vkDevExt132;
+    case 133:
+        return vkDevExt133;
+    case 134:
+        return vkDevExt134;
+    case 135:
+        return vkDevExt135;
+    case 136:
+        return vkDevExt136;
+    case 137:
+        return vkDevExt137;
+    case 138:
+        return vkDevExt138;
+    case 139:
+        return vkDevExt139;
+    case 140:
+        return vkDevExt140;
+    case 141:
+        return vkDevExt141;
+    case 142:
+        return vkDevExt142;
+    case 143:
+        return vkDevExt143;
+    case 144:
+        return vkDevExt144;
+    case 145:
+        return vkDevExt145;
+    case 146:
+        return vkDevExt146;
+    case 147:
+        return vkDevExt147;
+    case 148:
+        return vkDevExt148;
+    case 149:
+        return vkDevExt149;
+    case 150:
+        return vkDevExt150;
+    case 151:
+        return vkDevExt151;
+    case 152:
+        return vkDevExt152;
+    case 153:
+        return vkDevExt153;
+    case 154:
+        return vkDevExt154;
+    case 155:
+        return vkDevExt155;
+    case 156:
+        return vkDevExt156;
+    case 157:
+        return vkDevExt157;
+    case 158:
+        return vkDevExt158;
+    case 159:
+        return vkDevExt159;
+    case 160:
+        return vkDevExt160;
+    case 161:
+        return vkDevExt161;
+    case 162:
+        return vkDevExt162;
+    case 163:
+        return vkDevExt163;
+    case 164:
+        return vkDevExt164;
+    case 165:
+        return vkDevExt165;
+    case 166:
+        return vkDevExt166;
+    case 167:
+        return vkDevExt167;
+    case 168:
+        return vkDevExt168;
+    case 169:
+        return vkDevExt169;
+    case 170:
+        return vkDevExt170;
+    case 171:
+        return vkDevExt171;
+    case 172:
+        return vkDevExt172;
+    case 173:
+        return vkDevExt173;
+    case 174:
+        return vkDevExt174;
+    case 175:
+        return vkDevExt175;
+    case 176:
+        return vkDevExt176;
+    case 177:
+        return vkDevExt177;
+    case 178:
+        return vkDevExt178;
+    case 179:
+        return vkDevExt179;
+    case 180:
+        return vkDevExt180;
+    case 181:
+        return vkDevExt181;
+    case 182:
+        return vkDevExt182;
+    case 183:
+        return vkDevExt183;
+    case 184:
+        return vkDevExt184;
+    case 185:
+        return vkDevExt185;
+    case 186:
+        return vkDevExt186;
+    case 187:
+        return vkDevExt187;
+    case 188:
+        return vkDevExt188;
+    case 189:
+        return vkDevExt189;
+    case 190:
+        return vkDevExt190;
+    case 191:
+        return vkDevExt191;
+    case 192:
+        return vkDevExt192;
+    case 193:
+        return vkDevExt193;
+    case 194:
+        return vkDevExt194;
+    case 195:
+        return vkDevExt195;
+    case 196:
+        return vkDevExt196;
+    case 197:
+        return vkDevExt197;
+    case 198:
+        return vkDevExt198;
+    case 199:
+        return vkDevExt199;
+    case 200:
+        return vkDevExt200;
+    case 201:
+        return vkDevExt201;
+    case 202:
+        return vkDevExt202;
+    case 203:
+        return vkDevExt203;
+    case 204:
+        return vkDevExt204;
+    case 205:
+        return vkDevExt205;
+    case 206:
+        return vkDevExt206;
+    case 207:
+        return vkDevExt207;
+    case 208:
+        return vkDevExt208;
+    case 209:
+        return vkDevExt209;
+    case 210:
+        return vkDevExt210;
+    case 211:
+        return vkDevExt211;
+    case 212:
+        return vkDevExt212;
+    case 213:
+        return vkDevExt213;
+    case 214:
+        return vkDevExt214;
+    case 215:
+        return vkDevExt215;
+    case 216:
+        return vkDevExt216;
+    case 217:
+        return vkDevExt217;
+    case 218:
+        return vkDevExt218;
+    case 219:
+        return vkDevExt219;
+    case 220:
+        return vkDevExt220;
+    case 221:
+        return vkDevExt221;
+    case 222:
+        return vkDevExt222;
+    case 223:
+        return vkDevExt223;
+    case 224:
+        return vkDevExt224;
+    case 225:
+        return vkDevExt225;
+    case 226:
+        return vkDevExt226;
+    case 227:
+        return vkDevExt227;
+    case 228:
+        return vkDevExt228;
+    case 229:
+        return vkDevExt229;
+    case 230:
+        return vkDevExt230;
+    case 231:
+        return vkDevExt231;
+    case 232:
+        return vkDevExt232;
+    case 233:
+        return vkDevExt233;
+    case 234:
+        return vkDevExt234;
+    case 235:
+        return vkDevExt235;
+    case 236:
+        return vkDevExt236;
+    case 237:
+        return vkDevExt237;
+    case 238:
+        return vkDevExt238;
+    case 239:
+        return vkDevExt239;
+    case 240:
+        return vkDevExt240;
+    case 241:
+        return vkDevExt241;
+    case 242:
+        return vkDevExt242;
+    case 243:
+        return vkDevExt243;
+    case 244:
+        return vkDevExt244;
+    case 245:
+        return vkDevExt245;
+    case 246:
+        return vkDevExt246;
+    case 247:
+        return vkDevExt247;
+    case 248:
+        return vkDevExt248;
+    case 249:
+        return vkDevExt249;
     }
     return NULL;
 }
index 2e3c374..985fb6a 100644 (file)
 #include "loader.h"
 
 #ifdef __cplusplus
-extern "C"
-{
+extern "C" {
 #endif
 
 typedef ptrdiff_t handle_type; /* C99's intptr_t not sufficiently portable */
 
-struct DIR
-{
-    handle_type         handle; /* -1 for failed rewind */
-    struct _finddata_t  info;
-    struct dirent       result; /* d_name null iff first time */
-    char                *name;  /* null-terminated char string */
+struct DIR {
+    handle_type handle; /* -1 for failed rewind */
+    struct _finddata_t info;
+    struct dirent result; /* d_name null iff first time */
+    char *name;           /* null-terminated char string */
 };
 
-DIR *opendir(const char *name)
-{
+DIR *opendir(const char *name) {
     DIR *dir = 0;
 
-    if(name && name[0])
-    {
+    if (name && name[0]) {
         size_t base_length = strlen(name);
         const char *all = /* search pattern must end with suitable wildcard */
             strchr("/\\", name[base_length - 1]) ? "*" : "/*";
 
-        if((dir = (DIR *) loader_tls_heap_alloc(sizeof *dir)) != 0 &&
-           (dir->name = (char *) loader_tls_heap_alloc(base_length + strlen(all) + 1)) != 0)
-        {
+        if ((dir = (DIR *)loader_tls_heap_alloc(sizeof *dir)) != 0 &&
+            (dir->name = (char *)loader_tls_heap_alloc(base_length +
+                                                       strlen(all) + 1)) != 0) {
             strcat(strcpy(dir->name, name), all);
 
-            if((dir->handle =
-                (handle_type) _findfirst(dir->name, &dir->info)) != -1)
-            {
+            if ((dir->handle =
+                     (handle_type)_findfirst(dir->name, &dir->info)) != -1) {
                 dir->result.d_name = 0;
-            }
-            else /* rollback */
+            } else /* rollback */
             {
                 loader_tls_heap_free(dir->name);
                 loader_tls_heap_free(dir);
                 dir = 0;
             }
-        }
-        else /* rollback */
+        } else /* rollback */
         {
             loader_tls_heap_free(dir);
-            dir   = 0;
+            dir = 0;
             errno = ENOMEM;
         }
-    }
-    else
-    {
+    } else {
         errno = EINVAL;
     }
 
     return dir;
 }
 
-int closedir(DIR *dir)
-{
+int closedir(DIR *dir) {
     int result = -1;
 
-    if(dir)
-    {
-        if(dir->handle != -1)
-        {
+    if (dir) {
+        if (dir->handle != -1) {
             result = _findclose(dir->handle);
         }
 
@@ -87,7 +75,7 @@ int closedir(DIR *dir)
         loader_tls_heap_free(dir);
     }
 
-    if(result == -1) /* map all errors to EBADF */
+    if (result == -1) /* map all errors to EBADF */
     {
         errno = EBADF;
     }
@@ -95,36 +83,27 @@ int closedir(DIR *dir)
     return result;
 }
 
-struct dirent *readdir(DIR *dir)
-{
+struct dirent *readdir(DIR *dir) {
     struct dirent *result = 0;
 
-    if(dir && dir->handle != -1)
-    {
-        if(!dir->result.d_name || _findnext(dir->handle, &dir->info) != -1)
-        {
-            result         = &dir->result;
+    if (dir && dir->handle != -1) {
+        if (!dir->result.d_name || _findnext(dir->handle, &dir->info) != -1) {
+            result = &dir->result;
             result->d_name = dir->info.name;
         }
-    }
-    else
-    {
+    } else {
         errno = EBADF;
     }
 
     return result;
 }
 
-void rewinddir(DIR *dir)
-{
-    if(dir && dir->handle != -1)
-    {
+void rewinddir(DIR *dir) {
+    if (dir && dir->handle != -1) {
         _findclose(dir->handle);
-        dir->handle = (handle_type) _findfirst(dir->name, &dir->info);
+        dir->handle = (handle_type)_findfirst(dir->name, &dir->info);
         dir->result.d_name = 0;
-    }
-    else
-    {
+    } else {
         errno = EBADF;
     }
 }
@@ -136,12 +115,14 @@ void rewinddir(DIR *dir)
 /*
 
     Copyright Kevlin Henney, 1997, 2003, 2012. All rights reserved.
-
+    Copyright (c) 2015 The Khronos Group Inc.
+    Copyright (c) 2015 Valve Corporation
+    Copyright (c) 2015 LunarG, Inc.
     Permission to use, copy, modify, and distribute this software and its
     documentation for any purpose is hereby granted without fee, provided
     that this copyright and permissions notice appear in all copies and
     derivatives.
-    
+
     This software is supplied "as is" without express or implied warranty.
 
     But that said, if there are any problems please get in touch.
index a02a0d8..8600f8e 100644 (file)
@@ -8,35 +8,36 @@
     Author:  Kevlin Henney (kevlin@acm.org, kevlin@curbralan.com)
     History: Created March 1997. Updated June 2003.
     Rights:  See end of file.
-    
+
 */
 
 #ifdef __cplusplus
-extern "C"
-{
+extern "C" {
 #endif
 
 typedef struct DIR DIR;
 
-struct dirent
-{
+struct dirent {
     char *d_name;
 };
 
-DIR           *opendir(const char *);
-int           closedir(DIR *);
+DIR *opendir(const char *);
+int closedir(DIR *);
 struct dirent *readdir(DIR *);
-void          rewinddir(DIR *);
+void rewinddir(DIR *);
 
 /*
 
     Copyright Kevlin Henney, 1997, 2003. All rights reserved.
+    Copyright (c) 2015 The Khronos Group Inc.
+    Copyright (c) 2015 Valve Corporation
+    Copyright (c) 2015 LunarG, Inc.
 
     Permission to use, copy, modify, and distribute this software and its
     documentation for any purpose is hereby granted without fee, provided
     that this copyright and permissions notice appear in all copies and
     derivatives.
-    
+
     This software is supplied "as is" without express or implied warranty.
 
     But that said, if there are any problems please get in touch.
index 53c408e..f2aeb62 100644 (file)
 /*
  *
- * Copyright (C) 2015 Valve Corporation
+ * Copyright (c) 2015 The Khronos Group Inc.
+ * Copyright (c) 2015 Valve Corporation
+ * Copyright (c) 2015 LunarG, Inc.
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
- * Author: Cody Northrop <cody@lunarg.com>
  * Author: Jon Ashburn <jon@lunarg.com>
- * Author: Tony Barbour <tony@LunarG.com>
  */
 
 #include <string.h>
 #include "debug_report.h"
 #include "wsi.h"
 
-static inline void* trampolineGetProcAddr(struct loader_instance *inst,
-                                          const char *funcName)
-{
-    //Don't include or check global functions
+static inline void *trampolineGetProcAddr(struct loader_instance *inst,
+                                          const char *funcName) {
+    // Don't include or check global functions
     if (!strcmp(funcName, "vkGetInstanceProcAddr"))
-        return (PFN_vkVoidFunction) vkGetInstanceProcAddr;
+        return (PFN_vkVoidFunction)vkGetInstanceProcAddr;
     if (!strcmp(funcName, "vkDestroyInstance"))
-        return (PFN_vkVoidFunction) vkDestroyInstance;
+        return (PFN_vkVoidFunction)vkDestroyInstance;
     if (!strcmp(funcName, "vkEnumeratePhysicalDevices"))
-        return (PFN_vkVoidFunction) vkEnumeratePhysicalDevices;
+        return (PFN_vkVoidFunction)vkEnumeratePhysicalDevices;
     if (!strcmp(funcName, "vkGetPhysicalDeviceFeatures"))
-        return (PFN_vkVoidFunction) vkGetPhysicalDeviceFeatures;
+        return (PFN_vkVoidFunction)vkGetPhysicalDeviceFeatures;
     if (!strcmp(funcName, "vkGetPhysicalDeviceFormatProperties"))
-        return (PFN_vkVoidFunction) vkGetPhysicalDeviceFormatProperties;
+        return (PFN_vkVoidFunction)vkGetPhysicalDeviceFormatProperties;
     if (!strcmp(funcName, "vkGetPhysicalDeviceImageFormatProperties"))
-        return (PFN_vkVoidFunction) vkGetPhysicalDeviceImageFormatProperties;
+        return (PFN_vkVoidFunction)vkGetPhysicalDeviceImageFormatProperties;
     if (!strcmp(funcName, "vkGetPhysicalDeviceSparseImageFormatProperties"))
-        return(PFN_vkVoidFunction) vkGetPhysicalDeviceSparseImageFormatProperties;
+        return (
+            PFN_vkVoidFunction)vkGetPhysicalDeviceSparseImageFormatProperties;
     if (!strcmp(funcName, "vkGetPhysicalDeviceProperties"))
-        return (PFN_vkVoidFunction) vkGetPhysicalDeviceProperties;
+        return (PFN_vkVoidFunction)vkGetPhysicalDeviceProperties;
     if (!strcmp(funcName, "vkGetPhysicalDeviceQueueFamilyProperties"))
-        return (PFN_vkVoidFunction) vkGetPhysicalDeviceQueueFamilyProperties;
+        return (PFN_vkVoidFunction)vkGetPhysicalDeviceQueueFamilyProperties;
     if (!strcmp(funcName, "vkGetPhysicalDeviceMemoryProperties"))
-        return (PFN_vkVoidFunction) vkGetPhysicalDeviceMemoryProperties;
+        return (PFN_vkVoidFunction)vkGetPhysicalDeviceMemoryProperties;
     if (!strcmp(funcName, "vkEnumerateDeviceLayerProperties"))
-        return (PFN_vkVoidFunction) vkEnumerateDeviceLayerProperties;
+        return (PFN_vkVoidFunction)vkEnumerateDeviceLayerProperties;
     if (!strcmp(funcName, "vkEnumerateDeviceExtensionProperties"))
-        return (PFN_vkVoidFunction) vkEnumerateDeviceExtensionProperties;
+        return (PFN_vkVoidFunction)vkEnumerateDeviceExtensionProperties;
     if (!strcmp(funcName, "vkCreateDevice"))
-        return (PFN_vkVoidFunction) vkCreateDevice;
+        return (PFN_vkVoidFunction)vkCreateDevice;
     if (!strcmp(funcName, "vkGetDeviceProcAddr"))
-        return (PFN_vkVoidFunction) vkGetDeviceProcAddr;
+        return (PFN_vkVoidFunction)vkGetDeviceProcAddr;
     if (!strcmp(funcName, "vkDestroyDevice"))
-        return (PFN_vkVoidFunction) vkDestroyDevice;
+        return (PFN_vkVoidFunction)vkDestroyDevice;
     if (!strcmp(funcName, "vkGetDeviceQueue"))
-        return (PFN_vkVoidFunction) vkGetDeviceQueue;
+        return (PFN_vkVoidFunction)vkGetDeviceQueue;
     if (!strcmp(funcName, "vkQueueSubmit"))
-        return (PFN_vkVoidFunction) vkQueueSubmit;
+        return (PFN_vkVoidFunction)vkQueueSubmit;
     if (!strcmp(funcName, "vkQueueWaitIdle"))
-        return (PFN_vkVoidFunction) vkQueueWaitIdle;
+        return (PFN_vkVoidFunction)vkQueueWaitIdle;
     if (!strcmp(funcName, "vkDeviceWaitIdle"))
-        return (PFN_vkVoidFunction) vkDeviceWaitIdle;
+        return (PFN_vkVoidFunction)vkDeviceWaitIdle;
     if (!strcmp(funcName, "vkAllocateMemory"))
-        return (PFN_vkVoidFunction) vkAllocateMemory;
+        return (PFN_vkVoidFunction)vkAllocateMemory;
     if (!strcmp(funcName, "vkFreeMemory"))
-        return (PFN_vkVoidFunction) vkFreeMemory;
+        return (PFN_vkVoidFunction)vkFreeMemory;
     if (!strcmp(funcName, "vkMapMemory"))
-        return (PFN_vkVoidFunction) vkMapMemory;
+        return (PFN_vkVoidFunction)vkMapMemory;
     if (!strcmp(funcName, "vkUnmapMemory"))
-        return (PFN_vkVoidFunction) vkUnmapMemory;
+        return (PFN_vkVoidFunction)vkUnmapMemory;
     if (!strcmp(funcName, "vkFlushMappedMemoryRanges"))
-        return (PFN_vkVoidFunction) vkFlushMappedMemoryRanges;
+        return (PFN_vkVoidFunction)vkFlushMappedMemoryRanges;
     if (!strcmp(funcName, "vkInvalidateMappedMemoryRanges"))
-        return (PFN_vkVoidFunction) vkInvalidateMappedMemoryRanges;
+        return (PFN_vkVoidFunction)vkInvalidateMappedMemoryRanges;
     if (!strcmp(funcName, "vkGetDeviceMemoryCommitment"))
-        return (PFN_vkVoidFunction) vkGetDeviceMemoryCommitment;
+        return (PFN_vkVoidFunction)vkGetDeviceMemoryCommitment;
     if (!strcmp(funcName, "vkGetImageSparseMemoryRequirements"))
-        return (PFN_vkVoidFunction) vkGetImageSparseMemoryRequirements;
+        return (PFN_vkVoidFunction)vkGetImageSparseMemoryRequirements;
     if (!strcmp(funcName, "vkGetImageMemoryRequirements"))
-        return (PFN_vkVoidFunction) vkGetImageMemoryRequirements;
+        return (PFN_vkVoidFunction)vkGetImageMemoryRequirements;
     if (!strcmp(funcName, "vkGetBufferMemoryRequirements"))
-        return (PFN_vkVoidFunction) vkGetBufferMemoryRequirements;
+        return (PFN_vkVoidFunction)vkGetBufferMemoryRequirements;
     if (!strcmp(funcName, "vkBindImageMemory"))
-        return (PFN_vkVoidFunction) vkBindImageMemory;
+        return (PFN_vkVoidFunction)vkBindImageMemory;
     if (!strcmp(funcName, "vkBindBufferMemory"))
-        return (PFN_vkVoidFunction) vkBindBufferMemory;
+        return (PFN_vkVoidFunction)vkBindBufferMemory;
     if (!strcmp(funcName, "vkQueueBindSparse"))
-        return (PFN_vkVoidFunction) vkQueueBindSparse;
+        return (PFN_vkVoidFunction)vkQueueBindSparse;
     if (!strcmp(funcName, "vkCreateFence"))
-        return (PFN_vkVoidFunction) vkCreateFence;
+        return (PFN_vkVoidFunction)vkCreateFence;
     if (!strcmp(funcName, "vkDestroyFence"))
-        return (PFN_vkVoidFunction) vkDestroyFence;
+        return (PFN_vkVoidFunction)vkDestroyFence;
     if (!strcmp(funcName, "vkGetFenceStatus"))
-        return (PFN_vkVoidFunction) vkGetFenceStatus;
+        return (PFN_vkVoidFunction)vkGetFenceStatus;
     if (!strcmp(funcName, "vkResetFences"))
-        return (PFN_vkVoidFunction) vkResetFences;
+        return (PFN_vkVoidFunction)vkResetFences;
     if (!strcmp(funcName, "vkWaitForFences"))
-        return (PFN_vkVoidFunction) vkWaitForFences;
+        return (PFN_vkVoidFunction)vkWaitForFences;
     if (!strcmp(funcName, "vkCreateSemaphore"))
-        return (PFN_vkVoidFunction) vkCreateSemaphore;
+        return (PFN_vkVoidFunction)vkCreateSemaphore;
     if (!strcmp(funcName, "vkDestroySemaphore"))
-        return (PFN_vkVoidFunction) vkDestroySemaphore;
+        return (PFN_vkVoidFunction)vkDestroySemaphore;
     if (!strcmp(funcName, "vkCreateEvent"))
-        return (PFN_vkVoidFunction) vkCreateEvent;
+        return (PFN_vkVoidFunction)vkCreateEvent;
     if (!strcmp(funcName, "vkDestroyEvent"))
-        return (PFN_vkVoidFunction) vkDestroyEvent;
+        return (PFN_vkVoidFunction)vkDestroyEvent;
     if (!strcmp(funcName, "vkGetEventStatus"))
-        return (PFN_vkVoidFunction) vkGetEventStatus;
+        return (PFN_vkVoidFunction)vkGetEventStatus;
     if (!strcmp(funcName, "vkSetEvent"))
-        return (PFN_vkVoidFunction) vkSetEvent;
+        return (PFN_vkVoidFunction)vkSetEvent;
     if (!strcmp(funcName, "vkResetEvent"))
-        return (PFN_vkVoidFunction) vkResetEvent;
+        return (PFN_vkVoidFunction)vkResetEvent;
     if (!strcmp(funcName, "vkCreateQueryPool"))
-        return (PFN_vkVoidFunction) vkCreateQueryPool;
+        return (PFN_vkVoidFunction)vkCreateQueryPool;
     if (!strcmp(funcName, "vkDestroyQueryPool"))
-        return (PFN_vkVoidFunction) vkDestroyQueryPool;
+        return (PFN_vkVoidFunction)vkDestroyQueryPool;
     if (!strcmp(funcName, "vkGetQueryPoolResults"))
-        return (PFN_vkVoidFunction) vkGetQueryPoolResults;
+        return (PFN_vkVoidFunction)vkGetQueryPoolResults;
     if (!strcmp(funcName, "vkCreateBuffer"))
-        return (PFN_vkVoidFunction) vkCreateBuffer;
+        return (PFN_vkVoidFunction)vkCreateBuffer;
     if (!strcmp(funcName, "vkDestroyBuffer"))
-        return (PFN_vkVoidFunction) vkDestroyBuffer;
+        return (PFN_vkVoidFunction)vkDestroyBuffer;
     if (!strcmp(funcName, "vkCreateBufferView"))
-        return (PFN_vkVoidFunction) vkCreateBufferView;
+        return (PFN_vkVoidFunction)vkCreateBufferView;
     if (!strcmp(funcName, "vkDestroyBufferView"))
-        return (PFN_vkVoidFunction) vkDestroyBufferView;
+        return (PFN_vkVoidFunction)vkDestroyBufferView;
     if (!strcmp(funcName, "vkCreateImage"))
-        return (PFN_vkVoidFunction) vkCreateImage;
+        return (PFN_vkVoidFunction)vkCreateImage;
     if (!strcmp(funcName, "vkDestroyImage"))
-        return (PFN_vkVoidFunction) vkDestroyImage;
+        return (PFN_vkVoidFunction)vkDestroyImage;
     if (!strcmp(funcName, "vkGetImageSubresourceLayout"))
-        return (PFN_vkVoidFunction) vkGetImageSubresourceLayout;
+        return (PFN_vkVoidFunction)vkGetImageSubresourceLayout;
     if (!strcmp(funcName, "vkCreateImageView"))
-        return (PFN_vkVoidFunction) vkCreateImageView;
+        return (PFN_vkVoidFunction)vkCreateImageView;
     if (!strcmp(funcName, "vkDestroyImageView"))
-        return (PFN_vkVoidFunction) vkDestroyImageView;
+        return (PFN_vkVoidFunction)vkDestroyImageView;
     if (!strcmp(funcName, "vkCreateShaderModule"))
-        return (PFN_vkVoidFunction) vkCreateShaderModule;
+        return (PFN_vkVoidFunction)vkCreateShaderModule;
     if (!strcmp(funcName, "vkDestroyShaderModule"))
-        return (PFN_vkVoidFunction) vkDestroyShaderModule;
+        return (PFN_vkVoidFunction)vkDestroyShaderModule;
     if (!strcmp(funcName, "vkCreatePipelineCache"))
-        return (PFN_vkVoidFunction) vkCreatePipelineCache;
+        return (PFN_vkVoidFunction)vkCreatePipelineCache;
     if (!strcmp(funcName, "vkDestroyPipelineCache"))
-        return (PFN_vkVoidFunction) vkDestroyPipelineCache;
+        return (PFN_vkVoidFunction)vkDestroyPipelineCache;
     if (!strcmp(funcName, "vkGetPipelineCacheData"))
-        return (PFN_vkVoidFunction) vkGetPipelineCacheData;
+        return (PFN_vkVoidFunction)vkGetPipelineCacheData;
     if (!strcmp(funcName, "vkMergePipelineCaches"))
-        return (PFN_vkVoidFunction) vkMergePipelineCaches;
+        return (PFN_vkVoidFunction)vkMergePipelineCaches;
     if (!strcmp(funcName, "vkCreateGraphicsPipelines"))
-        return (PFN_vkVoidFunction) vkCreateGraphicsPipelines;
+        return (PFN_vkVoidFunction)vkCreateGraphicsPipelines;
     if (!strcmp(funcName, "vkCreateComputePipelines"))
-        return (PFN_vkVoidFunction) vkCreateComputePipelines;
+        return (PFN_vkVoidFunction)vkCreateComputePipelines;
     if (!strcmp(funcName, "vkDestroyPipeline"))
-        return (PFN_vkVoidFunction) vkDestroyPipeline;
+        return (PFN_vkVoidFunction)vkDestroyPipeline;
     if (!strcmp(funcName, "vkCreatePipelineLayout"))
-        return (PFN_vkVoidFunction) vkCreatePipelineLayout;
+        return (PFN_vkVoidFunction)vkCreatePipelineLayout;
     if (!strcmp(funcName, "vkDestroyPipelineLayout"))
-        return (PFN_vkVoidFunction) vkDestroyPipelineLayout;
+        return (PFN_vkVoidFunction)vkDestroyPipelineLayout;
     if (!strcmp(funcName, "vkCreateSampler"))
-        return (PFN_vkVoidFunction) vkCreateSampler;
+        return (PFN_vkVoidFunction)vkCreateSampler;
     if (!strcmp(funcName, "vkDestroySampler"))
-        return (PFN_vkVoidFunction) vkDestroySampler;
+        return (PFN_vkVoidFunction)vkDestroySampler;
     if (!strcmp(funcName, "vkCreateDescriptorSetLayout"))
-        return (PFN_vkVoidFunction) vkCreateDescriptorSetLayout;
+        return (PFN_vkVoidFunction)vkCreateDescriptorSetLayout;
     if (!strcmp(funcName, "vkDestroyDescriptorSetLayout"))
-        return (PFN_vkVoidFunction) vkDestroyDescriptorSetLayout;
+        return (PFN_vkVoidFunction)vkDestroyDescriptorSetLayout;
     if (!strcmp(funcName, "vkCreateDescriptorPool"))
-        return (PFN_vkVoidFunction) vkCreateDescriptorPool;
+        return (PFN_vkVoidFunction)vkCreateDescriptorPool;
     if (!strcmp(funcName, "vkDestroyDescriptorPool"))
-        return (PFN_vkVoidFunction) vkDestroyDescriptorPool;
+        return (PFN_vkVoidFunction)vkDestroyDescriptorPool;
     if (!strcmp(funcName, "vkResetDescriptorPool"))
-        return (PFN_vkVoidFunction) vkResetDescriptorPool;
+        return (PFN_vkVoidFunction)vkResetDescriptorPool;
     if (!strcmp(funcName, "vkAllocateDescriptorSets"))
-        return (PFN_vkVoidFunction) vkAllocateDescriptorSets;
+        return (PFN_vkVoidFunction)vkAllocateDescriptorSets;
     if (!strcmp(funcName, "vkFreeDescriptorSets"))
-        return (PFN_vkVoidFunction) vkFreeDescriptorSets;
+        return (PFN_vkVoidFunction)vkFreeDescriptorSets;
     if (!strcmp(funcName, "vkUpdateDescriptorSets"))
-        return (PFN_vkVoidFunction) vkUpdateDescriptorSets;
+        return (PFN_vkVoidFunction)vkUpdateDescriptorSets;
     if (!strcmp(funcName, "vkCreateFramebuffer"))
-        return (PFN_vkVoidFunction) vkCreateFramebuffer;
+        return (PFN_vkVoidFunction)vkCreateFramebuffer;
     if (!strcmp(funcName, "vkDestroyFramebuffer"))
-        return (PFN_vkVoidFunction) vkDestroyFramebuffer;
+        return (PFN_vkVoidFunction)vkDestroyFramebuffer;
     if (!strcmp(funcName, "vkCreateRenderPass"))
-        return (PFN_vkVoidFunction) vkCreateRenderPass;
+        return (PFN_vkVoidFunction)vkCreateRenderPass;
     if (!strcmp(funcName, "vkDestroyRenderPass"))
-        return (PFN_vkVoidFunction) vkDestroyRenderPass;
+        return (PFN_vkVoidFunction)vkDestroyRenderPass;
     if (!strcmp(funcName, "vkGetRenderAreaGranularity"))
-        return (PFN_vkVoidFunction) vkGetRenderAreaGranularity;
+        return (PFN_vkVoidFunction)vkGetRenderAreaGranularity;
     if (!strcmp(funcName, "vkCreateCommandPool"))
-        return (PFN_vkVoidFunction) vkCreateCommandPool;
+        return (PFN_vkVoidFunction)vkCreateCommandPool;
     if (!strcmp(funcName, "vkDestroyCommandPool"))
-        return (PFN_vkVoidFunction) vkDestroyCommandPool;
+        return (PFN_vkVoidFunction)vkDestroyCommandPool;
     if (!strcmp(funcName, "vkResetCommandPool"))
-        return (PFN_vkVoidFunction) vkResetCommandPool;
+        return (PFN_vkVoidFunction)vkResetCommandPool;
     if (!strcmp(funcName, "vkAllocateCommandBuffers"))
-        return (PFN_vkVoidFunction) vkAllocateCommandBuffers;
+        return (PFN_vkVoidFunction)vkAllocateCommandBuffers;
     if (!strcmp(funcName, "vkFreeCommandBuffers"))
-        return (PFN_vkVoidFunction) vkFreeCommandBuffers;
+        return (PFN_vkVoidFunction)vkFreeCommandBuffers;
     if (!strcmp(funcName, "vkBeginCommandBuffer"))
-        return (PFN_vkVoidFunction) vkBeginCommandBuffer;
+        return (PFN_vkVoidFunction)vkBeginCommandBuffer;
     if (!strcmp(funcName, "vkEndCommandBuffer"))
-        return (PFN_vkVoidFunction) vkEndCommandBuffer;
+        return (PFN_vkVoidFunction)vkEndCommandBuffer;
     if (!strcmp(funcName, "vkResetCommandBuffer"))
-        return (PFN_vkVoidFunction) vkResetCommandBuffer;
+        return (PFN_vkVoidFunction)vkResetCommandBuffer;
     if (!strcmp(funcName, "vkCmdBindPipeline"))
-        return (PFN_vkVoidFunction) vkCmdBindPipeline;
+        return (PFN_vkVoidFunction)vkCmdBindPipeline;
     if (!strcmp(funcName, "vkCmdBindDescriptorSets"))
-        return (PFN_vkVoidFunction) vkCmdBindDescriptorSets;
+        return (PFN_vkVoidFunction)vkCmdBindDescriptorSets;
     if (!strcmp(funcName, "vkCmdBindVertexBuffers"))
-        return (PFN_vkVoidFunction) vkCmdBindVertexBuffers;
+        return (PFN_vkVoidFunction)vkCmdBindVertexBuffers;
     if (!strcmp(funcName, "vkCmdBindIndexBuffer"))
-        return (PFN_vkVoidFunction) vkCmdBindIndexBuffer;
+        return (PFN_vkVoidFunction)vkCmdBindIndexBuffer;
     if (!strcmp(funcName, "vkCmdSetViewport"))
-        return (PFN_vkVoidFunction) vkCmdSetViewport;
+        return (PFN_vkVoidFunction)vkCmdSetViewport;
     if (!strcmp(funcName, "vkCmdSetScissor"))
-        return (PFN_vkVoidFunction) vkCmdSetScissor;
+        return (PFN_vkVoidFunction)vkCmdSetScissor;
     if (!strcmp(funcName, "vkCmdSetLineWidth"))
-        return (PFN_vkVoidFunction) vkCmdSetLineWidth;
+        return (PFN_vkVoidFunction)vkCmdSetLineWidth;
     if (!strcmp(funcName, "vkCmdSetDepthBias"))
-        return (PFN_vkVoidFunction) vkCmdSetDepthBias;
+        return (PFN_vkVoidFunction)vkCmdSetDepthBias;
     if (!strcmp(funcName, "vkCmdSetBlendConstants"))
-        return (PFN_vkVoidFunction) vkCmdSetBlendConstants;
+        return (PFN_vkVoidFunction)vkCmdSetBlendConstants;
     if (!strcmp(funcName, "vkCmdSetDepthBounds"))
-        return (PFN_vkVoidFunction) vkCmdSetDepthBounds;
+        return (PFN_vkVoidFunction)vkCmdSetDepthBounds;
     if (!strcmp(funcName, "vkCmdSetStencilCompareMask"))
-        return (PFN_vkVoidFunction) vkCmdSetStencilCompareMask;
+        return (PFN_vkVoidFunction)vkCmdSetStencilCompareMask;
     if (!strcmp(funcName, "vkCmdSetStencilWriteMask"))
-        return (PFN_vkVoidFunction) vkCmdSetStencilWriteMask;
+        return (PFN_vkVoidFunction)vkCmdSetStencilWriteMask;
     if (!strcmp(funcName, "vkCmdSetStencilReference"))
-        return (PFN_vkVoidFunction) vkCmdSetStencilReference;
+        return (PFN_vkVoidFunction)vkCmdSetStencilReference;
     if (!strcmp(funcName, "vkCmdDraw"))
-        return (PFN_vkVoidFunction) vkCmdDraw;
+        return (PFN_vkVoidFunction)vkCmdDraw;
     if (!strcmp(funcName, "vkCmdDrawIndexed"))
-        return (PFN_vkVoidFunction) vkCmdDrawIndexed;
+        return (PFN_vkVoidFunction)vkCmdDrawIndexed;
     if (!strcmp(funcName, "vkCmdDrawIndirect"))
-        return (PFN_vkVoidFunction) vkCmdDrawIndirect;
+        return (PFN_vkVoidFunction)vkCmdDrawIndirect;
     if (!strcmp(funcName, "vkCmdDrawIndexedIndirect"))
-        return (PFN_vkVoidFunction) vkCmdDrawIndexedIndirect;
+        return (PFN_vkVoidFunction)vkCmdDrawIndexedIndirect;
     if (!strcmp(funcName, "vkCmdDispatch"))
-        return (PFN_vkVoidFunction) vkCmdDispatch;
+        return (PFN_vkVoidFunction)vkCmdDispatch;
     if (!strcmp(funcName, "vkCmdDispatchIndirect"))
-        return (PFN_vkVoidFunction) vkCmdDispatchIndirect;
+        return (PFN_vkVoidFunction)vkCmdDispatchIndirect;
     if (!strcmp(funcName, "vkCmdCopyBuffer"))
-        return (PFN_vkVoidFunction) vkCmdCopyBuffer;
+        return (PFN_vkVoidFunction)vkCmdCopyBuffer;
     if (!strcmp(funcName, "vkCmdCopyImage"))
-        return (PFN_vkVoidFunction) vkCmdCopyImage;
+        return (PFN_vkVoidFunction)vkCmdCopyImage;
     if (!strcmp(funcName, "vkCmdBlitImage"))
-        return (PFN_vkVoidFunction) vkCmdBlitImage;
+        return (PFN_vkVoidFunction)vkCmdBlitImage;
     if (!strcmp(funcName, "vkCmdCopyBufferToImage"))
-        return (PFN_vkVoidFunction) vkCmdCopyBufferToImage;
+        return (PFN_vkVoidFunction)vkCmdCopyBufferToImage;
     if (!strcmp(funcName, "vkCmdCopyImageToBuffer"))
-        return (PFN_vkVoidFunction) vkCmdCopyImageToBuffer;
+        return (PFN_vkVoidFunction)vkCmdCopyImageToBuffer;
     if (!strcmp(funcName, "vkCmdUpdateBuffer"))
-        return (PFN_vkVoidFunction) vkCmdUpdateBuffer;
+        return (PFN_vkVoidFunction)vkCmdUpdateBuffer;
     if (!strcmp(funcName, "vkCmdFillBuffer"))
-        return (PFN_vkVoidFunction) vkCmdFillBuffer;
+        return (PFN_vkVoidFunction)vkCmdFillBuffer;
     if (!strcmp(funcName, "vkCmdClearColorImage"))
-        return (PFN_vkVoidFunction) vkCmdClearColorImage;
+        return (PFN_vkVoidFunction)vkCmdClearColorImage;
     if (!strcmp(funcName, "vkCmdClearDepthStencilImage"))
-        return (PFN_vkVoidFunction) vkCmdClearDepthStencilImage;
+        return (PFN_vkVoidFunction)vkCmdClearDepthStencilImage;
     if (!strcmp(funcName, "vkCmdClearAttachments"))
-        return (PFN_vkVoidFunction) vkCmdClearAttachments;
+        return (PFN_vkVoidFunction)vkCmdClearAttachments;
     if (!strcmp(funcName, "vkCmdResolveImage"))
-        return (PFN_vkVoidFunction) vkCmdResolveImage;
+        return (PFN_vkVoidFunction)vkCmdResolveImage;
     if (!strcmp(funcName, "vkCmdSetEvent"))
-        return (PFN_vkVoidFunction) vkCmdSetEvent;
+        return (PFN_vkVoidFunction)vkCmdSetEvent;
     if (!strcmp(funcName, "vkCmdResetEvent"))
-        return (PFN_vkVoidFunction) vkCmdResetEvent;
+        return (PFN_vkVoidFunction)vkCmdResetEvent;
     if (!strcmp(funcName, "vkCmdWaitEvents"))
-        return (PFN_vkVoidFunction) vkCmdWaitEvents;
+        return (PFN_vkVoidFunction)vkCmdWaitEvents;
     if (!strcmp(funcName, "vkCmdPipelineBarrier"))
-        return (PFN_vkVoidFunction) vkCmdPipelineBarrier;
+        return (PFN_vkVoidFunction)vkCmdPipelineBarrier;
     if (!strcmp(funcName, "vkCmdBeginQuery"))
-        return (PFN_vkVoidFunction) vkCmdBeginQuery;
+        return (PFN_vkVoidFunction)vkCmdBeginQuery;
     if (!strcmp(funcName, "vkCmdEndQuery"))
-        return (PFN_vkVoidFunction) vkCmdEndQuery;
+        return (PFN_vkVoidFunction)vkCmdEndQuery;
     if (!strcmp(funcName, "vkCmdResetQueryPool"))
-        return (PFN_vkVoidFunction) vkCmdResetQueryPool;
+        return (PFN_vkVoidFunction)vkCmdResetQueryPool;
     if (!strcmp(funcName, "vkCmdWriteTimestamp"))
-        return (PFN_vkVoidFunction) vkCmdWriteTimestamp;
+        return (PFN_vkVoidFunction)vkCmdWriteTimestamp;
     if (!strcmp(funcName, "vkCmdCopyQueryPoolResults"))
-        return (PFN_vkVoidFunction) vkCmdCopyQueryPoolResults;
+        return (PFN_vkVoidFunction)vkCmdCopyQueryPoolResults;
     if (!strcmp(funcName, "vkCmdPushConstants"))
-        return (PFN_vkVoidFunction) vkCmdPushConstants;
+        return (PFN_vkVoidFunction)vkCmdPushConstants;
     if (!strcmp(funcName, "vkCmdBeginRenderPass"))
-        return (PFN_vkVoidFunction) vkCmdBeginRenderPass;
+        return (PFN_vkVoidFunction)vkCmdBeginRenderPass;
     if (!strcmp(funcName, "vkCmdNextSubpass"))
-        return (PFN_vkVoidFunction) vkCmdNextSubpass;
+        return (PFN_vkVoidFunction)vkCmdNextSubpass;
     if (!strcmp(funcName, "vkCmdEndRenderPass"))
-        return (PFN_vkVoidFunction) vkCmdEndRenderPass;
+        return (PFN_vkVoidFunction)vkCmdEndRenderPass;
     if (!strcmp(funcName, "vkCmdExecuteCommands"))
-        return (PFN_vkVoidFunction) vkCmdExecuteCommands;
+        return (PFN_vkVoidFunction)vkCmdExecuteCommands;
 
     // Instance extensions
     void *addr;
@@ -314,18 +319,17 @@ static inline void* trampolineGetProcAddr(struct loader_instance *inst,
     return addr;
 }
 
-static inline void* globalGetProcAddr(const char *name)
-{
+static inline void *globalGetProcAddr(const char *name) {
     if (!name || name[0] != 'v' || name[1] != 'k')
         return NULL;
 
     name += 2;
     if (!strcmp(name, "CreateInstance"))
-        return (void*) vkCreateInstance;
+        return (void *)vkCreateInstance;
     if (!strcmp(name, "EnumerateInstanceExtensionProperties"))
-        return (void*) vkEnumerateInstanceExtensionProperties;
+        return (void *)vkEnumerateInstanceExtensionProperties;
     if (!strcmp(name, "EnumerateInstanceLayerProperties"))
-        return (void*) vkEnumerateInstanceLayerProperties;
+        return (void *)vkEnumerateInstanceLayerProperties;
 
     return NULL;
 }
@@ -334,48 +338,46 @@ static inline void* globalGetProcAddr(const char *name)
 *  They are not just generic trampoline code entrypoints.
 *  Thus GPA must return loader entrypoint for these instead of first function
 *  in the chain. */
-static inline void *loader_non_passthrough_gipa(const char *name)
-{
+static inline void *loader_non_passthrough_gipa(const char *name) {
     if (!name || name[0] != 'v' || name[1] != 'k')
         return NULL;
 
     name += 2;
     if (!strcmp(name, "CreateInstance"))
-        return (void*) vkCreateInstance;
+        return (void *)vkCreateInstance;
     if (!strcmp(name, "DestroyInstance"))
-        return (void*) vkDestroyInstance;
+        return (void *)vkDestroyInstance;
     if (!strcmp(name, "GetDeviceProcAddr"))
-        return (void*) vkGetDeviceProcAddr;
-     // remove once no longer locks
+        return (void *)vkGetDeviceProcAddr;
+    // remove once no longer locks
     if (!strcmp(name, "EnumeratePhysicalDevices"))
-        return (void*) vkEnumeratePhysicalDevices;
+        return (void *)vkEnumeratePhysicalDevices;
     if (!strcmp(name, "EnumerateDeviceExtensionProperties"))
-        return (void*) vkEnumerateDeviceExtensionProperties;
+        return (void *)vkEnumerateDeviceExtensionProperties;
     if (!strcmp(name, "EnumerateDeviceLayerProperties"))
-        return (void*) vkEnumerateDeviceLayerProperties;
+        return (void *)vkEnumerateDeviceLayerProperties;
     if (!strcmp(name, "GetInstanceProcAddr"))
-        return (void*) vkGetInstanceProcAddr;
+        return (void *)vkGetInstanceProcAddr;
     if (!strcmp(name, "CreateDevice"))
-        return (void*) vkCreateDevice;
+        return (void *)vkCreateDevice;
 
     return NULL;
 }
 
-static inline void *loader_non_passthrough_gdpa(const char *name)
-{
+static inline void *loader_non_passthrough_gdpa(const char *name) {
     if (!name || name[0] != 'v' || name[1] != 'k')
         return NULL;
 
     name += 2;
 
     if (!strcmp(name, "GetDeviceProcAddr"))
-        return (void*) vkGetDeviceProcAddr;
+        return (void *)vkGetDeviceProcAddr;
     if (!strcmp(name, "DestroyDevice"))
-        return (void*) vkDestroyDevice;
+        return (void *)vkDestroyDevice;
     if (!strcmp(name, "GetDeviceQueue"))
-        return (void*) vkGetDeviceQueue;
+        return (void *)vkGetDeviceQueue;
     if (!strcmp(name, "AllocateCommandBuffers"))
-        return (void*) vkAllocateCommandBuffers;
+        return (void *)vkAllocateCommandBuffers;
 
     return NULL;
 }
index 1b8fe21..c7c6472 100644 (file)
@@ -1,30 +1,35 @@
 /*
  *
- * Copyright (C) 2015 Valve Corporation
+ * Copyright (c) 2014-2016 The Khronos Group Inc.
+ * Copyright (c) 2014-2016 Valve Corporation
+ * Copyright (c) 2014-2016 LunarG, Inc.
  * Copyright (C) 2015 Google Inc.
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
- * Author: Chia-I Wu <olvaffe@gmail.com>
- * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
- * Author: Ian Elliott <ian@LunarG.com>
  * Author: Jon Ashburn <jon@lunarg.com>
+ * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
  *
  */
 
 #include "cJSON.h"
 #include "murmurhash.h"
 
-static loader_platform_dl_handle loader_add_layer_lib(
-        const struct loader_instance *inst,
-        const char *chain_type,
-        struct loader_layer_properties *layer_prop);
+static loader_platform_dl_handle
+loader_add_layer_lib(const struct loader_instance *inst, const char *chain_type,
+                     struct loader_layer_properties *layer_prop);
 
-static void loader_remove_layer_lib(
-        struct loader_instance *inst,
-        struct loader_layer_properties *layer_prop);
+static void loader_remove_layer_lib(struct loader_instance *inst,
+                                    struct loader_layer_properties *layer_prop);
 
 struct loader_struct loader = {0};
 // TLS for instance for alloc/free callbacks
 THREAD_LOCAL_DECL struct loader_instance *tls_instance;
 
-static bool loader_init_generic_list(
-        const struct loader_instance *inst,
-        struct loader_generic_list *list_info,
-        size_t element_size);
+static bool loader_init_generic_list(const struct loader_instance *inst,
+                                     struct loader_generic_list *list_info,
+                                     size_t element_size);
 
 static size_t loader_platform_combine_path(char *dest, size_t len, ...);
 
@@ -77,17 +79,17 @@ struct loader_phys_dev_per_icd {
 };
 
 enum loader_debug {
-    LOADER_INFO_BIT       = 0x01,
-    LOADER_WARN_BIT       = 0x02,
-    LOADER_PERF_BIT       = 0x04,
-    LOADER_ERROR_BIT      = 0x08,
-    LOADER_DEBUG_BIT      = 0x10,
+    LOADER_INFO_BIT = 0x01,
+    LOADER_WARN_BIT = 0x02,
+    LOADER_PERF_BIT = 0x04,
+    LOADER_ERROR_BIT = 0x08,
+    LOADER_DEBUG_BIT = 0x10,
 };
 
 uint32_t g_loader_debug = 0;
 uint32_t g_loader_log_msgs = 0;
 
-//thread safety lock for accessing global data structures such as "loader"
+// thread safety lock for accessing global data structures such as "loader"
 // all entrypoints on the instance chain need to be locked except GPA
 // additionally CreateDevice and DestroyDevice needs to be locked
 loader_platform_thread_mutex loader_lock;
@@ -101,41 +103,56 @@ const VkLayerInstanceDispatchTable instance_disp = {
     .DestroyInstance = loader_DestroyInstance,
     .EnumeratePhysicalDevices = loader_EnumeratePhysicalDevices,
     .GetPhysicalDeviceFeatures = loader_GetPhysicalDeviceFeatures,
-    .GetPhysicalDeviceFormatProperties = loader_GetPhysicalDeviceFormatProperties,
-    .GetPhysicalDeviceImageFormatProperties = loader_GetPhysicalDeviceImageFormatProperties,
+    .GetPhysicalDeviceFormatProperties =
+        loader_GetPhysicalDeviceFormatProperties,
+    .GetPhysicalDeviceImageFormatProperties =
+        loader_GetPhysicalDeviceImageFormatProperties,
     .GetPhysicalDeviceProperties = loader_GetPhysicalDeviceProperties,
-    .GetPhysicalDeviceQueueFamilyProperties = loader_GetPhysicalDeviceQueueFamilyProperties,
-    .GetPhysicalDeviceMemoryProperties = loader_GetPhysicalDeviceMemoryProperties,
-    .EnumerateDeviceExtensionProperties = loader_EnumerateDeviceExtensionProperties,
+    .GetPhysicalDeviceQueueFamilyProperties =
+        loader_GetPhysicalDeviceQueueFamilyProperties,
+    .GetPhysicalDeviceMemoryProperties =
+        loader_GetPhysicalDeviceMemoryProperties,
+    .EnumerateDeviceExtensionProperties =
+        loader_EnumerateDeviceExtensionProperties,
     .EnumerateDeviceLayerProperties = loader_EnumerateDeviceLayerProperties,
-    .GetPhysicalDeviceSparseImageFormatProperties = loader_GetPhysicalDeviceSparseImageFormatProperties,
+    .GetPhysicalDeviceSparseImageFormatProperties =
+        loader_GetPhysicalDeviceSparseImageFormatProperties,
     .DestroySurfaceKHR = loader_DestroySurfaceKHR,
-    .GetPhysicalDeviceSurfaceSupportKHR = loader_GetPhysicalDeviceSurfaceSupportKHR,
-    .GetPhysicalDeviceSurfaceCapabilitiesKHR = loader_GetPhysicalDeviceSurfaceCapabilitiesKHR,
-    .GetPhysicalDeviceSurfaceFormatsKHR = loader_GetPhysicalDeviceSurfaceFormatsKHR,
-    .GetPhysicalDeviceSurfacePresentModesKHR = loader_GetPhysicalDeviceSurfacePresentModesKHR,
+    .GetPhysicalDeviceSurfaceSupportKHR =
+        loader_GetPhysicalDeviceSurfaceSupportKHR,
+    .GetPhysicalDeviceSurfaceCapabilitiesKHR =
+        loader_GetPhysicalDeviceSurfaceCapabilitiesKHR,
+    .GetPhysicalDeviceSurfaceFormatsKHR =
+        loader_GetPhysicalDeviceSurfaceFormatsKHR,
+    .GetPhysicalDeviceSurfacePresentModesKHR =
+        loader_GetPhysicalDeviceSurfacePresentModesKHR,
     .CreateDebugReportCallbackEXT = loader_CreateDebugReportCallback,
     .DestroyDebugReportCallbackEXT = loader_DestroyDebugReportCallback,
     .DebugReportMessageEXT = loader_DebugReportMessage,
 #ifdef VK_USE_PLATFORM_MIR_KHR
     .CreateMirSurfaceKHR = loader_CreateMirSurfaceKHR,
-    .GetPhysicalDeviceMirPresentationSupportKHR = loader_GetPhysicalDeviceMirPresentationSupportKHR,
+    .GetPhysicalDeviceMirPresentationSupportKHR =
+        loader_GetPhysicalDeviceMirPresentationSupportKHR,
 #endif
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
     .CreateWaylandSurfaceKHR = loader_CreateWaylandSurfaceKHR,
-    .GetPhysicalDeviceWaylandPresentationSupportKHR = loader_GetPhysicalDeviceWaylandPresentationSupportKHR,
+    .GetPhysicalDeviceWaylandPresentationSupportKHR =
+        loader_GetPhysicalDeviceWaylandPresentationSupportKHR,
 #endif
 #ifdef VK_USE_PLATFORM_WIN32_KHR
     .CreateWin32SurfaceKHR = loader_CreateWin32SurfaceKHR,
-    .GetPhysicalDeviceWin32PresentationSupportKHR = loader_GetPhysicalDeviceWin32PresentationSupportKHR,
+    .GetPhysicalDeviceWin32PresentationSupportKHR =
+        loader_GetPhysicalDeviceWin32PresentationSupportKHR,
 #endif
 #ifdef VK_USE_PLATFORM_XCB_KHR
     .CreateXcbSurfaceKHR = loader_CreateXcbSurfaceKHR,
-    .GetPhysicalDeviceXcbPresentationSupportKHR = loader_GetPhysicalDeviceXcbPresentationSupportKHR,
+    .GetPhysicalDeviceXcbPresentationSupportKHR =
+        loader_GetPhysicalDeviceXcbPresentationSupportKHR,
 #endif
 #ifdef VK_USE_PLATFORM_XLIB_KHR
     .CreateXlibSurfaceKHR = loader_CreateXlibSurfaceKHR,
-    .GetPhysicalDeviceXlibPresentationSupportKHR = loader_GetPhysicalDeviceXlibPresentationSupportKHR,
+    .GetPhysicalDeviceXlibPresentationSupportKHR =
+        loader_GetPhysicalDeviceXlibPresentationSupportKHR,
 #endif
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
     .CreateAndroidSurfaceKHR = loader_CreateAndroidSurfaceKHR,
@@ -144,86 +161,83 @@ const VkLayerInstanceDispatchTable instance_disp = {
 
 LOADER_PLATFORM_THREAD_ONCE_DECLARATION(once_init);
 
-void* loader_heap_alloc(
-    const struct loader_instance     *instance,
-    size_t                            size,
-    VkSystemAllocationScope           alloc_scope)
-{
+void *loader_heap_alloc(const struct loader_instance *instance, size_t size,
+                        VkSystemAllocationScope alloc_scope) {
     if (instance && instance->alloc_callbacks.pfnAllocation) {
         /* TODO: What should default alignment be? 1, 4, 8, other? */
-        return instance->alloc_callbacks.pfnAllocation(instance->alloc_callbacks.pUserData, size, sizeof(int), alloc_scope);
+        return instance->alloc_callbacks.pfnAllocation(
+            instance->alloc_callbacks.pUserData, size, sizeof(int),
+            alloc_scope);
     }
     return malloc(size);
 }
 
-void loader_heap_free(
-    const struct loader_instance   *instance,
-    void                           *pMemory)
-{
-    if (pMemory == NULL) return;
+void loader_heap_free(const struct loader_instance *instance, void *pMemory) {
+    if (pMemory == NULL)
+        return;
     if (instance && instance->alloc_callbacks.pfnFree) {
-        instance->alloc_callbacks.pfnFree(instance->alloc_callbacks.pUserData, pMemory);
+        instance->alloc_callbacks.pfnFree(instance->alloc_callbacks.pUserData,
+                                          pMemory);
         return;
     }
     free(pMemory);
 }
 
-void* loader_heap_realloc(
-    const struct loader_instance *instance,
-    void                       *pMemory,
-    size_t                      orig_size,
-    size_t                      size,
-    VkSystemAllocationScope          alloc_scope)
-{
-    if (pMemory == NULL  || orig_size == 0)
+void *loader_heap_realloc(const struct loader_instance *instance, void *pMemory,
+                          size_t orig_size, size_t size,
+                          VkSystemAllocationScope alloc_scope) {
+    if (pMemory == NULL || orig_size == 0)
         return loader_heap_alloc(instance, size, alloc_scope);
     if (size == 0) {
         loader_heap_free(instance, pMemory);
         return NULL;
     }
-    //TODO use the callback realloc function
+    // TODO use the callback realloc function
     if (instance && instance->alloc_callbacks.pfnAllocation) {
         if (size <= orig_size) {
-            memset(((uint8_t *)pMemory) + size,  0, orig_size - size);
+            memset(((uint8_t *)pMemory) + size, 0, orig_size - size);
             return pMemory;
         }
         /* TODO: What should default alignment be? 1, 4, 8, other? */
-        void *new_ptr = instance->alloc_callbacks.pfnAllocation(instance->alloc_callbacks.pUserData, size, sizeof(int), alloc_scope);
+        void *new_ptr = instance->alloc_callbacks.pfnAllocation(
+            instance->alloc_callbacks.pUserData, size, sizeof(int),
+            alloc_scope);
         if (!new_ptr)
             return NULL;
         memcpy(new_ptr, pMemory, orig_size);
-        instance->alloc_callbacks.pfnFree(instance->alloc_callbacks.pUserData, pMemory);
+        instance->alloc_callbacks.pfnFree(instance->alloc_callbacks.pUserData,
+                                          pMemory);
         return new_ptr;
     }
     return realloc(pMemory, size);
 }
 
-void *loader_tls_heap_alloc(size_t size)
-{
-    return loader_heap_alloc(tls_instance, size, VK_SYSTEM_ALLOCATION_SCOPE_COMMAND);
+void *loader_tls_heap_alloc(size_t size) {
+    return loader_heap_alloc(tls_instance, size,
+                             VK_SYSTEM_ALLOCATION_SCOPE_COMMAND);
 }
 
-void loader_tls_heap_free(void *pMemory)
-{
+void loader_tls_heap_free(void *pMemory) {
     loader_heap_free(tls_instance, pMemory);
 }
 
-static void loader_log(const struct loader_instance *inst, VkFlags msg_type, int32_t msg_code,
-    const char *format, ...)
-{
+static void loader_log(const struct loader_instance *inst, VkFlags msg_type,
+                       int32_t msg_code, const char *format, ...) {
     char msg[512];
     va_list ap;
     int ret;
 
     va_start(ap, format);
     ret = vsnprintf(msg, sizeof(msg), format, ap);
-    if ((ret >= (int) sizeof(msg)) || ret < 0) {
-        msg[sizeof(msg)-1] = '\0';
+    if ((ret >= (int)sizeof(msg)) || ret < 0) {
+        msg[sizeof(msg) - 1] = '\0';
     }
     va_end(ap);
 
     if (inst) {
-        util_DebugReportMessage(inst, msg_type, VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT, (uint64_t) inst, 0, msg_code, "loader", msg);
+        util_DebugReportMessage(inst, msg_type,
+                                VK_DEBUG_REPORT_OBJECT_TYPE_INSTANCE_EXT,
+                                (uint64_t)inst, 0, msg_code, "loader", msg);
     }
 
     if (!(msg_type & g_loader_log_msgs)) {
@@ -243,8 +257,10 @@ static char *loader_get_next_path(char *path);
 /**
 * Find the list of registry files (names within a key) in key "location".
 *
-* This function looks in the registry (hive = DEFAULT_VK_REGISTRY_HIVE) key as given in "location"
-* for a list or name/values which are added to a returned list (function return value).
+* This function looks in the registry (hive = DEFAULT_VK_REGISTRY_HIVE) key as
+*given in "location"
+* for a list or name/values which are added to a returned list (function return
+*value).
 * The DWORD values within the key must be 0 or they are skipped.
 * Function return is a string with a ';'  separated list of filenames.
 * Function return is NULL if no valid name/value pairs  are found in the key,
@@ -254,8 +270,8 @@ static char *loader_get_next_path(char *path);
 * A string list of filenames as pointer.
 * When done using the returned string list, pointer should be freed.
 */
-static char *loader_get_registry_files(const struct loader_instance *inst, char *location)
-{
+static char *loader_get_registry_files(const struct loader_instance *inst,
+                                       char *location) {
     LONG rtn_value;
     HKEY hive, key;
     DWORD access_flags;
@@ -269,8 +285,7 @@ static char *loader_get_registry_files(const struct loader_instance *inst, char
     DWORD total_size = 4096;
     DWORD value_size = sizeof(value);
 
-    while(*loc)
-    {
+    while (*loc) {
         next = loader_get_next_path(loc);
         hive = DEFAULT_VK_REGISTRY_HIVE;
         access_flags = KEY_QUERY_VALUE;
@@ -281,24 +296,31 @@ static char *loader_get_registry_files(const struct loader_instance *inst, char
             continue;
         }
 
-        while ((rtn_value = RegEnumValue(key, idx++, name, &name_size, NULL, NULL, (LPBYTE) &value, &value_size)) == ERROR_SUCCESS) {
+        while ((rtn_value = RegEnumValue(key, idx++, name, &name_size, NULL,
+                                         NULL, (LPBYTE)&value, &value_size)) ==
+               ERROR_SUCCESS) {
             if (value_size == sizeof(value) && value == 0) {
                 if (out == NULL) {
-                    out = loader_heap_alloc(inst, total_size, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+                    out = loader_heap_alloc(
+                        inst, total_size, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
                     out[0] = '\0';
-                }
-                else if (strlen(out) + name_size + 1 > total_size) {
-                    out = loader_heap_realloc(inst, out, total_size, total_size * 2, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+                } else if (strlen(out) + name_size + 1 > total_size) {
+                    out = loader_heap_realloc(
+                        inst, out, total_size, total_size * 2,
+                        VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
                     total_size *= 2;
                 }
                 if (out == NULL) {
-                    loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Out of memory, failed loader_get_registry_files");
+                    loader_log(
+                        inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                        "Out of memory, failed loader_get_registry_files");
                     return NULL;
                 }
                 if (strlen(out) == 0)
-                     snprintf(out, name_size + 1, "%s", name);
+                    snprintf(out, name_size + 1, "%s", name);
                 else
-                     snprintf(out + strlen(out), name_size + 2, "%c%s", PATH_SEPERATOR, name);
+                    snprintf(out + strlen(out), name_size + 2, "%c%s",
+                             PATH_SEPERATOR, name);
             }
             name_size = 2048;
         }
@@ -324,15 +346,14 @@ static char *loader_get_registry_files(const struct loader_instance *inst, char
  * to determine the required string length without actually writing a string.
  */
 
-static size_t loader_platform_combine_path(char *dest, size_t len, ...)
-{
+static size_t loader_platform_combine_path(char *dest, size_t len, ...) {
     size_t required_len = 0;
     va_list ap;
     const char *component;
 
     va_start(ap, len);
 
-    while((component = va_arg(ap, const char *))) {
+    while ((component = va_arg(ap, const char *))) {
         if (required_len > 0) {
             // This path element is not the first non-empty element; prepend
             // a directory separator if space allows
@@ -359,15 +380,13 @@ static size_t loader_platform_combine_path(char *dest, size_t len, ...)
     return required_len;
 }
 
-
 /**
  * Given string of three part form "maj.min.pat" convert to a vulkan version
  * number.
  */
-static uint32_t loader_make_version(const char *vers_str)
-{
-    uint32_t vers = 0, major=0, minor=0, patch=0;
-    char *minor_str= NULL;
+static uint32_t loader_make_version(const char *vers_str) {
+    uint32_t vers = 0, major = 0, minor = 0, patch = 0;
+    char *minor_str = NULL;
     char *patch_str = NULL;
     char *cstr;
     char *str;
@@ -381,13 +400,11 @@ static uint32_t loader_make_version(const char *vers_str)
             minor_str = str + 1;
             *str = '\0';
             major = atoi(cstr);
-        }
-        else if (patch_str == NULL) {
+        } else if (patch_str == NULL) {
             patch_str = str + 1;
             *str = '\0';
             minor = atoi(minor_str);
-        }
-        else {
+        } else {
             return vers;
         }
         cstr = str + 1;
@@ -395,11 +412,10 @@ static uint32_t loader_make_version(const char *vers_str)
     patch = atoi(patch_str);
 
     return VK_MAKE_VERSION(major, minor, patch);
-
 }
 
-bool compare_vk_extension_properties(const VkExtensionProperties *op1, const VkExtensionProperties *op2)
-{
+bool compare_vk_extension_properties(const VkExtensionProperties *op1,
+                                     const VkExtensionProperties *op2) {
     return strcmp(op1->extensionName, op2->extensionName) == 0 ? true : false;
 }
 
@@ -407,11 +423,9 @@ bool compare_vk_extension_properties(const VkExtensionProperties *op1, const VkE
  * Search the given ext_array for an extension
  * matching the given vk_ext_prop
  */
-bool has_vk_extension_property_array(
-        const VkExtensionProperties *vk_ext_prop,
-        const uint32_t count,
-        const VkExtensionProperties *ext_array)
-{
+bool has_vk_extension_property_array(const VkExtensionProperties *vk_ext_prop,
+                                     const uint32_t count,
+                                     const VkExtensionProperties *ext_array) {
     for (uint32_t i = 0; i < count; i++) {
         if (compare_vk_extension_properties(vk_ext_prop, &ext_array[i]))
             return true;
@@ -423,10 +437,8 @@ bool has_vk_extension_property_array(
  * Search the given ext_list for an extension
  * matching the given vk_ext_prop
  */
-bool has_vk_extension_property(
-        const VkExtensionProperties *vk_ext_prop,
-        const struct loader_extension_list *ext_list)
-{
+bool has_vk_extension_property(const VkExtensionProperties *vk_ext_prop,
+                               const struct loader_extension_list *ext_list) {
     for (uint32_t i = 0; i < ext_list->count; i++) {
         if (compare_vk_extension_properties(&ext_list->list[i], vk_ext_prop))
             return true;
@@ -436,7 +448,7 @@ bool has_vk_extension_property(
 
 static inline bool loader_is_layer_type_device(const enum layer_type type) {
     if ((type & VK_LAYER_TYPE_DEVICE_EXPLICIT) ||
-                (type & VK_LAYER_TYPE_DEVICE_IMPLICIT))
+        (type & VK_LAYER_TYPE_DEVICE_IMPLICIT))
         return true;
     return false;
 }
@@ -444,10 +456,9 @@ static inline bool loader_is_layer_type_device(const enum layer_type type) {
 /*
  * Search the given layer list for a layer matching the given layer name
  */
-static struct loader_layer_properties *loader_get_layer_property(
-        const char *name,
-        const struct loader_layer_list *layer_list)
-{
+static struct loader_layer_properties *
+loader_get_layer_property(const char *name,
+                          const struct loader_layer_list *layer_list) {
     for (uint32_t i = 0; i < layer_list->count; i++) {
         const VkLayerProperties *item = &layer_list->list[i].info;
         if (strcmp(name, item->layerName) == 0)
@@ -459,32 +470,32 @@ static struct loader_layer_properties *loader_get_layer_property(
 /**
  * Get the next unused layer property in the list. Init the property to zero.
  */
-static struct loader_layer_properties *loader_get_next_layer_property(
-                                           const struct loader_instance *inst,
-                                           struct loader_layer_list *layer_list)
-{
+static struct loader_layer_properties *
+loader_get_next_layer_property(const struct loader_instance *inst,
+                               struct loader_layer_list *layer_list) {
     if (layer_list->capacity == 0) {
-        layer_list->list = loader_heap_alloc(inst,
-                                  sizeof(struct loader_layer_properties) * 64,
-                                  VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        layer_list->list =
+            loader_heap_alloc(inst, sizeof(struct loader_layer_properties) * 64,
+                              VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
         if (layer_list->list == NULL) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Out of memory can't add any layer properties to list");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Out of memory can't add any layer properties to list");
             return NULL;
         }
-        memset(layer_list->list, 0, sizeof(struct loader_layer_properties) * 64);
+        memset(layer_list->list, 0,
+               sizeof(struct loader_layer_properties) * 64);
         layer_list->capacity = sizeof(struct loader_layer_properties) * 64;
     }
 
     // ensure enough room to add an entry
-    if ((layer_list->count + 1) * sizeof (struct loader_layer_properties)
-            > layer_list->capacity) {
-        layer_list->list = loader_heap_realloc(inst, layer_list->list,
-                                            layer_list->capacity,
-                                            layer_list->capacity * 2,
-                                            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    if ((layer_list->count + 1) * sizeof(struct loader_layer_properties) >
+        layer_list->capacity) {
+        layer_list->list = loader_heap_realloc(
+            inst, layer_list->list, layer_list->capacity,
+            layer_list->capacity * 2, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
         if (layer_list->list == NULL) {
             loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
-                            "realloc failed for layer list");
+                       "realloc failed for layer list");
         }
         layer_list->capacity *= 2;
     }
@@ -496,27 +507,27 @@ static struct loader_layer_properties *loader_get_next_layer_property(
 /**
  * Remove all layer properties entrys from the list
  */
-void loader_delete_layer_properties(
-                        const struct loader_instance *inst,
-                        struct loader_layer_list *layer_list)
-{
+void loader_delete_layer_properties(const struct loader_instance *inst,
+                                    struct loader_layer_list *layer_list) {
     uint32_t i, j;
     struct loader_device_extension_list *dev_ext_list;
     if (!layer_list)
         return;
 
     for (i = 0; i < layer_list->count; i++) {
-        loader_destroy_generic_list(inst, (struct loader_generic_list *)
-                                   &layer_list->list[i].instance_extension_list);
+        loader_destroy_generic_list(
+            inst, (struct loader_generic_list *)&layer_list->list[i]
+                      .instance_extension_list);
         dev_ext_list = &layer_list->list[i].device_extension_list;
-        if (dev_ext_list->capacity > 0 && dev_ext_list->list->entrypoint_count > 0) {
-            for (j= 0; j < dev_ext_list->list->entrypoint_count; j++) {
+        if (dev_ext_list->capacity > 0 &&
+            dev_ext_list->list->entrypoint_count > 0) {
+            for (j = 0; j < dev_ext_list->list->entrypoint_count; j++) {
                 loader_heap_free(inst, dev_ext_list->list->entrypoints[j]);
             }
             loader_heap_free(inst, dev_ext_list->list->entrypoints);
         }
-        loader_destroy_generic_list(inst, (struct loader_generic_list *)
-                                   dev_ext_list);
+        loader_destroy_generic_list(inst,
+                                    (struct loader_generic_list *)dev_ext_list);
     }
     layer_list->count = 0;
 
@@ -524,15 +535,12 @@ void loader_delete_layer_properties(
         layer_list->capacity = 0;
         loader_heap_free(inst, layer_list->list);
     }
-
 }
 
 static void loader_add_instance_extensions(
-        const struct loader_instance *inst,
-        const PFN_vkEnumerateInstanceExtensionProperties fp_get_props,
-        const char *lib_name,
-        struct loader_extension_list *ext_list)
-{
+    const struct loader_instance *inst,
+    const PFN_vkEnumerateInstanceExtensionProperties fp_get_props,
+    const char *lib_name, struct loader_extension_list *ext_list) {
     uint32_t i, count = 0;
     VkExtensionProperties *ext_props;
     VkResult res;
@@ -544,7 +552,8 @@ static void loader_add_instance_extensions(
 
     res = fp_get_props(NULL, &count, NULL);
     if (res != VK_SUCCESS) {
-        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Error getting Instance extension count from %s", lib_name);
+        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                   "Error getting Instance extension count from %s", lib_name);
         return;
     }
 
@@ -557,7 +566,8 @@ static void loader_add_instance_extensions(
 
     res = fp_get_props(NULL, &count, ext_props);
     if (res != VK_SUCCESS) {
-        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Error getting Instance extensions from %s", lib_name);
+        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                   "Error getting Instance extensions from %s", lib_name);
         return;
     }
 
@@ -581,17 +591,15 @@ static void loader_add_instance_extensions(
  * Initialize ext_list with the physical device extensions.
  * The extension properties are passed as inputs in count and ext_props.
  */
-static VkResult loader_init_device_extensions(
-        const struct loader_instance *inst,
-        struct loader_physical_device *phys_dev,
-        uint32_t count,
-        VkExtensionProperties *ext_props,
-        struct loader_extension_list *ext_list)
-{
+static VkResult
+loader_init_device_extensions(const struct loader_instance *inst,
+                              struct loader_physical_device *phys_dev,
+                              uint32_t count, VkExtensionProperties *ext_props,
+                              struct loader_extension_list *ext_list) {
     VkResult res;
     uint32_t i;
 
-    if (!loader_init_generic_list(inst, (struct loader_generic_list *) ext_list,
+    if (!loader_init_generic_list(inst, (struct loader_generic_list *)ext_list,
                                   sizeof(VkExtensionProperties))) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
@@ -599,13 +607,14 @@ static VkResult loader_init_device_extensions(
     for (i = 0; i < count; i++) {
         char spec_version[64];
 
-        snprintf(spec_version, sizeof (spec_version), "%d.%d.%d",
-                VK_MAJOR(ext_props[i].specVersion),
-                VK_MINOR(ext_props[i].specVersion),
-                VK_PATCH(ext_props[i].specVersion));
+        snprintf(spec_version, sizeof(spec_version), "%d.%d.%d",
+                 VK_MAJOR(ext_props[i].specVersion),
+                 VK_MINOR(ext_props[i].specVersion),
+                 VK_PATCH(ext_props[i].specVersion));
         loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
-                "Device Extension: %s (%s) version %s",
-                ext_props[i].extensionName, phys_dev->this_icd->this_icd_lib->lib_name, spec_version);
+                   "Device Extension: %s (%s) version %s",
+                   ext_props[i].extensionName,
+                   phys_dev->this_icd->this_icd_lib->lib_name, spec_version);
         res = loader_add_to_ext_list(inst, ext_list, 1, &ext_props[i]);
         if (res != VK_SUCCESS)
             return res;
@@ -615,40 +624,42 @@ static VkResult loader_init_device_extensions(
 }
 
 static VkResult loader_add_device_extensions(
-        const struct loader_instance *inst,
-        struct loader_icd *icd,
-        VkPhysicalDevice physical_device,
-        const char *lib_name,
-        struct loader_extension_list *ext_list)
-{
+    const struct loader_instance *inst, struct loader_icd *icd,
+    VkPhysicalDevice physical_device, const char *lib_name,
+    struct loader_extension_list *ext_list) {
     uint32_t i, count;
     VkResult res;
     VkExtensionProperties *ext_props;
 
-    res = icd->EnumerateDeviceExtensionProperties(physical_device, NULL, &count, NULL);
+    res = icd->EnumerateDeviceExtensionProperties(physical_device, NULL, &count,
+                                                  NULL);
     if (res == VK_SUCCESS && count > 0) {
-        ext_props = loader_stack_alloc(count * sizeof (VkExtensionProperties));
+        ext_props = loader_stack_alloc(count * sizeof(VkExtensionProperties));
         if (!ext_props)
             return VK_ERROR_OUT_OF_HOST_MEMORY;
-        res = icd->EnumerateDeviceExtensionProperties(physical_device, NULL, &count, ext_props);
+        res = icd->EnumerateDeviceExtensionProperties(physical_device, NULL,
+                                                      &count, ext_props);
         if (res != VK_SUCCESS)
             return res;
         for (i = 0; i < count; i++) {
             char spec_version[64];
 
-            snprintf(spec_version, sizeof (spec_version), "%d.%d.%d",
-                    VK_MAJOR(ext_props[i].specVersion),
-                    VK_MINOR(ext_props[i].specVersion),
-                    VK_PATCH(ext_props[i].specVersion));
+            snprintf(spec_version, sizeof(spec_version), "%d.%d.%d",
+                     VK_MAJOR(ext_props[i].specVersion),
+                     VK_MINOR(ext_props[i].specVersion),
+                     VK_PATCH(ext_props[i].specVersion));
             loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
-                    "Device Extension: %s (%s) version %s",
-                    ext_props[i].extensionName, lib_name, spec_version);
+                       "Device Extension: %s (%s) version %s",
+                       ext_props[i].extensionName, lib_name, spec_version);
             res = loader_add_to_ext_list(inst, ext_list, 1, &ext_props[i]);
             if (res != VK_SUCCESS)
                 return res;
         }
     } else {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Error getting physical device extension info count from library %s", lib_name);
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "Error getting physical device extension info count from "
+                   "library %s",
+                   lib_name);
         return res;
     }
 
@@ -657,10 +668,10 @@ static VkResult loader_add_device_extensions(
 
 static bool loader_init_generic_list(const struct loader_instance *inst,
                                      struct loader_generic_list *list_info,
-                                     size_t element_size)
-{
+                                     size_t element_size) {
     list_info->capacity = 32 * element_size;
-    list_info->list = loader_heap_alloc(inst, list_info->capacity, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    list_info->list = loader_heap_alloc(inst, list_info->capacity,
+                                        VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (list_info->list == NULL) {
         return false;
     }
@@ -670,8 +681,7 @@ static bool loader_init_generic_list(const struct loader_instance *inst,
 }
 
 void loader_destroy_generic_list(const struct loader_instance *inst,
-                                 struct loader_generic_list *list)
-{
+                                 struct loader_generic_list *list) {
     loader_heap_free(inst, list->list);
     list->count = 0;
     list->capacity = 0;
@@ -683,17 +693,15 @@ void loader_destroy_generic_list(const struct loader_instance *inst,
  * Return
  *  Vk_SUCCESS on success
  */
-VkResult loader_add_to_ext_list(
-        const struct loader_instance *inst,
-        struct loader_extension_list *ext_list,
-        uint32_t prop_list_count,
-        const VkExtensionProperties *props)
-{
+VkResult loader_add_to_ext_list(const struct loader_instance *inst,
+                                struct loader_extension_list *ext_list,
+                                uint32_t prop_list_count,
+                                const VkExtensionProperties *props) {
     uint32_t i;
     const VkExtensionProperties *cur_ext;
 
     if (ext_list->list == NULL || ext_list->capacity == 0) {
-        loader_init_generic_list(inst, (struct loader_generic_list *) ext_list,
+        loader_init_generic_list(inst, (struct loader_generic_list *)ext_list,
                                  sizeof(VkExtensionProperties));
     }
 
@@ -710,14 +718,12 @@ VkResult loader_add_to_ext_list(
 
         // add to list at end
         // check for enough capacity
-        if (ext_list->count * sizeof(VkExtensionProperties)
-                        >= ext_list->capacity) {
+        if (ext_list->count * sizeof(VkExtensionProperties) >=
+            ext_list->capacity) {
 
-            ext_list->list = loader_heap_realloc(inst,
-                                                 ext_list->list,
-                                                 ext_list->capacity,
-                                                 ext_list->capacity * 2,
-                                                 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+            ext_list->list = loader_heap_realloc(
+                inst, ext_list->list, ext_list->capacity,
+                ext_list->capacity * 2, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
 
             if (ext_list->list == NULL)
                 return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -726,7 +732,8 @@ VkResult loader_add_to_ext_list(
             ext_list->capacity *= 2;
         }
 
-        memcpy(&ext_list->list[ext_list->count], cur_ext, sizeof(VkExtensionProperties));
+        memcpy(&ext_list->list[ext_list->count], cur_ext,
+               sizeof(VkExtensionProperties));
         ext_list->count++;
     }
     return VK_SUCCESS;
@@ -738,33 +745,28 @@ VkResult loader_add_to_ext_list(
  * Return
  *  Vk_SUCCESS on success
  */
-VkResult loader_add_to_dev_ext_list(
-        const struct loader_instance *inst,
-        struct loader_device_extension_list *ext_list,
-        const VkExtensionProperties *props,
-        uint32_t entry_count,
-        char **entrys)
-{
+VkResult
+loader_add_to_dev_ext_list(const struct loader_instance *inst,
+                           struct loader_device_extension_list *ext_list,
+                           const VkExtensionProperties *props,
+                           uint32_t entry_count, char **entrys) {
     uint32_t idx;
     if (ext_list->list == NULL || ext_list->capacity == 0) {
-        loader_init_generic_list(inst, (struct loader_generic_list *) ext_list,
+        loader_init_generic_list(inst, (struct loader_generic_list *)ext_list,
                                  sizeof(struct loader_dev_ext_props));
     }
 
     if (ext_list->list == NULL)
         return VK_ERROR_OUT_OF_HOST_MEMORY;
 
-    idx =ext_list->count;
+    idx = ext_list->count;
     // add to list at end
     // check for enough capacity
-    if (idx * sizeof (struct loader_dev_ext_props)
-            >= ext_list->capacity) {
+    if (idx * sizeof(struct loader_dev_ext_props) >= ext_list->capacity) {
 
-        ext_list->list = loader_heap_realloc(inst,
-                ext_list->list,
-                ext_list->capacity,
-                ext_list->capacity * 2,
-                VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        ext_list->list = loader_heap_realloc(
+            inst, ext_list->list, ext_list->capacity, ext_list->capacity * 2,
+            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
 
         if (ext_list->list == NULL)
             return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -773,17 +775,17 @@ VkResult loader_add_to_dev_ext_list(
         ext_list->capacity *= 2;
     }
 
-    memcpy(&ext_list->list[idx].props, props, sizeof(struct loader_dev_ext_props));
+    memcpy(&ext_list->list[idx].props, props,
+           sizeof(struct loader_dev_ext_props));
     ext_list->list[idx].entrypoint_count = entry_count;
-    ext_list->list[idx].entrypoints = loader_heap_alloc(inst,
-                                        sizeof(char *) * entry_count,
-                                        VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    ext_list->list[idx].entrypoints =
+        loader_heap_alloc(inst, sizeof(char *) * entry_count,
+                          VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (ext_list->list[idx].entrypoints == NULL)
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     for (uint32_t i = 0; i < entry_count; i++) {
-        ext_list->list[idx].entrypoints[i] = loader_heap_alloc(inst,
-                                            strlen(entrys[i]) + 1,
-                                            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        ext_list->list[idx].entrypoints[i] = loader_heap_alloc(
+            inst, strlen(entrys[i]) + 1, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
         if (ext_list->list[idx].entrypoints[i] == NULL)
             return VK_ERROR_OUT_OF_HOST_MEMORY;
         strcpy(ext_list->list[idx].entrypoints[i], entrys[i]);
@@ -795,15 +797,14 @@ VkResult loader_add_to_dev_ext_list(
 
 /**
  * Search the given search_list for any layers in the props list.
- * Add these to the output layer_list.  Don't add duplicates to the output layer_list.
+ * Add these to the output layer_list.  Don't add duplicates to the output
+ * layer_list.
  */
-static VkResult loader_add_layer_names_to_list(
-        const struct loader_instance *inst,
-        struct loader_layer_list *output_list,
-        uint32_t name_count,
-        const char * const *names,
-        const struct loader_layer_list *search_list)
-{
+static VkResult
+loader_add_layer_names_to_list(const struct loader_instance *inst,
+                               struct loader_layer_list *output_list,
+                               uint32_t name_count, const char *const *names,
+                               const struct loader_layer_list *search_list) {
     struct loader_layer_properties *layer_prop;
     VkResult err = VK_SUCCESS;
 
@@ -811,7 +812,8 @@ static VkResult loader_add_layer_names_to_list(
         const char *search_target = names[i];
         layer_prop = loader_get_layer_property(search_target, search_list);
         if (!layer_prop) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Unable to find layer %s", search_target);
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Unable to find layer %s", search_target);
             err = VK_ERROR_LAYER_NOT_PRESENT;
             continue;
         }
@@ -822,15 +824,14 @@ static VkResult loader_add_layer_names_to_list(
     return err;
 }
 
-
 /*
  * Manage lists of VkLayerProperties
  */
 static bool loader_init_layer_list(const struct loader_instance *inst,
-                                   struct loader_layer_list *list)
-{
+                                   struct loader_layer_list *list) {
     list->capacity = 32 * sizeof(struct loader_layer_properties);
-    list->list = loader_heap_alloc(inst, list->capacity, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    list->list = loader_heap_alloc(inst, list->capacity,
+                                   VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (list->list == NULL) {
         return false;
     }
@@ -840,8 +841,7 @@ static bool loader_init_layer_list(const struct loader_instance *inst,
 }
 
 void loader_destroy_layer_list(const struct loader_instance *inst,
-                               struct loader_layer_list *layer_list)
-{
+                               struct loader_layer_list *layer_list) {
     loader_heap_free(inst, layer_list->list);
     layer_list->count = 0;
     layer_list->capacity = 0;
@@ -850,11 +850,12 @@ void loader_destroy_layer_list(const struct loader_instance *inst,
 /*
  * Manage list of layer libraries (loader_lib_info)
  */
-static bool loader_init_layer_library_list(const struct loader_instance *inst,
-                                           struct loader_layer_library_list *list)
-{
+static bool
+loader_init_layer_library_list(const struct loader_instance *inst,
+                               struct loader_layer_library_list *list) {
     list->capacity = 32 * sizeof(struct loader_lib_info);
-    list->list = loader_heap_alloc(inst, list->capacity, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    list->list = loader_heap_alloc(inst, list->capacity,
+                                   VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (list->list == NULL) {
         return false;
     }
@@ -864,8 +865,7 @@ static bool loader_init_layer_library_list(const struct loader_instance *inst,
 }
 
 void loader_destroy_layer_library_list(const struct loader_instance *inst,
-                                       struct loader_layer_library_list *list)
-{
+                                       struct loader_layer_library_list *list) {
     for (uint32_t i = 0; i < list->count; i++) {
         loader_heap_free(inst, list->list[i].lib_name);
     }
@@ -874,12 +874,10 @@ void loader_destroy_layer_library_list(const struct loader_instance *inst,
     list->capacity = 0;
 }
 
-void loader_add_to_layer_library_list(
-        const struct loader_instance *inst,
-        struct loader_layer_library_list *list,
-        uint32_t item_count,
-        const struct loader_lib_info *new_items)
-{
+void loader_add_to_layer_library_list(const struct loader_instance *inst,
+                                      struct loader_layer_library_list *list,
+                                      uint32_t item_count,
+                                      const struct loader_lib_info *new_items) {
     uint32_t i;
     struct loader_lib_info *item;
 
@@ -891,7 +889,7 @@ void loader_add_to_layer_library_list(
         return;
 
     for (i = 0; i < item_count; i++) {
-        item = (struct loader_lib_info *) &new_items[i];
+        item = (struct loader_lib_info *)&new_items[i];
 
         // look for duplicates
         for (uint32_t j = 0; j < list->count; j++) {
@@ -902,14 +900,11 @@ void loader_add_to_layer_library_list(
 
         // add to list at end
         // check for enough capacity
-        if (list->count * sizeof(struct loader_lib_info)
-                        >= list->capacity) {
-
-            list->list = loader_heap_realloc(inst,
-                                             list->list,
-                                             list->capacity,
-                                             list->capacity * 2,
-                                             VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        if (list->count * sizeof(struct loader_lib_info) >= list->capacity) {
+
+            list->list = loader_heap_realloc(
+                inst, list->list, list->capacity, list->capacity * 2,
+                VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
             // double capacity
             list->capacity *= 2;
         }
@@ -919,15 +914,12 @@ void loader_add_to_layer_library_list(
     }
 }
 
-
 /*
  * Search the given layer list for a list
  * matching the given VkLayerProperties
  */
-bool has_vk_layer_property(
-        const VkLayerProperties *vk_layer_prop,
-        const struct loader_layer_list *list)
-{
+bool has_vk_layer_property(const VkLayerProperties *vk_layer_prop,
+                           const struct loader_layer_list *list) {
     for (uint32_t i = 0; i < list->count; i++) {
         if (strcmp(vk_layer_prop->layerName, list->list[i].info.layerName) == 0)
             return true;
@@ -939,10 +931,7 @@ bool has_vk_layer_property(
  * Search the given layer list for a layer
  * matching the given name
  */
-bool has_layer_name(
-        const char *name,
-        const struct loader_layer_list *list)
-{
+bool has_layer_name(const char *name, const struct loader_layer_list *list) {
     for (uint32_t i = 0; i < list->count; i++) {
         if (strcmp(name, list->list[i].info.layerName) == 0)
             return true;
@@ -954,12 +943,10 @@ bool has_layer_name(
  * Append non-duplicate layer properties defined in prop_list
  * to the given layer_info list
  */
-void loader_add_to_layer_list(
-        const struct loader_instance *inst,
-        struct loader_layer_list *list,
-        uint32_t prop_list_count,
-        const struct loader_layer_properties *props)
-{
+void loader_add_to_layer_list(const struct loader_instance *inst,
+                              struct loader_layer_list *list,
+                              uint32_t prop_list_count,
+                              const struct loader_layer_properties *props) {
     uint32_t i;
     struct loader_layer_properties *layer;
 
@@ -971,7 +958,7 @@ void loader_add_to_layer_list(
         return;
 
     for (i = 0; i < prop_list_count; i++) {
-        layer = (struct loader_layer_properties *) &props[i];
+        layer = (struct loader_layer_properties *)&props[i];
 
         // look for duplicates
         if (has_vk_layer_property(&layer->info, list)) {
@@ -980,19 +967,18 @@ void loader_add_to_layer_list(
 
         // add to list at end
         // check for enough capacity
-        if (list->count * sizeof(struct loader_layer_properties)
-                        >= list->capacity) {
-
-            list->list = loader_heap_realloc(inst,
-                                             list->list,
-                                             list->capacity,
-                                             list->capacity * 2,
-                                             VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        if (list->count * sizeof(struct loader_layer_properties) >=
+            list->capacity) {
+
+            list->list = loader_heap_realloc(
+                inst, list->list, list->capacity, list->capacity * 2,
+                VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
             // double capacity
             list->capacity *= 2;
         }
 
-        memcpy(&list->list[list->count], layer, sizeof(struct loader_layer_properties));
+        memcpy(&list->list[list->count], layer,
+               sizeof(struct loader_layer_properties));
         list->count++;
     }
 }
@@ -1004,32 +990,30 @@ void loader_add_to_layer_list(
  * Do not add if found loader_layer_properties is already
  * on the found_list.
  */
-static void loader_find_layer_name_add_list(
-        const struct loader_instance *inst,
-        const char *name,
-        const enum layer_type type,
-        const struct loader_layer_list *search_list,
-        struct loader_layer_list *found_list)
-{
+static void
+loader_find_layer_name_add_list(const struct loader_instance *inst,
+                                const char *name, const enum layer_type type,
+                                const struct loader_layer_list *search_list,
+                                struct loader_layer_list *found_list) {
     bool found = false;
     for (uint32_t i = 0; i < search_list->count; i++) {
         struct loader_layer_properties *layer_prop = &search_list->list[i];
         if (0 == strcmp(layer_prop->info.layerName, name) &&
-                (layer_prop->type & type)) {
+            (layer_prop->type & type)) {
             /* Found a layer with the same name, add to found_list */
             loader_add_to_layer_list(inst, found_list, 1, layer_prop);
             found = true;
         }
     }
     if (!found) {
-        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Warning, couldn't find layer name %s to activate", name);
+        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                   "Warning, couldn't find layer name %s to activate", name);
     }
 }
 
-static VkExtensionProperties *get_extension_property(
-        const char *name,
-        const struct loader_extension_list *list)
-{
+static VkExtensionProperties *
+get_extension_property(const char *name,
+                       const struct loader_extension_list *list) {
     for (uint32_t i = 0; i < list->count; i++) {
         if (strcmp(name, list->list[i].extensionName) == 0)
             return &list->list[i];
@@ -1037,10 +1021,9 @@ static VkExtensionProperties *get_extension_property(
     return NULL;
 }
 
-static VkExtensionProperties *get_dev_extension_property(
-        const char *name,
-        const struct loader_device_extension_list *list)
-{
+static VkExtensionProperties *
+get_dev_extension_property(const char *name,
+                           const struct loader_device_extension_list *list) {
     for (uint32_t i = 0; i < list->count; i++) {
         if (strcmp(name, list->list[i].props.extensionName) == 0)
             return &list->list[i].props;
@@ -1054,13 +1037,14 @@ static VkExtensionProperties *get_dev_extension_property(
  * This is used to skip past the loader extensions prepended
  * to the list during CreateInstance and CreateDevice.
  */
-void *loader_strip_create_extensions(const void *pNext)
-{
-    VkLayerInstanceCreateInfo *create_info = (VkLayerInstanceCreateInfo *) pNext;
+void *loader_strip_create_extensions(const void *pNext) {
+    VkLayerInstanceCreateInfo *create_info = (VkLayerInstanceCreateInfo *)pNext;
 
-    while (create_info && (create_info->sType == VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO ||
-           create_info->sType == VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)) {
-        create_info = (VkLayerInstanceCreateInfo *) create_info->pNext;
+    while (
+        create_info &&
+        (create_info->sType == VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO ||
+         create_info->sType == VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO)) {
+        create_info = (VkLayerInstanceCreateInfo *)create_info->pNext;
     }
 
     return create_info;
@@ -1076,8 +1060,10 @@ void *loader_strip_create_extensions(const void *pNext)
  * the extension for the appropriate ICDs that are available.
  * There is no generic mechanism for including these functions, the references
  * must be placed into the appropriate loader entry points.
- * GetInstanceProcAddr: call extension GetInstanceProcAddr to check for GetProcAddr requests
- * loader_coalesce_extensions(void) - add extension records to the list of global
+ * GetInstanceProcAddr: call extension GetInstanceProcAddr to check for
+ * GetProcAddr requests
+ * loader_coalesce_extensions(void) - add extension records to the list of
+ * global
  * extension available to the app.
  * instance_disp - add function pointer for terminator function to this array.
  * The extension itself should be in a separate file that will be
@@ -1085,23 +1071,21 @@ void *loader_strip_create_extensions(const void *pNext)
  */
 
 void loader_get_icd_loader_instance_extensions(
-                                        const struct loader_instance *inst,
-                                        struct loader_icd_libs *icd_libs,
-                                        struct loader_extension_list *inst_exts)
-{
+    const struct loader_instance *inst, struct loader_icd_libs *icd_libs,
+    struct loader_extension_list *inst_exts) {
     struct loader_extension_list icd_exts;
-    loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0, "Build ICD instance extension list");
+    loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
+               "Build ICD instance extension list");
     // traverse scanned icd list adding non-duplicate extensions to the list
     for (uint32_t i = 0; i < icd_libs->count; i++) {
-        loader_init_generic_list(inst, (struct loader_generic_list *) &icd_exts,
+        loader_init_generic_list(inst, (struct loader_generic_list *)&icd_exts,
                                  sizeof(VkExtensionProperties));
-        loader_add_instance_extensions(inst, icd_libs->list[i].EnumerateInstanceExtensionProperties,
-                                     icd_libs->list[i].lib_name,
-                                     &icd_exts);
-        loader_add_to_ext_list(inst, inst_exts,
-                               icd_exts.count,
-                               icd_exts.list);
-        loader_destroy_generic_list(inst, (struct loader_generic_list *) &icd_exts);
+        loader_add_instance_extensions(
+            inst, icd_libs->list[i].EnumerateInstanceExtensionProperties,
+            icd_libs->list[i].lib_name, &icd_exts);
+        loader_add_to_ext_list(inst, inst_exts, icd_exts.count, icd_exts.list);
+        loader_destroy_generic_list(inst,
+                                    (struct loader_generic_list *)&icd_exts);
     };
 
     // Traverse loader's extensions, adding non-duplicate extensions to the list
@@ -1109,14 +1093,16 @@ void loader_get_icd_loader_instance_extensions(
     debug_report_add_instance_extensions(inst, inst_exts);
 }
 
-struct loader_physical_device *loader_get_physical_device(const VkPhysicalDevice physdev)
-{
+struct loader_physical_device *
+loader_get_physical_device(const VkPhysicalDevice physdev) {
     uint32_t i;
-    for (struct loader_instance *inst = loader.instances; inst; inst = inst->next) {
+    for (struct loader_instance *inst = loader.instances; inst;
+         inst = inst->next) {
         for (i = 0; i < inst->total_gpu_count; i++) {
-            //TODO this aliases physDevices within instances, need for this
+            // TODO this aliases physDevices within instances, need for this
             // function to go away
-            if (inst->phys_devs[i].disp == loader_get_instance_dispatch(physdev)) {
+            if (inst->phys_devs[i].disp ==
+                loader_get_instance_dispatch(physdev)) {
                 return &inst->phys_devs[i];
             }
         }
@@ -1125,14 +1111,17 @@ struct loader_physical_device *loader_get_physical_device(const VkPhysicalDevice
 }
 
 struct loader_icd *loader_get_icd_and_device(const VkDevice device,
-                                             struct loader_device **found_dev)
-{
+                                             struct loader_device **found_dev) {
     *found_dev = NULL;
-    for (struct loader_instance *inst = loader.instances; inst; inst = inst->next) {
+    for (struct loader_instance *inst = loader.instances; inst;
+         inst = inst->next) {
         for (struct loader_icd *icd = inst->icds; icd; icd = icd->next) {
-            for (struct loader_device *dev = icd->logical_device_list; dev; dev = dev->next)
-                /* Value comparison of device prevents object wrapping by layers */
-                if (loader_get_dispatch(dev->device) == loader_get_dispatch(device)) {
+            for (struct loader_device *dev = icd->logical_device_list; dev;
+                 dev = dev->next)
+                /* Value comparison of device prevents object wrapping by layers
+                 */
+                if (loader_get_dispatch(dev->device) ==
+                    loader_get_dispatch(device)) {
                     *found_dev = dev;
                     return icd;
                 }
@@ -1142,22 +1131,22 @@ struct loader_icd *loader_get_icd_and_device(const VkDevice device,
 }
 
 static void loader_destroy_logical_device(const struct loader_instance *inst,
-                                          struct loader_device *dev)
-{
+                                          struct loader_device *dev) {
     loader_heap_free(inst, dev->app_extension_props);
     loader_destroy_layer_list(inst, &dev->activated_layer_list);
     loader_heap_free(inst, dev);
 }
 
-static struct loader_device *loader_add_logical_device(
-                                        const struct loader_instance *inst,
-                                        struct loader_device **device_list)
-{
+static struct loader_device *
+loader_add_logical_device(const struct loader_instance *inst,
+                          struct loader_device **device_list) {
     struct loader_device *new_dev;
 
-    new_dev = loader_heap_alloc(inst, sizeof(struct loader_device), VK_SYSTEM_ALLOCATION_SCOPE_DEVICE);
+    new_dev = loader_heap_alloc(inst, sizeof(struct loader_device),
+                                VK_SYSTEM_ALLOCATION_SCOPE_DEVICE);
     if (!new_dev) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Failed to alloc struct loader-device");
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "Failed to alloc struct loader-device");
         return NULL;
     }
 
@@ -1168,11 +1157,9 @@ static struct loader_device *loader_add_logical_device(
     return new_dev;
 }
 
-void loader_remove_logical_device(
-                            const struct loader_instance *inst,
-                            struct loader_icd *icd,
-                            struct loader_device *found_dev)
-{
+void loader_remove_logical_device(const struct loader_instance *inst,
+                                  struct loader_icd *icd,
+                                  struct loader_device *found_dev) {
     struct loader_device *dev, *prev_dev;
 
     if (!icd || !found_dev)
@@ -1192,13 +1179,10 @@ void loader_remove_logical_device(
     loader_destroy_logical_device(inst, found_dev);
 }
 
-
-static void loader_icd_destroy(
-        struct loader_instance *ptr_inst,
-        struct loader_icd *icd)
-{
+static void loader_icd_destroy(struct loader_instance *ptr_inst,
+                               struct loader_icd *icd) {
     ptr_inst->total_icd_count--;
-    for (struct loader_device *dev = icd->logical_device_list; dev; ) {
+    for (struct loader_device *dev = icd->logical_device_list; dev;) {
         struct loader_device *next_dev = dev->next;
         loader_destroy_logical_device(ptr_inst, dev);
         dev = next_dev;
@@ -1207,11 +1191,12 @@ static void loader_icd_destroy(
     loader_heap_free(ptr_inst, icd);
 }
 
-static struct loader_icd * loader_icd_create(const struct loader_instance *inst)
-{
+static struct loader_icd *
+loader_icd_create(const struct loader_instance *inst) {
     struct loader_icd *icd;
 
-    icd = loader_heap_alloc(inst, sizeof(*icd), VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    icd = loader_heap_alloc(inst, sizeof(*icd),
+                            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (!icd)
         return NULL;
 
@@ -1220,10 +1205,9 @@ static struct loader_icd * loader_icd_create(const struct loader_instance *inst)
     return icd;
 }
 
-static struct loader_icd *loader_icd_add(
-        struct loader_instance *ptr_inst,
-        const struct loader_scanned_icds *icd_lib)
-{
+static struct loader_icd *
+loader_icd_add(struct loader_instance *ptr_inst,
+               const struct loader_scanned_icds *icd_lib) {
     struct loader_icd *icd;
 
     icd = loader_icd_create(ptr_inst);
@@ -1241,10 +1225,8 @@ static struct loader_icd *loader_icd_add(
     return icd;
 }
 
-void loader_scanned_icd_clear(
-                            const struct loader_instance *inst,
-                            struct loader_icd_libs *icd_libs)
-{
+void loader_scanned_icd_clear(const struct loader_instance *inst,
+                              struct loader_icd_libs *icd_libs) {
     if (icd_libs->capacity == 0)
         return;
     for (uint32_t i = 0; i < icd_libs->count; i++) {
@@ -1258,20 +1240,16 @@ void loader_scanned_icd_clear(
 }
 
 static void loader_scanned_icd_init(const struct loader_instance *inst,
-                                    struct loader_icd_libs *icd_libs)
-{
+                                    struct loader_icd_libs *icd_libs) {
     loader_scanned_icd_clear(inst, icd_libs);
     icd_libs->capacity = 8 * sizeof(struct loader_scanned_icds);
-    icd_libs->list = loader_heap_alloc(inst, icd_libs->capacity, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
-
+    icd_libs->list = loader_heap_alloc(inst, icd_libs->capacity,
+                                       VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
 }
 
-static void loader_scanned_icd_add(
-                            const struct loader_instance *inst,
-                            struct loader_icd_libs *icd_libs,
-                            const char *filename,
-                            uint32_t api_version)
-{
+static void loader_scanned_icd_add(const struct loader_instance *inst,
+                                   struct loader_icd_libs *icd_libs,
+                                   const char *filename, uint32_t api_version) {
     loader_platform_dl_handle handle;
     PFN_vkCreateInstance fp_create_inst;
     PFN_vkEnumerateInstanceExtensionProperties fp_get_inst_ext_props;
@@ -1283,55 +1261,74 @@ static void loader_scanned_icd_add(
     // Used to call: dlopen(filename, RTLD_LAZY);
     handle = loader_platform_open_library(filename);
     if (!handle) {
-        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, loader_platform_open_library_error(filename));
+        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                   loader_platform_open_library_error(filename));
         return;
     }
 
-    fp_get_proc_addr = loader_platform_get_proc_address(handle, "vk_icdGetInstanceProcAddr");
+    fp_get_proc_addr =
+        loader_platform_get_proc_address(handle, "vk_icdGetInstanceProcAddr");
     if (!fp_get_proc_addr) {
         // Use deprecated interface
-        fp_get_proc_addr = loader_platform_get_proc_address(handle, "vkGetInstanceProcAddr");
+        fp_get_proc_addr =
+            loader_platform_get_proc_address(handle, "vkGetInstanceProcAddr");
         if (!fp_get_proc_addr) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, loader_platform_get_proc_address_error("vk_icdGetInstanceProcAddr"));
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       loader_platform_get_proc_address_error(
+                           "vk_icdGetInstanceProcAddr"));
             return;
         } else {
-            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Using deprecated ICD interface of vkGetInstanceProcAddr instead of vk_icdGetInstanceProcAddr");
+            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                       "Using deprecated ICD interface of "
+                       "vkGetInstanceProcAddr instead of "
+                       "vk_icdGetInstanceProcAddr");
         }
-        fp_create_inst = loader_platform_get_proc_address(handle, "vkCreateInstance");
+        fp_create_inst =
+            loader_platform_get_proc_address(handle, "vkCreateInstance");
         if (!fp_create_inst) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Couldn't get vkCreateInstance via dlsym/loadlibrary from ICD");
+            loader_log(
+                inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                "Couldn't get vkCreateInstance via dlsym/loadlibrary from ICD");
             return;
         }
-        fp_get_inst_ext_props = loader_platform_get_proc_address(handle, "vkEnumerateInstanceExtensionProperties");
+        fp_get_inst_ext_props = loader_platform_get_proc_address(
+            handle, "vkEnumerateInstanceExtensionProperties");
         if (!fp_get_inst_ext_props) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Couldn't get vkEnumerateInstanceExtensionProperties via dlsym/loadlibrary from ICD");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Couldn't get vkEnumerateInstanceExtensionProperties "
+                       "via dlsym/loadlibrary from ICD");
             return;
         }
-    }
-    else {
+    } else {
         // Use newer interface
-        fp_create_inst = (PFN_vkCreateInstance) fp_get_proc_addr(NULL, "vkCreateInstance");
+        fp_create_inst =
+            (PFN_vkCreateInstance)fp_get_proc_addr(NULL, "vkCreateInstance");
         if (!fp_create_inst) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Couldn't get vkCreateInstance via vk_icdGetInstanceProcAddr from ICD");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Couldn't get vkCreateInstance via "
+                       "vk_icdGetInstanceProcAddr from ICD");
             return;
         }
-        fp_get_inst_ext_props = (PFN_vkEnumerateInstanceExtensionProperties)fp_get_proc_addr(NULL, "vkEnumerateInstanceExtensionProperties");
+        fp_get_inst_ext_props =
+            (PFN_vkEnumerateInstanceExtensionProperties)fp_get_proc_addr(
+                NULL, "vkEnumerateInstanceExtensionProperties");
         if (!fp_get_inst_ext_props) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Couldn't get vkEnumerateInstanceExtensionProperties via vk_icdGetInstanceProcAddr from ICD");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Couldn't get vkEnumerateInstanceExtensionProperties "
+                       "via vk_icdGetInstanceProcAddr from ICD");
             return;
         }
     }
 
     // check for enough capacity
-    if ((icd_libs->count * sizeof(struct loader_scanned_icds)) >= icd_libs->capacity) {
+    if ((icd_libs->count * sizeof(struct loader_scanned_icds)) >=
+        icd_libs->capacity) {
 
-            icd_libs->list = loader_heap_realloc(inst,
-                                                 icd_libs->list,
-                                                 icd_libs->capacity,
-                                                 icd_libs->capacity * 2,
-                                                 VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
-            // double capacity
-            icd_libs->capacity *= 2;
+        icd_libs->list = loader_heap_realloc(
+            inst, icd_libs->list, icd_libs->capacity, icd_libs->capacity * 2,
+            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        // double capacity
+        icd_libs->capacity *= 2;
     }
     new_node = &(icd_libs->list[icd_libs->count]);
 
@@ -1341,30 +1338,30 @@ static void loader_scanned_icd_add(
     new_node->EnumerateInstanceExtensionProperties = fp_get_inst_ext_props;
     new_node->CreateInstance = fp_create_inst;
 
-    new_node->lib_name = (char *) loader_heap_alloc(inst,
-                                            strlen(filename) + 1,
-                                            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    new_node->lib_name = (char *)loader_heap_alloc(
+        inst, strlen(filename) + 1, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (!new_node->lib_name) {
-        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Out of memory can't add icd");
+        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                   "Out of memory can't add icd");
         return;
     }
     strcpy(new_node->lib_name, filename);
     icd_libs->count++;
 }
 
-static bool loader_icd_init_entrys(struct loader_icd *icd,
-                                   VkInstance inst,
-                                   const PFN_vkGetInstanceProcAddr fp_gipa)
-{
-    /* initialize entrypoint function pointers */
-
-    #define LOOKUP_GIPA(func, required) do {                       \
-    icd->func = (PFN_vk ##func) fp_gipa(inst, "vk" #func);         \
-    if (!icd->func && required) {                                  \
-        loader_log((struct loader_instance *) inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,                      \
-              loader_platform_get_proc_address_error("vk" #func)); \
-        return false;                                              \
-    }                                                              \
+static bool loader_icd_init_entrys(struct loader_icd *icd, VkInstance inst,
+                                   const PFN_vkGetInstanceProcAddr fp_gipa) {
+/* initialize entrypoint function pointers */
+
+#define LOOKUP_GIPA(func, required)                                            \
+    do {                                                                       \
+        icd->func = (PFN_vk##func)fp_gipa(inst, "vk" #func);                   \
+        if (!icd->func && required) {                                          \
+            loader_log((struct loader_instance *)inst,                         \
+                       VK_DEBUG_REPORT_WARN_BIT_EXT, 0,                        \
+                       loader_platform_get_proc_address_error("vk" #func));    \
+            return false;                                                      \
+        }                                                                      \
     } while (0)
 
     LOOKUP_GIPA(GetDeviceProcAddr, true);
@@ -1397,8 +1394,7 @@ static bool loader_icd_init_entrys(struct loader_icd *icd,
     return true;
 }
 
-static void loader_debug_init(void)
-{
+static void loader_debug_init(void) {
     const char *env, *orig;
 
     if (g_loader_debug > 0)
@@ -1448,8 +1444,7 @@ static void loader_debug_init(void)
     loader_free_getenv(orig);
 }
 
-void loader_initialize(void)
-{
+void loader_initialize(void) {
     // initialize mutexs
     loader_platform_thread_create_mutex(&loader_lock);
     loader_platform_thread_create_mutex(&loader_json_lock);
@@ -1459,8 +1454,7 @@ void loader_initialize(void)
 
     // initial cJSON to use alloc callbacks
     cJSON_Hooks alloc_fns = {
-        .malloc_fn = loader_tls_heap_alloc,
-        .free_fn = loader_tls_heap_free,
+        .malloc_fn = loader_tls_heap_alloc, .free_fn = loader_tls_heap_free,
     };
     cJSON_InitHooks(&alloc_fns);
 }
@@ -1478,8 +1472,7 @@ struct loader_manifest_files {
  * The next path (or NULL) in the list is returned in next_path.
  * Note: input string is modified in some cases. PASS IN A COPY!
  */
-static char *loader_get_next_path(char *path)
-{
+static char *loader_get_next_path(char *path) {
     uint32_t len;
     char *next;
 
@@ -1487,10 +1480,9 @@ static char *loader_get_next_path(char *path)
         return NULL;
     next = strchr(path, PATH_SEPERATOR);
     if (next == NULL) {
-        len = (uint32_t) strlen(path);
+        len = (uint32_t)strlen(path);
         next = path + len;
-    }
-    else {
+    } else {
         *next = '\0';
         next++;
     }
@@ -1506,11 +1498,8 @@ static char *loader_get_next_path(char *path)
  * \returns
  * A string in out_fullpath of the full absolute path
  */
-static void loader_expand_path(const char *path,
-                               const char *rel_base,
-                               size_t out_size,
-                               char *out_fullpath)
-{
+static void loader_expand_path(const char *path, const char *rel_base,
+                               size_t out_size, char *out_fullpath) {
     if (loader_platform_is_path_absolute(path)) {
         // do not prepend a base to an absolute path
         rel_base = "";
@@ -1527,22 +1516,19 @@ static void loader_expand_path(const char *path,
  * \returns
  * A string in out_fullpath of either the full path or file.
  */
-static void loader_get_fullpath(const char *file,
-                                const char *dirs,
-                                size_t out_size,
-                                char *out_fullpath)
-{
+static void loader_get_fullpath(const char *file, const char *dirs,
+                                size_t out_size, char *out_fullpath) {
     if (!loader_platform_is_path(file) && *dirs) {
         char *dirs_copy, *dir, *next_dir;
 
         dirs_copy = loader_stack_alloc(strlen(dirs) + 1);
         strcpy(dirs_copy, dirs);
 
-        //find if file exists after prepending paths in given list
-        for (dir = dirs_copy;
-             *dir && (next_dir = loader_get_next_path(dir));
+        // find if file exists after prepending paths in given list
+        for (dir = dirs_copy; *dir && (next_dir = loader_get_next_path(dir));
              dir = next_dir) {
-            loader_platform_combine_path(out_fullpath, out_size, dir, file, NULL);
+            loader_platform_combine_path(out_fullpath, out_size, dir, file,
+                                         NULL);
             if (loader_platform_file_exists(out_fullpath)) {
                 return;
             }
@@ -1559,82 +1545,80 @@ static void loader_get_fullpath(const char *file,
  * A pointer to a cJSON object representing the JSON parse tree.
  * This returned buffer should be freed by caller.
  */
-static cJSON *loader_get_json(const struct loader_instance *inst, const char *filename)
-{
+static cJSON *loader_get_json(const struct loader_instance *inst,
+                              const char *filename) {
     FILE *file;
     char *json_buf;
     cJSON *json;
     size_t len;
-    file = fopen(filename,"rb");
+    file = fopen(filename, "rb");
     if (!file) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Couldn't open JSON file %s", filename);
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "Couldn't open JSON file %s", filename);
         return NULL;
     }
     fseek(file, 0, SEEK_END);
     len = ftell(file);
     fseek(file, 0, SEEK_SET);
-    json_buf = (char*) loader_stack_alloc(len+1);
+    json_buf = (char *)loader_stack_alloc(len + 1);
     if (json_buf == NULL) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Out of memory can't get JSON file");
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "Out of memory can't get JSON file");
         fclose(file);
         return NULL;
     }
     if (fread(json_buf, sizeof(char), len, file) != len) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "fread failed can't get JSON file");
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "fread failed can't get JSON file");
         fclose(file);
         return NULL;
     }
     fclose(file);
     json_buf[len] = '\0';
 
-    //parse text from file
+    // parse text from file
     json = cJSON_Parse(json_buf);
     if (json == NULL)
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Can't parse JSON file %s", filename);
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "Can't parse JSON file %s", filename);
     return json;
 }
 
 /**
  * Do a deep copy of the loader_layer_properties structure.
  */
-static void loader_copy_layer_properties(
-                            const struct loader_instance *inst,
-                            struct loader_layer_properties *dst,
-                            struct loader_layer_properties *src)
-{
+static void loader_copy_layer_properties(const struct loader_instance *inst,
+                                         struct loader_layer_properties *dst,
+                                         struct loader_layer_properties *src) {
     uint32_t cnt, i;
-    memcpy(dst, src, sizeof (*src));
-    dst->instance_extension_list.list = loader_heap_alloc(
-                                        inst,
-                                        sizeof(VkExtensionProperties) *
-                                        src->instance_extension_list.count,
-                                        VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
-    dst->instance_extension_list.capacity = sizeof(VkExtensionProperties) *
-                                        src->instance_extension_list.count;
+    memcpy(dst, src, sizeof(*src));
+    dst->instance_extension_list.list =
+        loader_heap_alloc(inst, sizeof(VkExtensionProperties) *
+                                    src->instance_extension_list.count,
+                          VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    dst->instance_extension_list.capacity =
+        sizeof(VkExtensionProperties) * src->instance_extension_list.count;
     memcpy(dst->instance_extension_list.list, src->instance_extension_list.list,
-                                        dst->instance_extension_list.capacity);
-    dst->device_extension_list.list = loader_heap_alloc(
-                                        inst,
-                                        sizeof(struct loader_dev_ext_props) *
-                                        src->device_extension_list.count,
-                                        VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
-
-    dst->device_extension_list.capacity = sizeof(struct loader_dev_ext_props) *
-                                        src->device_extension_list.count;
+           dst->instance_extension_list.capacity);
+    dst->device_extension_list.list =
+        loader_heap_alloc(inst, sizeof(struct loader_dev_ext_props) *
+                                    src->device_extension_list.count,
+                          VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+
+    dst->device_extension_list.capacity =
+        sizeof(struct loader_dev_ext_props) * src->device_extension_list.count;
     memcpy(dst->device_extension_list.list, src->device_extension_list.list,
-                                        dst->device_extension_list.capacity);
+           dst->device_extension_list.capacity);
     if (src->device_extension_list.count > 0 &&
-                   src->device_extension_list.list->entrypoint_count > 0) {
+        src->device_extension_list.list->entrypoint_count > 0) {
         cnt = src->device_extension_list.list->entrypoint_count;
         dst->device_extension_list.list->entrypoints = loader_heap_alloc(
-                                        inst,
-                                        sizeof(char *) * cnt,
-                                        VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+            inst, sizeof(char *) * cnt, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
         for (i = 0; i < cnt; i++) {
-            dst->device_extension_list.list->entrypoints[i] =  loader_heap_alloc(
-                                    inst,
-                                    strlen(src->device_extension_list.list->entrypoints[i]) + 1,
-                                    VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+            dst->device_extension_list.list->entrypoints[i] = loader_heap_alloc(
+                inst,
+                strlen(src->device_extension_list.list->entrypoints[i]) + 1,
+                VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
             strcpy(dst->device_extension_list.list->entrypoints[i],
                    src->device_extension_list.list->entrypoints[i]);
         }
@@ -1652,13 +1636,11 @@ static void loader_copy_layer_properties(
  * If the json input object does not have all the required fields no entry
  * is added to the list.
  */
-static void loader_add_layer_properties(const struct loader_instance *inst,
-                                        struct loader_layer_list *layer_instance_list,
-                                        struct loader_layer_list *layer_device_list,
-                                        cJSON *json,
-                                        bool is_implicit,
-                                        char *filename)
-{
+static void
+loader_add_layer_properties(const struct loader_instance *inst,
+                            struct loader_layer_list *layer_instance_list,
+                            struct loader_layer_list *layer_device_list,
+                            cJSON *json, bool is_implicit, char *filename) {
     /* Fields in layer manifest file that are required:
      * (required) “file_format_version”
      * following are required in the "layer" object:
@@ -1685,45 +1667,53 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
         return;
     }
     char *file_vers = cJSON_PrintUnformatted(item);
-    loader_log(inst, VK_DEBUG_REPORT_INFO_BIT_EXT, 0, "Found manifest file %s, version %s",
-               filename, file_vers);
+    loader_log(inst, VK_DEBUG_REPORT_INFO_BIT_EXT, 0,
+               "Found manifest file %s, version %s", filename, file_vers);
     if (strcmp(file_vers, "\"1.0.0\"") != 0)
-        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Unexpected manifest file version (expected 1.0.0), may cause errors");
+        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                   "Unexpected manifest file version (expected 1.0.0), may "
+                   "cause errors");
     loader_tls_heap_free(file_vers);
 
     layer_node = cJSON_GetObjectItem(json, "layer");
     if (layer_node == NULL) {
-        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Can't find \"layer\" object in manifest JSON file, skipping this file");
+        loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                   "Can't find \"layer\" object in manifest JSON file, "
+                   "skipping this file");
         return;
     }
 
     // loop through all "layer" objects in the file
     do {
-#define GET_JSON_OBJECT(node, var) {                  \
-        var = cJSON_GetObjectItem(node, #var);        \
-        if (var == NULL) {                            \
-            layer_node = layer_node->next;            \
-            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,\
-                "Didn't find required layer object %s in manifest JSON file, skipping this layer",\
-                #var);                                \
-            continue;                                 \
-        }                                             \
-        }
-#define GET_JSON_ITEM(node, var) {                    \
-        item = cJSON_GetObjectItem(node, #var);       \
-        if (item == NULL) {                           \
-            layer_node = layer_node->next;            \
-            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,\
-                "Didn't find required layer value %s in manifest JSON file, skipping this layer",\
-                #var);                                \
-            continue;                                 \
-        }                                             \
-        temp = cJSON_Print(item);                     \
-        temp[strlen(temp) - 1] = '\0';                \
-        var = loader_stack_alloc(strlen(temp) + 1);   \
-        strcpy(var, &temp[1]);                        \
-        loader_tls_heap_free(temp);                   \
-        }
+#define GET_JSON_OBJECT(node, var)                                             \
+    {                                                                          \
+        var = cJSON_GetObjectItem(node, #var);                                 \
+        if (var == NULL) {                                                     \
+            layer_node = layer_node->next;                                     \
+            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,                  \
+                       "Didn't find required layer object %s in manifest "     \
+                       "JSON file, skipping this layer",                       \
+                       #var);                                                  \
+            continue;                                                          \
+        }                                                                      \
+    }
+#define GET_JSON_ITEM(node, var)                                               \
+    {                                                                          \
+        item = cJSON_GetObjectItem(node, #var);                                \
+        if (item == NULL) {                                                    \
+            layer_node = layer_node->next;                                     \
+            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,                  \
+                       "Didn't find required layer value %s in manifest JSON " \
+                       "file, skipping this layer",                            \
+                       #var);                                                  \
+            continue;                                                          \
+        }                                                                      \
+        temp = cJSON_Print(item);                                              \
+        temp[strlen(temp) - 1] = '\0';                                         \
+        var = loader_stack_alloc(strlen(temp) + 1);                            \
+        strcpy(var, &temp[1]);                                                 \
+        loader_tls_heap_free(temp);                                            \
+    }
         GET_JSON_ITEM(layer_node, name)
         GET_JSON_ITEM(layer_node, type)
         GET_JSON_ITEM(layer_node, library_path)
@@ -1737,14 +1727,15 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
 #undef GET_JSON_OBJECT
 
         // add list entry
-        struct loader_layer_properties *props=NULL;
+        struct loader_layer_properties *props = NULL;
         if (!strcmp(type, "DEVICE")) {
             if (layer_device_list == NULL) {
                 layer_node = layer_node->next;
                 continue;
             }
             props = loader_get_next_layer_property(inst, layer_device_list);
-            props->type = (is_implicit) ? VK_LAYER_TYPE_DEVICE_IMPLICIT : VK_LAYER_TYPE_DEVICE_EXPLICIT;
+            props->type = (is_implicit) ? VK_LAYER_TYPE_DEVICE_IMPLICIT
+                                        : VK_LAYER_TYPE_DEVICE_EXPLICIT;
         }
         if (!strcmp(type, "INSTANCE")) {
             if (layer_instance_list == NULL) {
@@ -1752,18 +1743,21 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
                 continue;
             }
             props = loader_get_next_layer_property(inst, layer_instance_list);
-            props->type = (is_implicit) ? VK_LAYER_TYPE_INSTANCE_IMPLICIT : VK_LAYER_TYPE_INSTANCE_EXPLICIT;
+            props->type = (is_implicit) ? VK_LAYER_TYPE_INSTANCE_IMPLICIT
+                                        : VK_LAYER_TYPE_INSTANCE_EXPLICIT;
         }
         if (!strcmp(type, "GLOBAL")) {
             if (layer_instance_list != NULL)
-                props = loader_get_next_layer_property(inst, layer_instance_list);
+                props =
+                    loader_get_next_layer_property(inst, layer_instance_list);
             else if (layer_device_list != NULL)
                 props = loader_get_next_layer_property(inst, layer_device_list);
             else {
                 layer_node = layer_node->next;
                 continue;
             }
-            props->type = (is_implicit) ? VK_LAYER_TYPE_GLOBAL_IMPLICIT : VK_LAYER_TYPE_GLOBAL_EXPLICIT;
+            props->type = (is_implicit) ? VK_LAYER_TYPE_GLOBAL_IMPLICIT
+                                        : VK_LAYER_TYPE_GLOBAL_EXPLICIT;
         }
 
         if (props == NULL) {
@@ -1771,8 +1765,8 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
             continue;
         }
 
-        strncpy(props->info.layerName, name, sizeof (props->info.layerName));
-        props->info.layerName[sizeof (props->info.layerName) - 1] = '\0';
+        strncpy(props->info.layerName, name, sizeof(props->info.layerName));
+        props->info.layerName[sizeof(props->info.layerName) - 1] = '\0';
 
         char *fullpath = props->lib_name;
         char *rel_base;
@@ -1781,44 +1775,54 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
             char *name_copy = loader_stack_alloc(strlen(filename) + 1);
             strcpy(name_copy, filename);
             rel_base = loader_platform_dirname(name_copy);
-            loader_expand_path(library_path, rel_base, MAX_STRING_SIZE, fullpath);
+            loader_expand_path(library_path, rel_base, MAX_STRING_SIZE,
+                               fullpath);
         } else {
             // a filename which is assumed in a system directory
-            loader_get_fullpath(library_path, DEFAULT_VK_LAYERS_PATH, MAX_STRING_SIZE, fullpath);
+            loader_get_fullpath(library_path, DEFAULT_VK_LAYERS_PATH,
+                                MAX_STRING_SIZE, fullpath);
         }
         props->info.specVersion = loader_make_version(api_version);
         props->info.implementationVersion = atoi(implementation_version);
-        strncpy((char *) props->info.description, description, sizeof (props->info.description));
-        props->info.description[sizeof (props->info.description) - 1] = '\0';
+        strncpy((char *)props->info.description, description,
+                sizeof(props->info.description));
+        props->info.description[sizeof(props->info.description) - 1] = '\0';
         if (is_implicit) {
-            strncpy(props->disable_env_var.name, disable_environment->child->string, sizeof (props->disable_env_var.name));
-            props->disable_env_var.name[sizeof (props->disable_env_var.name) - 1] = '\0';
-            strncpy(props->disable_env_var.value, disable_environment->child->valuestring, sizeof (props->disable_env_var.value));
-            props->disable_env_var.value[sizeof (props->disable_env_var.value) - 1] = '\0';
-        }
-
-        /**
-         * Now get all optional items and objects and put in list:
-         * functions
-         * instance_extensions
-         * device_extensions
-         * enable_environment (implicit layers only)
-         */
-#define GET_JSON_OBJECT(node, var) {                  \
-        var = cJSON_GetObjectItem(node, #var);        \
-        }
-#define GET_JSON_ITEM(node, var) {                    \
-        item = cJSON_GetObjectItem(node, #var);       \
-        if (item != NULL) {                           \
-            temp = cJSON_Print(item);                 \
-            temp[strlen(temp) - 1] = '\0';            \
-            var = loader_stack_alloc(strlen(temp) + 1);\
-            strcpy(var, &temp[1]);                    \
-            loader_tls_heap_free(temp);               \
-        }                                             \
+            strncpy(props->disable_env_var.name,
+                    disable_environment->child->string,
+                    sizeof(props->disable_env_var.name));
+            props->disable_env_var
+                .name[sizeof(props->disable_env_var.name) - 1] = '\0';
+            strncpy(props->disable_env_var.value,
+                    disable_environment->child->valuestring,
+                    sizeof(props->disable_env_var.value));
+            props->disable_env_var
+                .value[sizeof(props->disable_env_var.value) - 1] = '\0';
         }
 
-        cJSON *instance_extensions, *device_extensions, *functions, *enable_environment;
+/**
+ * Now get all optional items and objects and put in list:
+ * functions
+ * instance_extensions
+ * device_extensions
+ * enable_environment (implicit layers only)
+ */
+#define GET_JSON_OBJECT(node, var)                                             \
+    { var = cJSON_GetObjectItem(node, #var); }
+#define GET_JSON_ITEM(node, var)                                               \
+    {                                                                          \
+        item = cJSON_GetObjectItem(node, #var);                                \
+        if (item != NULL) {                                                    \
+            temp = cJSON_Print(item);                                          \
+            temp[strlen(temp) - 1] = '\0';                                     \
+            var = loader_stack_alloc(strlen(temp) + 1);                        \
+            strcpy(var, &temp[1]);                                             \
+            loader_tls_heap_free(temp);                                        \
+        }                                                                      \
+    }
+
+        cJSON *instance_extensions, *device_extensions, *functions,
+            *enable_environment;
         cJSON *entrypoints;
         char *vkGetInstanceProcAddr, *vkGetDeviceProcAddr, *spec_version;
         char **entry_array;
@@ -1837,11 +1841,15 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
             GET_JSON_ITEM(functions, vkGetInstanceProcAddr)
             GET_JSON_ITEM(functions, vkGetDeviceProcAddr)
             if (vkGetInstanceProcAddr != NULL)
-                strncpy(props->functions.str_gipa, vkGetInstanceProcAddr, sizeof (props->functions.str_gipa));
-            props->functions.str_gipa[sizeof (props->functions.str_gipa) - 1] = '\0';
+                strncpy(props->functions.str_gipa, vkGetInstanceProcAddr,
+                        sizeof(props->functions.str_gipa));
+            props->functions.str_gipa[sizeof(props->functions.str_gipa) - 1] =
+                '\0';
             if (vkGetDeviceProcAddr != NULL)
-                strncpy(props->functions.str_gdpa, vkGetDeviceProcAddr, sizeof (props->functions.str_gdpa));
-            props->functions.str_gdpa[sizeof (props->functions.str_gdpa) - 1] = '\0';
+                strncpy(props->functions.str_gdpa, vkGetDeviceProcAddr,
+                        sizeof(props->functions.str_gdpa));
+            props->functions.str_gdpa[sizeof(props->functions.str_gdpa) - 1] =
+                '\0';
         }
         /**
          * instance_extensions
@@ -1857,11 +1865,14 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
                 GET_JSON_ITEM(ext_item, name)
                 GET_JSON_ITEM(ext_item, spec_version)
                 if (name != NULL) {
-                    strncpy(ext_prop.extensionName, name, sizeof (ext_prop.extensionName));
-                    ext_prop.extensionName[sizeof (ext_prop.extensionName) - 1] = '\0';
+                    strncpy(ext_prop.extensionName, name,
+                            sizeof(ext_prop.extensionName));
+                    ext_prop.extensionName[sizeof(ext_prop.extensionName) - 1] =
+                        '\0';
                 }
                 ext_prop.specVersion = atoi(spec_version);
-                loader_add_to_ext_list(inst, &props->instance_extension_list, 1, &ext_prop);
+                loader_add_to_ext_list(inst, &props->instance_extension_list, 1,
+                                       &ext_prop);
             }
         }
         /**
@@ -1879,18 +1890,21 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
                 GET_JSON_ITEM(ext_item, name)
                 GET_JSON_ITEM(ext_item, spec_version)
                 if (name != NULL) {
-                    strncpy(ext_prop.extensionName, name, sizeof (ext_prop.extensionName));
-                    ext_prop.extensionName[sizeof (ext_prop.extensionName) - 1] = '\0';
+                    strncpy(ext_prop.extensionName, name,
+                            sizeof(ext_prop.extensionName));
+                    ext_prop.extensionName[sizeof(ext_prop.extensionName) - 1] =
+                        '\0';
                 }
                 ext_prop.specVersion = atoi(spec_version);
-                //entrypoints = cJSON_GetObjectItem(ext_item, "entrypoints");
+                // entrypoints = cJSON_GetObjectItem(ext_item, "entrypoints");
                 GET_JSON_OBJECT(ext_item, entrypoints)
                 int entry_count;
                 if (entrypoints == NULL)
                     continue;
                 entry_count = cJSON_GetArraySize(entrypoints);
                 if (entry_count)
-                    entry_array = (char **) loader_stack_alloc(sizeof(char *) * entry_count);
+                    entry_array = (char **)loader_stack_alloc(sizeof(char *) *
+                                                              entry_count);
                 for (j = 0; j < entry_count; j++) {
                     ext_item = cJSON_GetArrayItem(entrypoints, j);
                     if (ext_item != NULL) {
@@ -1902,7 +1916,7 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
                     }
                 }
                 loader_add_to_dev_ext_list(inst, &props->device_extension_list,
-                                       &ext_prop, entry_count, entry_array);
+                                           &ext_prop, entry_count, entry_array);
             }
         }
         if (is_implicit) {
@@ -1910,10 +1924,16 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
 
             // enable_environment is optional
             if (enable_environment) {
-                strncpy(props->enable_env_var.name, enable_environment->child->string, sizeof (props->enable_env_var.name));
-                props->enable_env_var.name[sizeof (props->enable_env_var.name) - 1] = '\0';
-                strncpy(props->enable_env_var.value, enable_environment->child->valuestring, sizeof (props->enable_env_var.value));
-                props->enable_env_var.value[sizeof (props->enable_env_var.value) - 1] = '\0';
+                strncpy(props->enable_env_var.name,
+                        enable_environment->child->string,
+                        sizeof(props->enable_env_var.name));
+                props->enable_env_var
+                    .name[sizeof(props->enable_env_var.name) - 1] = '\0';
+                strncpy(props->enable_env_var.value,
+                        enable_environment->child->valuestring,
+                        sizeof(props->enable_env_var.value));
+                props->enable_env_var
+                    .value[sizeof(props->enable_env_var.value) - 1] = '\0';
             }
         }
 #undef GET_JSON_ITEM
@@ -1926,7 +1946,7 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
                 continue;
             }
             dev_props = loader_get_next_layer_property(inst, layer_device_list);
-            //copy into device layer list
+            // copy into device layer list
             loader_copy_layer_properties(inst, dev_props, props);
         }
         layer_node = layer_node->next;
@@ -1948,7 +1968,8 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
  * A string list of manifest files to be opened in out_files param.
  * List has a pointer to string for each manifest filename.
  * When done using the list in out_files, pointers should be freed.
- * Location or override  string lists can be either files or directories as follows:
+ * Location or override  string lists can be either files or directories as
+ *follows:
  *            | location | override
  * --------------------------------
  * Win ICD    | files    | files
@@ -1957,11 +1978,9 @@ static void loader_add_layer_properties(const struct loader_instance *inst,
  * Linux Layer| dirs     | dirs
  */
 static void loader_get_manifest_files(const struct loader_instance *inst,
-                                      const char *env_override,
-                                      bool is_layer,
+                                      const char *env_override, bool is_layer,
                                       const char *location,
-                                      struct loader_manifest_files *out_files)
-{
+                                      struct loader_manifest_files *out_files) {
     char *override = NULL;
     char *loc;
     char *file, *next_file, *name;
@@ -1985,7 +2004,8 @@ static void loader_get_manifest_files(const struct loader_instance *inst,
     }
 
     if (location == NULL) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+        loader_log(
+            inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
             "Can't get manifest files with NULL location, env_override=%s",
             env_override);
         return;
@@ -2001,22 +2021,24 @@ static void loader_get_manifest_files(const struct loader_instance *inst,
     if (override == NULL) {
         loc = loader_stack_alloc(strlen(location) + 1);
         if (loc == NULL) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Out of memory can't get manifest files");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Out of memory can't get manifest files");
             return;
         }
         strcpy(loc, location);
 #if defined(_WIN32)
         loc = loader_get_registry_files(inst, loc);
         if (loc == NULL) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Registry lookup failed can't get manifest files");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Registry lookup failed can't get manifest files");
             return;
         }
 #endif
-    }
-    else {
+    } else {
         loc = loader_stack_alloc(strlen(override) + 1);
         if (loc == NULL) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Out of memory can't get manifest files");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Out of memory can't get manifest files");
             return;
         }
         strcpy(loc, override);
@@ -2024,7 +2046,8 @@ static void loader_get_manifest_files(const struct loader_instance *inst,
     }
 
     // Print out the paths being searched if debugging is enabled
-    loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0, "Searching the following paths for manifest files: %s\n", loc);
+    loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
+               "Searching the following paths for manifest files: %s\n", loc);
 
     file = loc;
     while (*file) {
@@ -2040,8 +2063,7 @@ static void loader_get_manifest_files(const struct loader_instance *inst,
                 loader_get_fullpath(name, file, sizeof(full_path), full_path);
                 name = full_path;
             }
-        }
-        else {
+        } else {
 #if defined(_WIN32)
             name = file;
 #else
@@ -2050,7 +2072,8 @@ static void loader_get_manifest_files(const struct loader_instance *inst,
             // make a copy of location so it isn't modified
             dir = loader_stack_alloc(strlen(loc) + 1);
             if (dir == NULL) {
-                loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Out of memory can't get manifest files");
+                loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                           "Out of memory can't get manifest files");
                 return;
             }
             strcpy(dir, loc);
@@ -2061,51 +2084,52 @@ static void loader_get_manifest_files(const struct loader_instance *inst,
 #endif
         }
         while (name) {
-                /* Look for files ending with ".json" suffix */
-                uint32_t nlen = (uint32_t) strlen(name);
-                const char *suf = name + nlen - 5;
-                if ((nlen > 5) && !strncmp(suf, ".json", 5)) {
-                    if (out_files->count == 0) {
-                        out_files->filename_list = loader_heap_alloc(inst,
-                                              alloced_count * sizeof(char *),
-                                              VK_SYSTEM_ALLOCATION_SCOPE_COMMAND);
-                    }
-                    else if (out_files->count == alloced_count) {
-                        out_files->filename_list = loader_heap_realloc(inst,
-                                        out_files->filename_list,
-                                        alloced_count * sizeof(char *),
-                                        alloced_count * sizeof(char *) * 2,
-                                        VK_SYSTEM_ALLOCATION_SCOPE_COMMAND);
-                        alloced_count *= 2;
-                    }
-                    if (out_files->filename_list == NULL) {
-                        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Out of memory can't alloc manifest file list");
-                        return;
-                    }
-                    out_files->filename_list[out_files->count] = loader_heap_alloc(
-                                                inst,
-                                                strlen(name) + 1,
-                                                VK_SYSTEM_ALLOCATION_SCOPE_COMMAND);
-                    if (out_files->filename_list[out_files->count] == NULL) {
-                        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Out of memory can't get manifest files");
-                        return;
-                    }
-                    strcpy(out_files->filename_list[out_files->count], name);
-                    out_files->count++;
-                } else if (!list_is_dirs) {
-                    loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Skipping manifest file %s, file name must end in .json", name);
+            /* Look for files ending with ".json" suffix */
+            uint32_t nlen = (uint32_t)strlen(name);
+            const char *suf = name + nlen - 5;
+            if ((nlen > 5) && !strncmp(suf, ".json", 5)) {
+                if (out_files->count == 0) {
+                    out_files->filename_list =
+                        loader_heap_alloc(inst, alloced_count * sizeof(char *),
+                                          VK_SYSTEM_ALLOCATION_SCOPE_COMMAND);
+                } else if (out_files->count == alloced_count) {
+                    out_files->filename_list =
+                        loader_heap_realloc(inst, out_files->filename_list,
+                                            alloced_count * sizeof(char *),
+                                            alloced_count * sizeof(char *) * 2,
+                                            VK_SYSTEM_ALLOCATION_SCOPE_COMMAND);
+                    alloced_count *= 2;
                 }
-                if (list_is_dirs) {
-                    dent = readdir(sysdir);
-                    if (dent == NULL)
-                        break;
-                    name = &(dent->d_name[0]);
-                    loader_get_fullpath(name, file, sizeof(full_path), full_path);
-                    name = full_path;
+                if (out_files->filename_list == NULL) {
+                    loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                               "Out of memory can't alloc manifest file list");
+                    return;
                 }
-                else {
-                    break;
+                out_files->filename_list[out_files->count] = loader_heap_alloc(
+                    inst, strlen(name) + 1, VK_SYSTEM_ALLOCATION_SCOPE_COMMAND);
+                if (out_files->filename_list[out_files->count] == NULL) {
+                    loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                               "Out of memory can't get manifest files");
+                    return;
                 }
+                strcpy(out_files->filename_list[out_files->count], name);
+                out_files->count++;
+            } else if (!list_is_dirs) {
+                loader_log(
+                    inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                    "Skipping manifest file %s, file name must end in .json",
+                    name);
+            }
+            if (list_is_dirs) {
+                dent = readdir(sysdir);
+                if (dent == NULL)
+                    break;
+                name = &(dent->d_name[0]);
+                loader_get_fullpath(name, file, sizeof(full_path), full_path);
+                name = full_path;
+            } else {
+                break;
+            }
         }
         if (sysdir)
             closedir(sysdir);
@@ -2114,15 +2138,9 @@ static void loader_get_manifest_files(const struct loader_instance *inst,
     return;
 }
 
-void loader_init_icd_lib_list()
-{
-
-}
-
-void loader_destroy_icd_lib_list()
-{
+void loader_init_icd_lib_list() {}
 
-}
+void loader_destroy_icd_lib_list() {}
 /**
  * Try to find the Vulkan ICD driver(s).
  *
@@ -2134,10 +2152,8 @@ void loader_destroy_icd_lib_list()
  * \returns
  * a list of icds that were discovered
  */
-void loader_icd_scan(
-                     const struct loader_instance *inst,
-                     struct loader_icd_libs *icds)
-{
+void loader_icd_scan(const struct loader_instance *inst,
+                     struct loader_icd_libs *icds) {
     char *file_str;
     struct loader_manifest_files manifest_files;
 
@@ -2164,63 +2180,80 @@ void loader_icd_scan(
             return;
         }
         char *file_vers = cJSON_Print(item);
-        loader_log(inst, VK_DEBUG_REPORT_INFO_BIT_EXT, 0, "Found manifest file %s, version %s",
-                   file_str, file_vers);
+        loader_log(inst, VK_DEBUG_REPORT_INFO_BIT_EXT, 0,
+                   "Found manifest file %s, version %s", file_str, file_vers);
         if (strcmp(file_vers, "\"1.0.0\"") != 0)
-            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Unexpected manifest file version (expected 1.0.0), may cause errors");
+            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                       "Unexpected manifest file version (expected 1.0.0), may "
+                       "cause errors");
         loader_tls_heap_free(file_vers);
         itemICD = cJSON_GetObjectItem(json, "ICD");
         if (itemICD != NULL) {
             item = cJSON_GetObjectItem(itemICD, "library_path");
             if (item != NULL) {
-                char *temp= cJSON_Print(item);
+                char *temp = cJSON_Print(item);
                 if (!temp || strlen(temp) == 0) {
-                    loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Can't find \"library_path\" in ICD JSON file %s, skipping", file_str);
+                    loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                               "Can't find \"library_path\" in ICD JSON file "
+                               "%s, skipping",
+                               file_str);
                     loader_tls_heap_free(temp);
                     loader_heap_free(inst, file_str);
                     cJSON_Delete(json);
                     continue;
                 }
-                //strip out extra quotes
+                // strip out extra quotes
                 temp[strlen(temp) - 1] = '\0';
                 char *library_path = loader_stack_alloc(strlen(temp) + 1);
                 strcpy(library_path, &temp[1]);
                 loader_tls_heap_free(temp);
                 if (!library_path || strlen(library_path) == 0) {
-                    loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Can't find \"library_path\" in ICD JSON file %s, skipping", file_str);
+                    loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                               "Can't find \"library_path\" in ICD JSON file "
+                               "%s, skipping",
+                               file_str);
                     loader_heap_free(inst, file_str);
                     cJSON_Delete(json);
                     continue;
                 }
                 char fullpath[MAX_STRING_SIZE];
                 // Print out the paths being searched if debugging is enabled
-                loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0, "Searching for ICD drivers named %s default dir %s\n", library_path, DEFAULT_VK_DRIVERS_PATH);
+                loader_log(
+                    inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
+                    "Searching for ICD drivers named %s default dir %s\n",
+                    library_path, DEFAULT_VK_DRIVERS_PATH);
                 if (loader_platform_is_path(library_path)) {
                     // a relative or absolute path
                     char *name_copy = loader_stack_alloc(strlen(file_str) + 1);
                     char *rel_base;
                     strcpy(name_copy, file_str);
                     rel_base = loader_platform_dirname(name_copy);
-                    loader_expand_path(library_path, rel_base, sizeof(fullpath), fullpath);
+                    loader_expand_path(library_path, rel_base, sizeof(fullpath),
+                                       fullpath);
                 } else {
                     // a filename which is assumed in a system directory
-                    loader_get_fullpath(library_path, DEFAULT_VK_DRIVERS_PATH, sizeof(fullpath), fullpath);
+                    loader_get_fullpath(library_path, DEFAULT_VK_DRIVERS_PATH,
+                                        sizeof(fullpath), fullpath);
                 }
 
                 uint32_t vers = 0;
                 item = cJSON_GetObjectItem(itemICD, "api_version");
                 if (item != NULL) {
-                    temp= cJSON_Print(item);
+                    temp = cJSON_Print(item);
                     vers = loader_make_version(temp);
                     loader_tls_heap_free(temp);
                 }
                 loader_scanned_icd_add(inst, icds, fullpath, vers);
-            }
-            else
-                loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Can't find \"library_path\" object in ICD JSON file %s, skipping", file_str);
-        }
-        else
-            loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0, "Can't find \"ICD\" object in ICD JSON file %s, skipping", file_str);
+            } else
+                loader_log(inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                           "Can't find \"library_path\" object in ICD JSON "
+                           "file %s, skipping",
+                           file_str);
+        } else
+            loader_log(
+                inst, VK_DEBUG_REPORT_WARN_BIT_EXT, 0,
+                "Can't find \"ICD\" object in ICD JSON file %s, skipping",
+                file_str);
 
         loader_heap_free(inst, file_str);
         cJSON_Delete(json);
@@ -2229,28 +2262,27 @@ void loader_icd_scan(
     loader_platform_thread_unlock_mutex(&loader_json_lock);
 }
 
-
-void loader_layer_scan(
-                       const struct loader_instance *inst,
+void loader_layer_scan(const struct loader_instance *inst,
                        struct loader_layer_list *instance_layers,
-                       struct loader_layer_list *device_layers)
-{
+                       struct loader_layer_list *device_layers) {
     char *file_str;
-    struct loader_manifest_files manifest_files[2]; // [0] = explicit, [1] = implicit
+    struct loader_manifest_files
+        manifest_files[2]; // [0] = explicit, [1] = implicit
     cJSON *json;
     uint32_t i;
     uint32_t implicit;
 
     // Get a list of manifest files for layers
-    loader_get_manifest_files(inst, LAYERS_PATH_ENV, true, DEFAULT_VK_ELAYERS_INFO,
-                              &manifest_files[0]);
-    // Pass NULL for environment variable override - implicit layers are not overridden by LAYERS_PATH_ENV
+    loader_get_manifest_files(inst, LAYERS_PATH_ENV, true,
+                              DEFAULT_VK_ELAYERS_INFO, &manifest_files[0]);
+    // Pass NULL for environment variable override - implicit layers are not
+    // overridden by LAYERS_PATH_ENV
     loader_get_manifest_files(inst, NULL, true, DEFAULT_VK_ILAYERS_INFO,
                               &manifest_files[1]);
     if (manifest_files[0].count == 0 && manifest_files[1].count == 0)
         return;
 
-#if 0 //TODO
+#if 0 // TODO
     /**
      * We need a list of the layer libraries, not just a list of
      * the layer properties (a layer library could expose more than
@@ -2281,14 +2313,10 @@ void loader_layer_scan(
                 continue;
             }
 
-            //TODO error if device layers expose instance_extensions
-            //TODO error if instance layers expose device extensions
-            loader_add_layer_properties(inst,
-                                        instance_layers,
-                                        device_layers,
-                                        json,
-                                        (implicit == 1),
-                                        file_str);
+            // TODO error if device layers expose instance_extensions
+            // TODO error if instance layers expose device extensions
+            loader_add_layer_properties(inst, instance_layers, device_layers,
+                                        json, (implicit == 1), file_str);
 
             loader_heap_free(inst, file_str);
             cJSON_Delete(json);
@@ -2302,20 +2330,21 @@ void loader_layer_scan(
     loader_platform_thread_unlock_mutex(&loader_json_lock);
 }
 
-static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL loader_gpa_instance_internal(VkInstance inst, const char * pName)
-{
+static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL
+loader_gpa_instance_internal(VkInstance inst, const char *pName) {
     if (!strcmp(pName, "vkGetInstanceProcAddr"))
-        return (void *) loader_gpa_instance_internal;
+        return (void *)loader_gpa_instance_internal;
     if (!strcmp(pName, "vkCreateInstance"))
-        return (void *) loader_CreateInstance;
+        return (void *)loader_CreateInstance;
     if (!strcmp(pName, "vkCreateDevice"))
-        return (void *) loader_create_device_terminator;
+        return (void *)loader_create_device_terminator;
 
     // inst is not wrapped
     if (inst == VK_NULL_HANDLE) {
         return NULL;
     }
-    VkLayerInstanceDispatchTable* disp_table = * (VkLayerInstanceDispatchTable **) inst;
+    VkLayerInstanceDispatchTable *disp_table =
+        *(VkLayerInstanceDispatchTable **)inst;
     void *addr;
 
     if (disp_table == NULL)
@@ -2337,36 +2366,38 @@ static VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL loader_gpa_instance_internal(VkI
  * If dev == NULL find all logical devices created within this instance and
  *  init the entry (given by idx) in the ext dispatch table.
  * If dev != NULL only initialize the entry in the given dev's dispatch table.
- * The initialization value is gotten by calling down the device chain with GDPA.
+ * The initialization value is gotten by calling down the device chain with
+ * GDPA.
  * If GDPA returns NULL then don't initialize the dispatch table entry.
  */
 static void loader_init_dispatch_dev_ext_entry(struct loader_instance *inst,
-                                         struct loader_device *dev,
-                                         uint32_t idx,
-                                         const char *funcName)
+                                               struct loader_device *dev,
+                                               uint32_t idx,
+                                               const char *funcName)
 
- {
+{
     void *gdpa_value;
     if (dev != NULL) {
         gdpa_value = dev->loader_dispatch.core_dispatch.GetDeviceProcAddr(
-                                                    dev->device, funcName);
+            dev->device, funcName);
         if (gdpa_value != NULL)
-            dev->loader_dispatch.ext_dispatch.DevExt[idx] = (PFN_vkDevExt) gdpa_value;
+            dev->loader_dispatch.ext_dispatch.DevExt[idx] =
+                (PFN_vkDevExt)gdpa_value;
     } else {
         for (uint32_t i = 0; i < inst->total_icd_count; i++) {
             struct loader_icd *icd = &inst->icds[i];
             struct loader_device *dev = icd->logical_device_list;
             while (dev) {
-                gdpa_value = dev->loader_dispatch.core_dispatch.GetDeviceProcAddr(
-                                                    dev->device, funcName);
+                gdpa_value =
+                    dev->loader_dispatch.core_dispatch.GetDeviceProcAddr(
+                        dev->device, funcName);
                 if (gdpa_value != NULL)
                     dev->loader_dispatch.ext_dispatch.DevExt[idx] =
-                                                    (PFN_vkDevExt) gdpa_value;
+                        (PFN_vkDevExt)gdpa_value;
                 dev = dev->next;
             }
         }
     }
-
 }
 
 /**
@@ -2375,8 +2406,7 @@ static void loader_init_dispatch_dev_ext_entry(struct loader_instance *inst,
 
  */
 static void loader_init_dispatch_dev_ext(struct loader_instance *inst,
-                                         struct loader_device *dev)
-{
+                                         struct loader_device *dev) {
     for (uint32_t i = 0; i < MAX_NUM_DEV_EXTS; i++) {
         if (inst->disp_hash[i].func_name != NULL)
             loader_init_dispatch_dev_ext_entry(inst, dev, i,
@@ -2385,8 +2415,7 @@ static void loader_init_dispatch_dev_ext(struct loader_instance *inst,
 }
 
 static bool loader_check_icds_for_address(struct loader_instance *inst,
-                                          const char *funcName)
-{
+                                          const char *funcName) {
     struct loader_icd *icd;
     icd = inst->icds;
     while (icd) {
@@ -2399,20 +2428,16 @@ static bool loader_check_icds_for_address(struct loader_instance *inst,
     return false;
 }
 
-static void loader_free_dev_ext_table(struct loader_instance *inst)
-{
+static void loader_free_dev_ext_table(struct loader_instance *inst) {
     for (uint32_t i = 0; i < MAX_NUM_DEV_EXTS; i++) {
         loader_heap_free(inst, inst->disp_hash[i].func_name);
         loader_heap_free(inst, inst->disp_hash[i].list.index);
-
     }
     memset(inst->disp_hash, 0, sizeof(inst->disp_hash));
 }
 
 static bool loader_add_dev_ext_table(struct loader_instance *inst,
-                                     uint32_t *ptr_idx,
-                                     const char *funcName)
-{
+                                     uint32_t *ptr_idx, const char *funcName) {
     uint32_t i;
     uint32_t idx = *ptr_idx;
     struct loader_dispatch_hash_list *list = &inst->disp_hash[idx].list;
@@ -2420,12 +2445,12 @@ static bool loader_add_dev_ext_table(struct loader_instance *inst,
     if (!inst->disp_hash[idx].func_name) {
         // no entry here at this idx, so use it
         assert(list->capacity == 0);
-        inst->disp_hash[idx].func_name = (char *) loader_heap_alloc(inst,
-                                         strlen(funcName) + 1,
-                                         VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+        inst->disp_hash[idx].func_name = (char *)loader_heap_alloc(
+            inst, strlen(funcName) + 1, VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
         if (inst->disp_hash[idx].func_name == NULL) {
             loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
-                       "loader_add_dev_ext_table() can't allocate memory for func_name");
+                       "loader_add_dev_ext_table() can't allocate memory for "
+                       "func_name");
             return false;
         }
         strncpy(inst->disp_hash[idx].func_name, funcName, strlen(funcName) + 1);
@@ -2444,30 +2469,33 @@ static bool loader_add_dev_ext_table(struct loader_instance *inst,
         list->capacity = 8 * sizeof(*(list->index));
     } else if (list->capacity < (list->count + 1) * sizeof(*(list->index))) {
         list->index = loader_heap_realloc(inst, list->index, list->capacity,
-                            list->capacity * 2,
-                            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+                                          list->capacity * 2,
+                                          VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
         if (list->index == NULL) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
-                       "loader_add_dev_ext_table() can't reallocate list memory");
+            loader_log(
+                inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                "loader_add_dev_ext_table() can't reallocate list memory");
             return false;
         }
         list->capacity *= 2;
     }
 
-    //find an unused index in the hash table and use it
+    // find an unused index in the hash table and use it
     i = (idx + 1) % MAX_NUM_DEV_EXTS;
     do {
         if (!inst->disp_hash[i].func_name) {
             assert(inst->disp_hash[i].list.capacity == 0);
-            inst->disp_hash[i].func_name = (char *) loader_heap_alloc(inst,
-                                            strlen(funcName) + 1,
-                                            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+            inst->disp_hash[i].func_name =
+                (char *)loader_heap_alloc(inst, strlen(funcName) + 1,
+                                          VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
             if (inst->disp_hash[i].func_name == NULL) {
                 loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
-                       "loader_add_dev_ext_table() can't rallocate func_name memory");
+                           "loader_add_dev_ext_table() can't rallocate "
+                           "func_name memory");
                 return false;
             }
-            strncpy(inst->disp_hash[i].func_name, funcName, strlen(funcName) + 1);
+            strncpy(inst->disp_hash[i].func_name, funcName,
+                    strlen(funcName) + 1);
             list->index[list->count] = i;
             list->count++;
             *ptr_idx = i;
@@ -2477,18 +2505,16 @@ static bool loader_add_dev_ext_table(struct loader_instance *inst,
     } while (i != idx);
 
     loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
-               "loader_add_dev_ext_table() couldn't insert into hash table; is it full?");
+               "loader_add_dev_ext_table() couldn't insert into hash table; is "
+               "it full?");
     return false;
 }
 
 static bool loader_name_in_dev_ext_table(struct loader_instance *inst,
-                                         uint32_t *idx,
-                                         const char *funcName)
-{
+                                         uint32_t *idx, const char *funcName) {
     uint32_t alt_idx;
-    if (inst->disp_hash[*idx].func_name && !strcmp(
-                                                inst->disp_hash[*idx].func_name,
-                                                funcName))
+    if (inst->disp_hash[*idx].func_name &&
+        !strcmp(inst->disp_hash[*idx].func_name, funcName))
         return true;
 
     // funcName wasn't at the primary spot in the hash table
@@ -2505,22 +2531,24 @@ static bool loader_name_in_dev_ext_table(struct loader_instance *inst,
 }
 
 /**
- * This function returns generic trampoline code address for unknown entry points.
+ * This function returns generic trampoline code address for unknown entry
+ * points.
  * Presumably, these unknown entry points (as given by funcName) are device
  * extension entrypoints.  A hash table is used to keep a list of unknown entry
  * points and their mapping to the device extension dispatch table
  * (struct loader_dev_ext_dispatch_table).
  * \returns
- * For a given entry point string (funcName), if an existing mapping is found the
- * trampoline address for that mapping is returned. Otherwise, this unknown entry point
- * has not been seen yet. Next check if a layer or ICD supports it.  If so then a
+ * For a given entry point string (funcName), if an existing mapping is found
+ * the
+ * trampoline address for that mapping is returned. Otherwise, this unknown
+ * entry point
+ * has not been seen yet. Next check if a layer or ICD supports it.  If so then
+ * a
  * new entry in the hash table is initialized and that trampoline address for
  * the new entry is returned. Null is returned if the hash table is full or
  * if no discovered layer or ICD returns a non-NULL GetProcAddr for it.
  */
-void *loader_dev_ext_gpa(struct loader_instance *inst,
-                         const char *funcName)
-{
+void *loader_dev_ext_gpa(struct loader_instance *inst, const char *funcName) {
     uint32_t idx;
     uint32_t seed = 0;
 
@@ -2547,8 +2575,7 @@ void *loader_dev_ext_gpa(struct loader_instance *inst,
     return NULL;
 }
 
-struct loader_instance *loader_get_instance(const VkInstance instance)
-{
+struct loader_instance *loader_get_instance(const VkInstance instance) {
     /* look up the loader_instance in our list by comparing dispatch tables, as
      * there is no guarantee the instance is still a loader_instance* after any
      * layers which wrap the instance object.
@@ -2556,7 +2583,8 @@ struct loader_instance *loader_get_instance(const VkInstance instance)
     const VkLayerInstanceDispatchTable *disp;
     struct loader_instance *ptr_instance = NULL;
     disp = loader_get_instance_dispatch(instance);
-    for (struct loader_instance *inst = loader.instances; inst; inst = inst->next) {
+    for (struct loader_instance *inst = loader.instances; inst;
+         inst = inst->next) {
         if (inst->disp == disp) {
             ptr_instance = inst;
             break;
@@ -2565,11 +2593,9 @@ struct loader_instance *loader_get_instance(const VkInstance instance)
     return ptr_instance;
 }
 
-static loader_platform_dl_handle loader_add_layer_lib(
-        const struct loader_instance *inst,
-        const char *chain_type,
-        struct loader_layer_properties *layer_prop)
-{
+static loader_platform_dl_handle
+loader_add_layer_lib(const struct loader_instance *inst, const char *chain_type,
+                     struct loader_layer_properties *layer_prop) {
     struct loader_lib_info *new_layer_lib_list, *my_lib;
     size_t new_alloc_size;
     /*
@@ -2577,11 +2603,13 @@ static loader_platform_dl_handle loader_add_layer_lib(
      * scanned_layer_libraries list.
      */
     for (uint32_t i = 0; i < loader.loaded_layer_lib_count; i++) {
-        if (strcmp(loader.loaded_layer_lib_list[i].lib_name, layer_prop->lib_name) == 0) {
+        if (strcmp(loader.loaded_layer_lib_list[i].lib_name,
+                   layer_prop->lib_name) == 0) {
             /* Have already loaded this library, just increment ref count */
             loader.loaded_layer_lib_list[i].ref_count++;
             loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
-                       "%s Chain: Increment layer reference count for layer library %s",
+                       "%s Chain: Increment layer reference count for layer "
+                       "library %s",
                        chain_type, layer_prop->lib_name);
             return loader.loaded_layer_lib_list[i].lib_handle;
         }
@@ -2591,18 +2619,18 @@ static loader_platform_dl_handle loader_add_layer_lib(
     new_alloc_size = 0;
     if (loader.loaded_layer_lib_capacity == 0)
         new_alloc_size = 8 * sizeof(struct loader_lib_info);
-    else if (loader.loaded_layer_lib_capacity <= loader.loaded_layer_lib_count *
-                                            sizeof(struct loader_lib_info))
+    else if (loader.loaded_layer_lib_capacity <=
+             loader.loaded_layer_lib_count * sizeof(struct loader_lib_info))
         new_alloc_size = loader.loaded_layer_lib_capacity * 2;
 
     if (new_alloc_size) {
         new_layer_lib_list = loader_heap_realloc(
-                                            inst, loader.loaded_layer_lib_list,
-                                            loader.loaded_layer_lib_capacity,
-                                            new_alloc_size,
-                                            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+            inst, loader.loaded_layer_lib_list,
+            loader.loaded_layer_lib_capacity, new_alloc_size,
+            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
         if (!new_layer_lib_list) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "loader: realloc failed in loader_add_layer_lib");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "loader: realloc failed in loader_add_layer_lib");
             return NULL;
         }
         loader.loaded_layer_lib_capacity = new_alloc_size;
@@ -2616,14 +2644,15 @@ static loader_platform_dl_handle loader_add_layer_lib(
     my_lib->ref_count = 0;
     my_lib->lib_handle = NULL;
 
-    if ((my_lib->lib_handle = loader_platform_open_library(my_lib->lib_name)) == NULL) {
+    if ((my_lib->lib_handle = loader_platform_open_library(my_lib->lib_name)) ==
+        NULL) {
         loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
                    loader_platform_open_library_error(my_lib->lib_name));
         return NULL;
     } else {
         loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
-                   "Chain: %s: Loading layer library %s",
-                   chain_type, layer_prop->lib_name);
+                   "Chain: %s: Loading layer library %s", chain_type,
+                   layer_prop->lib_name);
     }
     loader.loaded_layer_lib_count++;
     my_lib->ref_count++;
@@ -2631,15 +2660,15 @@ static loader_platform_dl_handle loader_add_layer_lib(
     return my_lib->lib_handle;
 }
 
-static void loader_remove_layer_lib(
-        struct loader_instance *inst,
-        struct loader_layer_properties *layer_prop)
-{
+static void
+loader_remove_layer_lib(struct loader_instance *inst,
+                        struct loader_layer_properties *layer_prop) {
     uint32_t idx = loader.loaded_layer_lib_count;
     struct loader_lib_info *new_layer_lib_list, *my_lib = NULL;
 
     for (uint32_t i = 0; i < loader.loaded_layer_lib_count; i++) {
-        if (strcmp(loader.loaded_layer_lib_list[i].lib_name, layer_prop->lib_name) == 0) {
+        if (strcmp(loader.loaded_layer_lib_list[i].lib_name,
+                   layer_prop->lib_name) == 0) {
             /* found matching library */
             idx = i;
             my_lib = &loader.loaded_layer_lib_list[i];
@@ -2657,7 +2686,8 @@ static void loader_remove_layer_lib(
         my_lib->ref_count--;
         if (my_lib->ref_count > 0) {
             loader_log(inst, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
-                       "Decrement reference count for layer library %s", layer_prop->lib_name);
+                       "Decrement reference count for layer library %s",
+                       layer_prop->lib_name);
             return;
         }
     }
@@ -2666,11 +2696,12 @@ static void loader_remove_layer_lib(
                "Unloading layer library %s", layer_prop->lib_name);
 
     /* Need to remove unused library from list */
-    new_layer_lib_list = loader_heap_alloc(inst,
-                                           loader.loaded_layer_lib_capacity,
-                                           VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    new_layer_lib_list =
+        loader_heap_alloc(inst, loader.loaded_layer_lib_capacity,
+                          VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (!new_layer_lib_list) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "loader: heap alloc failed loader_remove_layer_library");
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "loader: heap alloc failed loader_remove_layer_library");
         return;
     }
 
@@ -2681,8 +2712,9 @@ static void loader_remove_layer_lib(
     }
     if (idx < (loader.loaded_layer_lib_count - 1)) {
         /* Copy records after idx */
-        memcpy(&new_layer_lib_list[idx], &loader.loaded_layer_lib_list[idx+1],
-                sizeof(struct loader_lib_info) * (loader.loaded_layer_lib_count - idx - 1));
+        memcpy(&new_layer_lib_list[idx], &loader.loaded_layer_lib_list[idx + 1],
+               sizeof(struct loader_lib_info) *
+                   (loader.loaded_layer_lib_count - idx - 1));
     }
 
     loader_heap_free(inst, loader.loaded_layer_lib_list);
@@ -2690,17 +2722,15 @@ static void loader_remove_layer_lib(
     loader.loaded_layer_lib_list = new_layer_lib_list;
 }
 
-
 /**
  * Go through the search_list and find any layers which match type. If layer
  * type match is found in then add it to ext_list.
  */
-static void loader_add_layer_implicit(
-                const struct loader_instance *inst,
-                const enum layer_type type,
-                struct loader_layer_list *list,
-                const struct loader_layer_list *search_list)
-{
+static void
+loader_add_layer_implicit(const struct loader_instance *inst,
+                          const enum layer_type type,
+                          struct loader_layer_list *list,
+                          const struct loader_layer_list *search_list) {
     bool enable;
     char *env_value;
     uint32_t i;
@@ -2710,7 +2740,8 @@ static void loader_add_layer_implicit(
             /* Found an implicit layer, see if it should be enabled */
             enable = false;
 
-            // if no enable_environment variable is specified, this implicit layer
+            // if no enable_environment variable is specified, this implicit
+            // layer
             // should always be enabled. Otherwise check if the variable is set
             if (prop->enable_env_var.name[0] == 0) {
                 enable = true;
@@ -2722,7 +2753,8 @@ static void loader_add_layer_implicit(
             }
 
             // disable_environment has priority, i.e. if both enable and disable
-            // environment variables are set, the layer is disabled. Implicit layers
+            // environment variables are set, the layer is disabled. Implicit
+            // layers
             // are required to have a disable_environment variables
             env_value = loader_getenv(prop->disable_env_var.name);
             if (env_value)
@@ -2733,7 +2765,6 @@ static void loader_add_layer_implicit(
                 loader_add_to_layer_list(inst, list, 1, prop);
         }
     }
-
 }
 
 /**
@@ -2741,13 +2772,11 @@ static void loader_add_layer_implicit(
  * is found in search_list then add it to layer_list.  But only add it to
  * layer_list if type matches.
  */
-static void loader_add_layer_env(
-                const struct loader_instance *inst,
-                const enum layer_type type,
-                const char *env_name,
-                struct loader_layer_list *layer_list,
-                const struct loader_layer_list *search_list)
-{
+static void loader_add_layer_env(const struct loader_instance *inst,
+                                 const enum layer_type type,
+                                 const char *env_name,
+                                 struct loader_layer_list *layer_list,
+                                 const struct loader_layer_list *search_list) {
     char *layerEnv;
     char *next, *name;
 
@@ -2763,60 +2792,54 @@ static void loader_add_layer_env(
 
     loader_free_getenv(layerEnv);
 
-    while (name && *name ) {
+    while (name && *name) {
         next = loader_get_next_path(name);
-        loader_find_layer_name_add_list(inst, name, type, search_list, layer_list);
+        loader_find_layer_name_add_list(inst, name, type, search_list,
+                                        layer_list);
         name = next;
     }
 
     return;
 }
 
-void loader_deactivate_instance_layers(struct loader_instance *instance)
-{
+void loader_deactivate_instance_layers(struct loader_instance *instance) {
     /* Create instance chain of enabled layers */
     for (uint32_t i = 0; i < instance->activated_layer_list.count; i++) {
-        struct loader_layer_properties *layer_prop = &instance->activated_layer_list.list[i];
+        struct loader_layer_properties *layer_prop =
+            &instance->activated_layer_list.list[i];
 
         loader_remove_layer_lib(instance, layer_prop);
     }
     loader_destroy_layer_list(instance, &instance->activated_layer_list);
 }
 
-VkResult loader_enable_instance_layers(
-                    struct loader_instance *inst,
-                    const VkInstanceCreateInfo *pCreateInfo,
-                    const struct loader_layer_list *instance_layers)
-{
+VkResult
+loader_enable_instance_layers(struct loader_instance *inst,
+                              const VkInstanceCreateInfo *pCreateInfo,
+                              const struct loader_layer_list *instance_layers) {
     VkResult err;
 
     assert(inst && "Cannot have null instance");
 
     if (!loader_init_layer_list(inst, &inst->activated_layer_list)) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Failed to alloc Instance activated layer list");
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "Failed to alloc Instance activated layer list");
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
 
     /* Add any implicit layers first */
-    loader_add_layer_implicit(inst,
-                              VK_LAYER_TYPE_INSTANCE_IMPLICIT,
-                              &inst->activated_layer_list,
-                              instance_layers);
+    loader_add_layer_implicit(inst, VK_LAYER_TYPE_INSTANCE_IMPLICIT,
+                              &inst->activated_layer_list, instance_layers);
 
     /* Add any layers specified via environment variable next */
-    loader_add_layer_env(inst,
-                         VK_LAYER_TYPE_INSTANCE_EXPLICIT,
-                         "VK_INSTANCE_LAYERS",
-                         &inst->activated_layer_list,
+    loader_add_layer_env(inst, VK_LAYER_TYPE_INSTANCE_EXPLICIT,
+                         "VK_INSTANCE_LAYERS", &inst->activated_layer_list,
                          instance_layers);
 
     /* Add layers specified by the application */
     err = loader_add_layer_names_to_list(
-                inst,
-                &inst->activated_layer_list,
-                pCreateInfo->enabledLayerCount,
-                pCreateInfo->ppEnabledLayerNames,
-                instance_layers);
+        inst, &inst->activated_layer_list, pCreateInfo->enabledLayerCount,
+        pCreateInfo->ppEnabledLayerNames, instance_layers);
 
     return err;
 }
@@ -2840,10 +2863,9 @@ VkResult loader_enable_instance_layers(
  * cache those VkInstance objects for future use.
  */
 VkResult loader_create_instance_chain(const VkInstanceCreateInfo *pCreateInfo,
-                                      const VkAllocationCallbackspAllocator,
+                                      const VkAllocationCallbacks *pAllocator,
                                       struct loader_instance *inst,
-                                      VkInstance created_instance)
-{
+                                      VkInstance created_instance) {
     uint32_t activated_layers = 0;
     VkLayerInstanceCreateInfo chain_info;
     VkLayerInstanceLink *layer_instance_link_info = NULL;
@@ -2863,61 +2885,78 @@ VkResult loader_create_instance_chain(const VkInstanceCreateInfo *pCreateInfo,
         chain_info.function = VK_LAYER_LINK_INFO;
         loader_create_info.pNext = &chain_info;
 
-        layer_instance_link_info = loader_stack_alloc(sizeof(VkLayerInstanceLink)
-                                       * inst->activated_layer_list.count);
+        layer_instance_link_info = loader_stack_alloc(
+            sizeof(VkLayerInstanceLink) * inst->activated_layer_list.count);
         if (!layer_instance_link_info) {
-            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Failed to alloc Instance objects for layer");
+            loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                       "Failed to alloc Instance objects for layer");
             return VK_ERROR_OUT_OF_HOST_MEMORY;
         }
 
         /* Create instance chain of enabled layers */
         for (int32_t i = inst->activated_layer_list.count - 1; i >= 0; i--) {
-            struct loader_layer_properties *layer_prop = &inst->activated_layer_list.list[i];
+            struct loader_layer_properties *layer_prop =
+                &inst->activated_layer_list.list[i];
             loader_platform_dl_handle lib_handle;
 
             lib_handle = loader_add_layer_lib(inst, "instance", layer_prop);
             if (!lib_handle)
                 continue;
-            if ((fpGIPA = layer_prop->functions.get_instance_proc_addr) == NULL) {
-                if (layer_prop->functions.str_gipa == NULL || strlen(layer_prop->functions.str_gipa) == 0) {
-                    fpGIPA = (PFN_vkGetInstanceProcAddr) loader_platform_get_proc_address(lib_handle, "vkGetInstanceProcAddr");
+            if ((fpGIPA = layer_prop->functions.get_instance_proc_addr) ==
+                NULL) {
+                if (layer_prop->functions.str_gipa == NULL ||
+                    strlen(layer_prop->functions.str_gipa) == 0) {
+                    fpGIPA = (PFN_vkGetInstanceProcAddr)
+                        loader_platform_get_proc_address(
+                            lib_handle, "vkGetInstanceProcAddr");
                     layer_prop->functions.get_instance_proc_addr = fpGIPA;
                 } else
-                    fpGIPA = (PFN_vkGetInstanceProcAddr) loader_platform_get_proc_address(lib_handle, layer_prop->functions.str_gipa);
+                    fpGIPA = (PFN_vkGetInstanceProcAddr)
+                        loader_platform_get_proc_address(
+                            lib_handle, layer_prop->functions.str_gipa);
                 if (!fpGIPA) {
-                    loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Failed to find vkGetInstanceProcAddr in layer %s", layer_prop->lib_name);
+                    loader_log(
+                        inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                        "Failed to find vkGetInstanceProcAddr in layer %s",
+                        layer_prop->lib_name);
                     continue;
                 }
             }
 
-            layer_instance_link_info[activated_layers].pNext = chain_info.u.pLayerInfo;
-            layer_instance_link_info[activated_layers].pfnNextGetInstanceProcAddr = nextGIPA;
-            chain_info.u.pLayerInfo = &layer_instance_link_info[activated_layers];
+            layer_instance_link_info[activated_layers].pNext =
+                chain_info.u.pLayerInfo;
+            layer_instance_link_info[activated_layers]
+                .pfnNextGetInstanceProcAddr = nextGIPA;
+            chain_info.u.pLayerInfo =
+                &layer_instance_link_info[activated_layers];
             nextGIPA = fpGIPA;
 
-           loader_log(inst, VK_DEBUG_REPORT_INFO_BIT_EXT, 0,
-                      "Insert instance layer %s (%s)",
-                      layer_prop->info.layerName,
-                      layer_prop->lib_name);
+            loader_log(inst, VK_DEBUG_REPORT_INFO_BIT_EXT, 0,
+                       "Insert instance layer %s (%s)",
+                       layer_prop->info.layerName, layer_prop->lib_name);
 
             activated_layers++;
         }
     }
 
-    PFN_vkCreateInstance fpCreateInstance = (PFN_vkCreateInstance) nextGIPA(created_instance, "vkCreateInstance");
+    PFN_vkCreateInstance fpCreateInstance =
+        (PFN_vkCreateInstance)nextGIPA(created_instance, "vkCreateInstance");
     if (fpCreateInstance) {
         VkLayerInstanceCreateInfo instance_create_info;
 
-        instance_create_info.sType = VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO;
+        instance_create_info.sType =
+            VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO;
         instance_create_info.function = VK_LAYER_INSTANCE_INFO;
 
         instance_create_info.u.instanceInfo.instance_info = inst;
-        instance_create_info.u.instanceInfo.pfnNextGetInstanceProcAddr= nextGIPA;
+        instance_create_info.u.instanceInfo.pfnNextGetInstanceProcAddr =
+            nextGIPA;
 
         instance_create_info.pNext = loader_create_info.pNext;
         loader_create_info.pNext = &instance_create_info;
 
-        res = fpCreateInstance(&loader_create_info, pAllocator, &created_instance);
+        res = fpCreateInstance(&loader_create_info, pAllocator,
+                               &created_instance);
     } else {
         // Couldn't find CreateInstance function!
         res = VK_ERROR_INITIALIZATION_FAILED;
@@ -2926,86 +2965,84 @@ VkResult loader_create_instance_chain(const VkInstanceCreateInfo *pCreateInfo,
     if (res != VK_SUCCESS) {
         // TODO: Need to clean up here
     } else {
-        loader_init_instance_core_dispatch_table(inst->disp, nextGIPA, created_instance);
+        loader_init_instance_core_dispatch_table(inst->disp, nextGIPA,
+                                                 created_instance);
     }
 
     return res;
 }
 
-void loader_activate_instance_layer_extensions(struct loader_instance *inst, VkInstance created_inst)
-{
+void loader_activate_instance_layer_extensions(struct loader_instance *inst,
+                                               VkInstance created_inst) {
 
-    loader_init_instance_extension_dispatch_table(inst->disp,
-                                                  inst->disp->GetInstanceProcAddr,
-                                                  created_inst);
+    loader_init_instance_extension_dispatch_table(
+        inst->disp, inst->disp->GetInstanceProcAddr, created_inst);
 }
 
-static VkResult loader_enable_device_layers(
-                        const struct loader_instance *inst,
-                        struct loader_icd *icd,
-                        struct loader_layer_list *activated_layer_list,
-                        const VkDeviceCreateInfo *pCreateInfo,
-                        const struct loader_layer_list *device_layers)
+static VkResult
+loader_enable_device_layers(const struct loader_instance *inst,
+                            struct loader_icd *icd,
+                            struct loader_layer_list *activated_layer_list,
+                            const VkDeviceCreateInfo *pCreateInfo,
+                            const struct loader_layer_list *device_layers)
 
 {
     VkResult err;
 
     assert(activated_layer_list && "Cannot have null output layer list");
 
-    if (activated_layer_list->list == NULL || activated_layer_list->capacity == 0) {
+    if (activated_layer_list->list == NULL ||
+        activated_layer_list->capacity == 0) {
         loader_init_layer_list(inst, activated_layer_list);
     }
 
     if (activated_layer_list->list == NULL) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Failed to alloc device activated layer list");
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "Failed to alloc device activated layer list");
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
 
     /* Add any implicit layers first */
-    loader_add_layer_implicit(
-                inst,
-                VK_LAYER_TYPE_DEVICE_IMPLICIT,
-                activated_layer_list,
-                device_layers);
+    loader_add_layer_implicit(inst, VK_LAYER_TYPE_DEVICE_IMPLICIT,
+                              activated_layer_list, device_layers);
 
     /* Add any layers specified via environment variable next */
-    loader_add_layer_env(
-                inst,
-                VK_LAYER_TYPE_DEVICE_EXPLICIT,
-                "VK_DEVICE_LAYERS",
-                activated_layer_list,
-                device_layers);
+    loader_add_layer_env(inst, VK_LAYER_TYPE_DEVICE_EXPLICIT,
+                         "VK_DEVICE_LAYERS", activated_layer_list,
+                         device_layers);
 
     /* Add layers specified by the application */
     err = loader_add_layer_names_to_list(
-                inst,
-                activated_layer_list,
-                pCreateInfo->enabledLayerCount,
-                pCreateInfo->ppEnabledLayerNames,
-                device_layers);
+        inst, activated_layer_list, pCreateInfo->enabledLayerCount,
+        pCreateInfo->ppEnabledLayerNames, device_layers);
 
     return err;
 }
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_create_device_terminator(
-        VkPhysicalDevice                            physicalDevice,
-        const VkDeviceCreateInfo*                   pCreateInfo,
-        const VkAllocationCallbacks*                pAllocator,
-        VkDevice*                                   pDevice)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_create_device_terminator(VkPhysicalDevice physicalDevice,
+                                const VkDeviceCreateInfo *pCreateInfo,
+                                const VkAllocationCallbacks *pAllocator,
+                                VkDevice *pDevice) {
     struct loader_physical_device *phys_dev;
     phys_dev = loader_get_physical_device(physicalDevice);
 
-    VkLayerDeviceCreateInfo *chain_info = (VkLayerDeviceCreateInfo *) pCreateInfo->pNext;
-    while (chain_info && !(chain_info->sType == VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
-           && chain_info->function == VK_LAYER_DEVICE_INFO)) {
-        chain_info = (VkLayerDeviceCreateInfo *) chain_info->pNext;
+    VkLayerDeviceCreateInfo *chain_info =
+        (VkLayerDeviceCreateInfo *)pCreateInfo->pNext;
+    while (chain_info &&
+           !(chain_info->sType == VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO &&
+             chain_info->function == VK_LAYER_DEVICE_INFO)) {
+        chain_info = (VkLayerDeviceCreateInfo *)chain_info->pNext;
     }
     assert(chain_info != NULL);
 
-    struct loader_device *dev = (struct loader_device *) chain_info->u.deviceInfo.device_info;
-    PFN_vkGetInstanceProcAddr fpGetInstanceProcAddr = chain_info->u.deviceInfo.pfnNextGetInstanceProcAddr;
-    PFN_vkCreateDevice fpCreateDevice = (PFN_vkCreateDevice) fpGetInstanceProcAddr(phys_dev->this_icd->instance, "vkCreateDevice");
+    struct loader_device *dev =
+        (struct loader_device *)chain_info->u.deviceInfo.device_info;
+    PFN_vkGetInstanceProcAddr fpGetInstanceProcAddr =
+        chain_info->u.deviceInfo.pfnNextGetInstanceProcAddr;
+    PFN_vkCreateDevice fpCreateDevice =
+        (PFN_vkCreateDevice)fpGetInstanceProcAddr(phys_dev->this_icd->instance,
+                                                  "vkCreateDevice");
     if (fpCreateDevice == NULL) {
         return VK_ERROR_INITIALIZATION_FAILED;
     }
@@ -3018,9 +3055,12 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_create_device_terminator(
     localCreateInfo.ppEnabledLayerNames = NULL;
 
     VkDevice localDevice;
-    // TODO: Why does fpCreateDevice behave differently than this_icd->CreateDevice?
-//    VkResult res = fpCreateDevice(phys_dev->phys_dev, &localCreateInfo, pAllocator, &localDevice);
-    VkResult res = phys_dev->this_icd->CreateDevice(phys_dev->phys_dev, &localCreateInfo, pAllocator, &localDevice);
+    // TODO: Why does fpCreateDevice behave differently than
+    // this_icd->CreateDevice?
+    //    VkResult res = fpCreateDevice(phys_dev->phys_dev, &localCreateInfo,
+    //    pAllocator, &localDevice);
+    VkResult res = phys_dev->this_icd->CreateDevice(
+        phys_dev->phys_dev, &localCreateInfo, pAllocator, &localDevice);
 
     if (res != VK_SUCCESS) {
         return res;
@@ -3034,14 +3074,12 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_create_device_terminator(
     return res;
 }
 
-VkResult loader_create_device_chain(
-        VkPhysicalDevice physicalDevice,
-        const VkDeviceCreateInfo *pCreateInfo,
-        const VkAllocationCallbacks* pAllocator,
-        struct loader_instance *inst,
-        struct loader_icd *icd,
-        struct loader_device *dev)
-{
+VkResult loader_create_device_chain(VkPhysicalDevice physicalDevice,
+                                    const VkDeviceCreateInfo *pCreateInfo,
+                                    const VkAllocationCallbacks *pAllocator,
+                                    struct loader_instance *inst,
+                                    struct loader_icd *icd,
+                                    struct loader_device *dev) {
     uint32_t activated_layers = 0;
     VkLayerDeviceLink *layer_device_link_info;
     VkLayerDeviceCreateInfo chain_info;
@@ -3059,10 +3097,11 @@ VkResult loader_create_device_chain(
     chain_info.u.pLayerInfo = NULL;
     chain_info.pNext = pCreateInfo->pNext;
 
-    layer_device_link_info = loader_stack_alloc(sizeof(VkLayerDeviceLink)
-                                   * dev->activated_layer_list.count);
+    layer_device_link_info = loader_stack_alloc(
+        sizeof(VkLayerDeviceLink) * dev->activated_layer_list.count);
     if (!layer_device_link_info) {
-        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Failed to alloc Device objects for layer");
+        loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                   "Failed to alloc Device objects for layer");
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
 
@@ -3077,84 +3116,102 @@ VkResult loader_create_device_chain(
     device_info.function = VK_LAYER_DEVICE_INFO;
     device_info.pNext = &chain_info;
     device_info.u.deviceInfo.device_info = dev;
-    device_info.u.deviceInfo.pfnNextGetInstanceProcAddr = icd->this_icd_lib->GetInstanceProcAddr;
+    device_info.u.deviceInfo.pfnNextGetInstanceProcAddr =
+        icd->this_icd_lib->GetInstanceProcAddr;
 
     loader_create_info.pNext = &device_info;
 
     if (dev->activated_layer_list.count > 0) {
         /* Create instance chain of enabled layers */
         for (int32_t i = dev->activated_layer_list.count - 1; i >= 0; i--) {
-            struct loader_layer_properties *layer_prop = &dev->activated_layer_list.list[i];
+            struct loader_layer_properties *layer_prop =
+                &dev->activated_layer_list.list[i];
             loader_platform_dl_handle lib_handle;
 
             lib_handle = loader_add_layer_lib(inst, "device", layer_prop);
             if (!lib_handle)
                 continue;
-            if ((fpGIPA = layer_prop->functions.get_instance_proc_addr) == NULL) {
-                if (layer_prop->functions.str_gipa == NULL || strlen(layer_prop->functions.str_gipa) == 0) {
-                    fpGIPA = (PFN_vkGetInstanceProcAddr) loader_platform_get_proc_address(lib_handle, "vkGetInstanceProcAddr");
+            if ((fpGIPA = layer_prop->functions.get_instance_proc_addr) ==
+                NULL) {
+                if (layer_prop->functions.str_gipa == NULL ||
+                    strlen(layer_prop->functions.str_gipa) == 0) {
+                    fpGIPA = (PFN_vkGetInstanceProcAddr)
+                        loader_platform_get_proc_address(
+                            lib_handle, "vkGetInstanceProcAddr");
                     layer_prop->functions.get_instance_proc_addr = fpGIPA;
                 } else
-                    fpGIPA = (PFN_vkGetInstanceProcAddr) loader_platform_get_proc_address(lib_handle, layer_prop->functions.str_gipa);
+                    fpGIPA = (PFN_vkGetInstanceProcAddr)
+                        loader_platform_get_proc_address(
+                            lib_handle, layer_prop->functions.str_gipa);
                 if (!fpGIPA) {
-                    loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Failed to find vkGetInstanceProcAddr in layer %s", layer_prop->lib_name);
+                    loader_log(
+                        inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                        "Failed to find vkGetInstanceProcAddr in layer %s",
+                        layer_prop->lib_name);
                     continue;
                 }
             }
             if ((fpGDPA = layer_prop->functions.get_device_proc_addr) == NULL) {
-                if (layer_prop->functions.str_gdpa == NULL || strlen(layer_prop->functions.str_gdpa) == 0) {
-                    fpGDPA = (PFN_vkGetDeviceProcAddr) loader_platform_get_proc_address(lib_handle, "vkGetDeviceProcAddr");
+                if (layer_prop->functions.str_gdpa == NULL ||
+                    strlen(layer_prop->functions.str_gdpa) == 0) {
+                    fpGDPA = (PFN_vkGetDeviceProcAddr)
+                        loader_platform_get_proc_address(lib_handle,
+                                                         "vkGetDeviceProcAddr");
                     layer_prop->functions.get_device_proc_addr = fpGDPA;
                 } else
-                    fpGDPA = (PFN_vkGetDeviceProcAddr) loader_platform_get_proc_address(lib_handle, layer_prop->functions.str_gdpa);
+                    fpGDPA = (PFN_vkGetDeviceProcAddr)
+                        loader_platform_get_proc_address(
+                            lib_handle, layer_prop->functions.str_gdpa);
                 if (!fpGDPA) {
-                    loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0, "Failed to find vkGetDeviceProcAddr in layer %s", layer_prop->lib_name);
+                    loader_log(inst, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
+                               "Failed to find vkGetDeviceProcAddr in layer %s",
+                               layer_prop->lib_name);
                     continue;
                 }
             }
 
-            layer_device_link_info[activated_layers].pNext = chain_info.u.pLayerInfo;
-            layer_device_link_info[activated_layers].pfnNextGetInstanceProcAddr = nextGIPA;
-            layer_device_link_info[activated_layers].pfnNextGetDeviceProcAddr = nextGDPA;
+            layer_device_link_info[activated_layers].pNext =
+                chain_info.u.pLayerInfo;
+            layer_device_link_info[activated_layers]
+                .pfnNextGetInstanceProcAddr = nextGIPA;
+            layer_device_link_info[activated_layers].pfnNextGetDeviceProcAddr =
+                nextGDPA;
             chain_info.u.pLayerInfo = &layer_device_link_info[activated_layers];
             nextGIPA = fpGIPA;
             nextGDPA = fpGDPA;
 
             loader_log(inst, VK_DEBUG_REPORT_INFO_BIT_EXT, 0,
                        "Insert device layer %s (%s)",
-                       layer_prop->info.layerName,
-                       layer_prop->lib_name);
+                       layer_prop->info.layerName, layer_prop->lib_name);
 
             activated_layers++;
         }
     }
 
-    PFN_vkCreateDevice fpCreateDevice = (PFN_vkCreateDevice) nextGIPA((VkInstance) inst, "vkCreateDevice");
+    PFN_vkCreateDevice fpCreateDevice =
+        (PFN_vkCreateDevice)nextGIPA((VkInstance)inst, "vkCreateDevice");
     if (fpCreateDevice) {
-        res = fpCreateDevice(physicalDevice, &loader_create_info, pAllocator, &dev->device);
+        res = fpCreateDevice(physicalDevice, &loader_create_info, pAllocator,
+                             &dev->device);
     } else {
         // Couldn't find CreateDevice function!
         return VK_ERROR_INITIALIZATION_FAILED;
     }
 
     /* Initialize device dispatch table */
-    loader_init_device_dispatch_table(&dev->loader_dispatch,
-                                      nextGDPA,
+    loader_init_device_dispatch_table(&dev->loader_dispatch, nextGDPA,
                                       dev->device);
 
     return res;
 }
 
-VkResult loader_validate_layers(
-        const uint32_t                  layer_count,
-        const char * const             *ppEnabledLayerNames,
-        const struct loader_layer_list *list)
-{
+VkResult loader_validate_layers(const uint32_t layer_count,
+                                const char *const *ppEnabledLayerNames,
+                                const struct loader_layer_list *list) {
     struct loader_layer_properties *prop;
 
     for (uint32_t i = 0; i < layer_count; i++) {
-        prop = loader_get_layer_property(ppEnabledLayerNames[i],
-                                  list);
+        prop = loader_get_layer_property(ppEnabledLayerNames[i], list);
         if (!prop) {
             return VK_ERROR_LAYER_NOT_PRESENT;
         }
@@ -3164,16 +3221,15 @@ VkResult loader_validate_layers(
 }
 
 VkResult loader_validate_instance_extensions(
-                        const struct loader_extension_list *icd_exts,
-                        const struct loader_layer_list *instance_layer,
-                        const VkInstanceCreateInfo     *pCreateInfo)
-{
+    const struct loader_extension_list *icd_exts,
+    const struct loader_layer_list *instance_layer,
+    const VkInstanceCreateInfo *pCreateInfo) {
     VkExtensionProperties *extension_prop;
     struct loader_layer_properties *layer_prop;
 
     for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
-        extension_prop = get_extension_property(pCreateInfo->ppEnabledExtensionNames[i],
-                                                icd_exts);
+        extension_prop = get_extension_property(
+            pCreateInfo->ppEnabledExtensionNames[i], icd_exts);
 
         if (extension_prop) {
             continue;
@@ -3183,8 +3239,8 @@ VkResult loader_validate_instance_extensions(
 
         /* Not in global list, search layer extension lists */
         for (uint32_t j = 0; j < pCreateInfo->enabledLayerCount; j++) {
-            layer_prop = loader_get_layer_property(pCreateInfo->ppEnabledLayerNames[i],
-                                            instance_layer);
+            layer_prop = loader_get_layer_property(
+                pCreateInfo->ppEnabledLayerNames[i], instance_layer);
             if (!layer_prop) {
                 /* Should NOT get here, loader_validate_layers
                  * should have already filtered this case out.
@@ -3192,16 +3248,19 @@ VkResult loader_validate_instance_extensions(
                 continue;
             }
 
-            extension_prop = get_extension_property(pCreateInfo->ppEnabledExtensionNames[i],
-                                          &layer_prop->instance_extension_list);
+            extension_prop =
+                get_extension_property(pCreateInfo->ppEnabledExtensionNames[i],
+                                       &layer_prop->instance_extension_list);
             if (extension_prop) {
-                /* Found the extension in one of the layers enabled by the app. */
+                /* Found the extension in one of the layers enabled by the app.
+                 */
                 break;
             }
         }
 
         if (!extension_prop) {
-            /* Didn't find extension name in any of the global layers, error out */
+            /* Didn't find extension name in any of the global layers, error out
+             */
             return VK_ERROR_EXTENSION_NOT_PRESENT;
         }
     }
@@ -3209,17 +3268,16 @@ VkResult loader_validate_instance_extensions(
 }
 
 VkResult loader_validate_device_extensions(
-                                struct loader_physical_device *phys_dev,
-                                const struct loader_layer_list *activated_device_layers,
-                                const VkDeviceCreateInfo *pCreateInfo)
-{
+    struct loader_physical_device *phys_dev,
+    const struct loader_layer_list *activated_device_layers,
+    const VkDeviceCreateInfo *pCreateInfo) {
     VkExtensionProperties *extension_prop;
     struct loader_layer_properties *layer_prop;
 
     for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
         const char *extension_name = pCreateInfo->ppEnabledExtensionNames[i];
-        extension_prop = get_extension_property(extension_name,
-                                                &phys_dev->device_extension_cache);
+        extension_prop = get_extension_property(
+            extension_name, &phys_dev->device_extension_cache);
 
         if (extension_prop) {
             continue;
@@ -3229,27 +3287,28 @@ VkResult loader_validate_device_extensions(
         for (uint32_t j = 0; j < activated_device_layers->count; j++) {
             layer_prop = &activated_device_layers->list[j];
 
-            extension_prop = get_dev_extension_property(extension_name,
-                                          &layer_prop->device_extension_list);
+            extension_prop = get_dev_extension_property(
+                extension_name, &layer_prop->device_extension_list);
             if (extension_prop) {
-                /* Found the extension in one of the layers enabled by the app. */
+                /* Found the extension in one of the layers enabled by the app.
+                 */
                 break;
             }
         }
 
         if (!extension_prop) {
-            /* Didn't find extension name in any of the device layers, error out */
+            /* Didn't find extension name in any of the device layers, error out
+             */
             return VK_ERROR_EXTENSION_NOT_PRESENT;
         }
     }
     return VK_SUCCESS;
 }
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateInstance(
-        const VkInstanceCreateInfo*     pCreateInfo,
-        const VkAllocationCallbacks*    pAllocator,
-        VkInstance*                     pInstance)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateInstance(const VkInstanceCreateInfo *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkInstance *pInstance) {
     struct loader_icd *icd;
     VkExtensionProperties *prop;
     char **filtered_extension_names = NULL;
@@ -3257,14 +3316,18 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateInstance(
     VkResult res = VK_SUCCESS;
     bool success = false;
 
-    VkLayerInstanceCreateInfo *chain_info = (VkLayerInstanceCreateInfo *) pCreateInfo->pNext;
-    while (chain_info && !(chain_info->sType == VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
-           && chain_info->function == VK_LAYER_INSTANCE_INFO)) {
-        chain_info = (VkLayerInstanceCreateInfo *) chain_info->pNext;
+    VkLayerInstanceCreateInfo *chain_info =
+        (VkLayerInstanceCreateInfo *)pCreateInfo->pNext;
+    while (
+        chain_info &&
+        !(chain_info->sType == VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO &&
+          chain_info->function == VK_LAYER_INSTANCE_INFO)) {
+        chain_info = (VkLayerInstanceCreateInfo *)chain_info->pNext;
     }
     assert(chain_info != NULL);
 
-    struct loader_instance *ptr_instance = (struct loader_instance *) chain_info->u.instanceInfo.instance_info;
+    struct loader_instance *ptr_instance =
+        (struct loader_instance *)chain_info->u.instanceInfo.instance_info;
     memcpy(&icd_create_info, pCreateInfo, sizeof(icd_create_info));
 
     icd_create_info.enabledLayerCount = 0;
@@ -3280,11 +3343,13 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateInstance(
      * library could support a layer, but it would be
      * independent of the actual ICD, just in the same library.
      */
-    filtered_extension_names = loader_stack_alloc(pCreateInfo->enabledExtensionCount * sizeof(char *));
+    filtered_extension_names =
+        loader_stack_alloc(pCreateInfo->enabledExtensionCount * sizeof(char *));
     if (!filtered_extension_names) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
-    icd_create_info.ppEnabledExtensionNames = (const char * const *) filtered_extension_names;
+    icd_create_info.ppEnabledExtensionNames =
+        (const char *const *)filtered_extension_names;
 
     for (uint32_t i = 0; i < ptr_instance->icd_libs.count; i++) {
         icd = loader_icd_add(ptr_instance, &ptr_instance->icd_libs.list[i]);
@@ -3292,41 +3357,45 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateInstance(
             icd_create_info.enabledExtensionCount = 0;
             struct loader_extension_list icd_exts;
 
-            loader_log(ptr_instance, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0, "Build ICD instance extension list");
-            // traverse scanned icd list adding non-duplicate extensions to the list
-            loader_init_generic_list(ptr_instance, (struct loader_generic_list *) &icd_exts,
+            loader_log(ptr_instance, VK_DEBUG_REPORT_DEBUG_BIT_EXT, 0,
+                       "Build ICD instance extension list");
+            // traverse scanned icd list adding non-duplicate extensions to the
+            // list
+            loader_init_generic_list(ptr_instance,
+                                     (struct loader_generic_list *)&icd_exts,
                                      sizeof(VkExtensionProperties));
-            loader_add_instance_extensions(ptr_instance,
-                                         icd->this_icd_lib->EnumerateInstanceExtensionProperties,
-                                         icd->this_icd_lib->lib_name,
-                                         &icd_exts);
+            loader_add_instance_extensions(
+                ptr_instance,
+                icd->this_icd_lib->EnumerateInstanceExtensionProperties,
+                icd->this_icd_lib->lib_name, &icd_exts);
 
             for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
-                prop = get_extension_property(pCreateInfo->ppEnabledExtensionNames[i],
-                                              &icd_exts);
+                prop = get_extension_property(
+                    pCreateInfo->ppEnabledExtensionNames[i], &icd_exts);
                 if (prop) {
-                    filtered_extension_names[icd_create_info.enabledExtensionCount] = (char *) pCreateInfo->ppEnabledExtensionNames[i];
+                    filtered_extension_names[icd_create_info
+                                                 .enabledExtensionCount] =
+                        (char *)pCreateInfo->ppEnabledExtensionNames[i];
                     icd_create_info.enabledExtensionCount++;
                 }
             }
 
-            loader_destroy_generic_list(ptr_instance, (struct loader_generic_list *) &icd_exts);
+            loader_destroy_generic_list(
+                ptr_instance, (struct loader_generic_list *)&icd_exts);
 
-            res = ptr_instance->icd_libs.list[i].CreateInstance(&icd_create_info,
-                                           pAllocator,
-                                           &(icd->instance));
+            res = ptr_instance->icd_libs.list[i].CreateInstance(
+                &icd_create_info, pAllocator, &(icd->instance));
             if (res == VK_SUCCESS)
                 success = loader_icd_init_entrys(
-                                icd,
-                                icd->instance,
-                                ptr_instance->icd_libs.list[i].GetInstanceProcAddr);
+                    icd, icd->instance,
+                    ptr_instance->icd_libs.list[i].GetInstanceProcAddr);
 
-            if (res != VK_SUCCESS || !success)
-            {
+            if (res != VK_SUCCESS || !success) {
                 ptr_instance->icds = ptr_instance->icds->next;
                 loader_icd_destroy(ptr_instance, icd);
                 loader_log(ptr_instance, VK_DEBUG_REPORT_ERROR_BIT_EXT, 0,
-                        "ICD ignored: failed to CreateInstance and find entrypoints with ICD");
+                           "ICD ignored: failed to CreateInstance and find "
+                           "entrypoints with ICD");
             }
         }
     }
@@ -3347,10 +3416,9 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateInstance(
     return VK_SUCCESS;
 }
 
-VKAPI_ATTR void VKAPI_CALL loader_DestroyInstance(
-        VkInstance                                instance,
-        const VkAllocationCallbacks*                   pAllocator)
-{
+VKAPI_ATTR void VKAPI_CALL
+loader_DestroyInstance(VkInstance instance,
+                       const VkAllocationCallbacks *pAllocator) {
     struct loader_instance *ptr_instance = loader_instance(instance);
     struct loader_icd *icds = ptr_instance->icds;
     struct loader_icd *next_icd;
@@ -3381,46 +3449,50 @@ VKAPI_ATTR void VKAPI_CALL loader_DestroyInstance(
 
         icds = next_icd;
     }
-    loader_delete_layer_properties(ptr_instance, &ptr_instance->device_layer_list);
-    loader_delete_layer_properties(ptr_instance, &ptr_instance->instance_layer_list);
+    loader_delete_layer_properties(ptr_instance,
+                                   &ptr_instance->device_layer_list);
+    loader_delete_layer_properties(ptr_instance,
+                                   &ptr_instance->instance_layer_list);
     loader_scanned_icd_clear(ptr_instance, &ptr_instance->icd_libs);
-    loader_destroy_generic_list(ptr_instance, (struct loader_generic_list *)
-                                &ptr_instance->ext_list);
+    loader_destroy_generic_list(
+        ptr_instance, (struct loader_generic_list *)&ptr_instance->ext_list);
     for (uint32_t i = 0; i < ptr_instance->total_gpu_count; i++)
-        loader_destroy_generic_list(ptr_instance, (struct loader_generic_list *)
-                            &ptr_instance->phys_devs[i].device_extension_cache);
+        loader_destroy_generic_list(
+            ptr_instance,
+            (struct loader_generic_list *)&ptr_instance->phys_devs[i]
+                .device_extension_cache);
     loader_heap_free(ptr_instance, ptr_instance->phys_devs);
     loader_free_dev_ext_table(ptr_instance);
 }
 
-VkResult loader_init_physical_device_info(struct loader_instance *ptr_instance)
-{
+VkResult
+loader_init_physical_device_info(struct loader_instance *ptr_instance) {
     struct loader_icd *icd;
     uint32_t i, j, idx, count = 0;
     VkResult res;
     struct loader_phys_dev_per_icd *phys_devs;
 
     ptr_instance->total_gpu_count = 0;
-    phys_devs = (struct loader_phys_dev_per_icd *) loader_stack_alloc(
-                            sizeof(struct loader_phys_dev_per_icd) *
-                            ptr_instance->total_icd_count);
+    phys_devs = (struct loader_phys_dev_per_icd *)loader_stack_alloc(
+        sizeof(struct loader_phys_dev_per_icd) * ptr_instance->total_icd_count);
     if (!phys_devs)
         return VK_ERROR_OUT_OF_HOST_MEMORY;
 
     icd = ptr_instance->icds;
     for (i = 0; i < ptr_instance->total_icd_count; i++) {
         assert(icd);
-        res = icd->EnumeratePhysicalDevices(icd->instance, &phys_devs[i].count, NULL);
+        res = icd->EnumeratePhysicalDevices(icd->instance, &phys_devs[i].count,
+                                            NULL);
         if (res != VK_SUCCESS)
             return res;
         count += phys_devs[i].count;
         icd = icd->next;
     }
 
-    ptr_instance->phys_devs = (struct loader_physical_device *) loader_heap_alloc(
-                                        ptr_instance,
-                                        count * sizeof(struct loader_physical_device),
-                                        VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    ptr_instance->phys_devs =
+        (struct loader_physical_device *)loader_heap_alloc(
+            ptr_instance, count * sizeof(struct loader_physical_device),
+            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (!ptr_instance->phys_devs)
         return VK_ERROR_OUT_OF_HOST_MEMORY;
 
@@ -3431,27 +3503,27 @@ VkResult loader_init_physical_device_info(struct loader_instance *ptr_instance)
     for (i = 0; i < ptr_instance->total_icd_count; i++) {
         assert(icd);
 
-        phys_devs[i].phys_devs = (VkPhysicalDevice *) loader_stack_alloc(
-                        phys_devs[i].count * sizeof(VkPhysicalDevice));
+        phys_devs[i].phys_devs = (VkPhysicalDevice *)loader_stack_alloc(
+            phys_devs[i].count * sizeof(VkPhysicalDevice));
         if (!phys_devs[i].phys_devs) {
             loader_heap_free(ptr_instance, ptr_instance->phys_devs);
             ptr_instance->phys_devs = NULL;
             return VK_ERROR_OUT_OF_HOST_MEMORY;
         }
         res = icd->EnumeratePhysicalDevices(
-                                        icd->instance,
-                                        &(phys_devs[i].count),
-                                        phys_devs[i].phys_devs);
+            icd->instance, &(phys_devs[i].count), phys_devs[i].phys_devs);
         if ((res == VK_SUCCESS)) {
             ptr_instance->total_gpu_count += phys_devs[i].count;
             for (j = 0; j < phys_devs[i].count; j++) {
 
                 // initialize the loader's physicalDevice object
-                loader_set_dispatch((void *) &inst_phys_devs[idx], ptr_instance->disp);
+                loader_set_dispatch((void *)&inst_phys_devs[idx],
+                                    ptr_instance->disp);
                 inst_phys_devs[idx].this_instance = ptr_instance;
                 inst_phys_devs[idx].this_icd = icd;
                 inst_phys_devs[idx].phys_dev = phys_devs[i].phys_devs[j];
-                memset(&inst_phys_devs[idx].device_extension_cache, 0, sizeof(struct loader_extension_list));
+                memset(&inst_phys_devs[idx].device_extension_cache, 0,
+                       sizeof(struct loader_extension_list));
 
                 idx++;
             }
@@ -3467,14 +3539,13 @@ VkResult loader_init_physical_device_info(struct loader_instance *ptr_instance)
     return VK_SUCCESS;
 }
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_EnumeratePhysicalDevices(
-        VkInstance                              instance,
-        uint32_t*                               pPhysicalDeviceCount,
-        VkPhysicalDevice*                       pPhysicalDevices)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_EnumeratePhysicalDevices(VkInstance instance,
+                                uint32_t *pPhysicalDeviceCount,
+                                VkPhysicalDevice *pPhysicalDevices) {
     uint32_t i;
     uint32_t copy_count = 0;
-    struct loader_instance *ptr_instance = (struct loader_instance *) instance;
+    struct loader_instance *ptr_instance = (struct loader_instance *)instance;
     VkResult res = VK_SUCCESS;
 
     if (ptr_instance->total_gpu_count == 0) {
@@ -3486,9 +3557,11 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_EnumeratePhysicalDevices(
         return res;
     }
 
-    copy_count = (ptr_instance->total_gpu_count < *pPhysicalDeviceCount) ? ptr_instance->total_gpu_count : *pPhysicalDeviceCount;
+    copy_count = (ptr_instance->total_gpu_count < *pPhysicalDeviceCount)
+                     ? ptr_instance->total_gpu_count
+                     : *pPhysicalDeviceCount;
     for (i = 0; i < copy_count; i++) {
-        pPhysicalDevices[i] = (VkPhysicalDevice) &ptr_instance->phys_devs[i];
+        pPhysicalDevices[i] = (VkPhysicalDevice)&ptr_instance->phys_devs[i];
     }
     *pPhysicalDeviceCount = copy_count;
 
@@ -3499,105 +3572,100 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_EnumeratePhysicalDevices(
     return res;
 }
 
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceProperties(
-        VkPhysicalDevice                        physicalDevice,
-        VkPhysicalDeviceProperties*             pProperties)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR void VKAPI_CALL
+loader_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,
+                                   VkPhysicalDeviceProperties *pProperties) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
     if (icd->GetPhysicalDeviceProperties)
         icd->GetPhysicalDeviceProperties(phys_dev->phys_dev, pProperties);
 }
 
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceQueueFamilyProperties (
-        VkPhysicalDevice                        physicalDevice,
-        uint32_t*                               pQueueFamilyPropertyCount,
-        VkQueueFamilyProperties*                pProperties)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceQueueFamilyProperties(
+    VkPhysicalDevice physicalDevice, uint32_t *pQueueFamilyPropertyCount,
+    VkQueueFamilyProperties *pProperties) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
     if (icd->GetPhysicalDeviceQueueFamilyProperties)
-        icd->GetPhysicalDeviceQueueFamilyProperties(phys_dev->phys_dev, pQueueFamilyPropertyCount, pProperties);
+        icd->GetPhysicalDeviceQueueFamilyProperties(
+            phys_dev->phys_dev, pQueueFamilyPropertyCount, pProperties);
 }
 
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceMemoryProperties (
-        VkPhysicalDevice physicalDevice,
-        VkPhysicalDeviceMemoryProperties* pProperties)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceMemoryProperties(
+    VkPhysicalDevice physicalDevice,
+    VkPhysicalDeviceMemoryProperties *pProperties) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
     if (icd->GetPhysicalDeviceMemoryProperties)
         icd->GetPhysicalDeviceMemoryProperties(phys_dev->phys_dev, pProperties);
 }
 
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceFeatures(
-        VkPhysicalDevice                        physicalDevice,
-        VkPhysicalDeviceFeatures*               pFeatures)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR void VKAPI_CALL
+loader_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,
+                                 VkPhysicalDeviceFeatures *pFeatures) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
     if (icd->GetPhysicalDeviceFeatures)
         icd->GetPhysicalDeviceFeatures(phys_dev->phys_dev, pFeatures);
 }
 
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceFormatProperties(
-        VkPhysicalDevice                        physicalDevice,
-        VkFormat                                format,
-        VkFormatProperties*                     pFormatInfo)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR void VKAPI_CALL
+loader_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,
+                                         VkFormat format,
+                                         VkFormatProperties *pFormatInfo) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
     if (icd->GetPhysicalDeviceFormatProperties)
-        icd->GetPhysicalDeviceFormatProperties(phys_dev->phys_dev, format, pFormatInfo);
+        icd->GetPhysicalDeviceFormatProperties(phys_dev->phys_dev, format,
+                                               pFormatInfo);
 }
 
 VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceImageFormatProperties(
-        VkPhysicalDevice                        physicalDevice,
-        VkFormat                                format,
-        VkImageType                             type,
-        VkImageTiling                           tiling,
-        VkImageUsageFlags                       usage,
-        VkImageCreateFlags                      flags,
-        VkImageFormatProperties*                pImageFormatProperties)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+    VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+    VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
+    VkImageFormatProperties *pImageFormatProperties) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
     if (!icd->GetPhysicalDeviceImageFormatProperties)
         return VK_ERROR_INITIALIZATION_FAILED;
 
-    return icd->GetPhysicalDeviceImageFormatProperties(phys_dev->phys_dev, format,
-            type, tiling, usage, flags, pImageFormatProperties);
+    return icd->GetPhysicalDeviceImageFormatProperties(
+        phys_dev->phys_dev, format, type, tiling, usage, flags,
+        pImageFormatProperties);
 }
 
 VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceSparseImageFormatProperties(
-        VkPhysicalDevice                        physicalDevice,
-        VkFormat                                format,
-        VkImageType                             type,
-        VkSampleCountFlagBits                   samples,
-        VkImageUsageFlags                       usage,
-        VkImageTiling                           tiling,
-        uint32_t*                               pNumProperties,
-        VkSparseImageFormatProperties*          pProperties)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+    VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+    VkSampleCountFlagBits samples, VkImageUsageFlags usage,
+    VkImageTiling tiling, uint32_t *pNumProperties,
+    VkSparseImageFormatProperties *pProperties) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
     if (icd->GetPhysicalDeviceSparseImageFormatProperties)
-        icd->GetPhysicalDeviceSparseImageFormatProperties(phys_dev->phys_dev, format, type, samples, usage, tiling, pNumProperties, pProperties);
+        icd->GetPhysicalDeviceSparseImageFormatProperties(
+            phys_dev->phys_dev, format, type, samples, usage, tiling,
+            pNumProperties, pProperties);
 }
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
-        VkPhysicalDevice                        physicalDevice,
-        const VkDeviceCreateInfo*               pCreateInfo,
-        const VkAllocationCallbacks*            pAllocator,
-        VkDevice*                               pDevice)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateDevice(VkPhysicalDevice physicalDevice,
+                    const VkDeviceCreateInfo *pCreateInfo,
+                    const VkAllocationCallbacks *pAllocator,
+                    VkDevice *pDevice) {
     struct loader_physical_device *phys_dev;
     struct loader_icd *icd;
     struct loader_device *dev;
@@ -3609,7 +3677,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
 
     assert(pCreateInfo->queueCreateInfoCount >= 1);
 
-    //TODO this only works for one physical device per instance
+    // TODO this only works for one physical device per instance
     // once CreateDevice layer bootstrapping is done via DeviceCreateInfo
     // hopefully don't need this anymore in trampoline code
     phys_dev = loader_get_physical_device(physicalDevice);
@@ -3626,8 +3694,8 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
     /* validate any app enabled layers are available */
     if (pCreateInfo->enabledLayerCount > 0) {
         res = loader_validate_layers(pCreateInfo->enabledLayerCount,
-                pCreateInfo->ppEnabledLayerNames,
-                &inst->device_layer_list);
+                                     pCreateInfo->ppEnabledLayerNames,
+                                     &inst->device_layer_list);
         if (res != VK_SUCCESS) {
             return res;
         }
@@ -3635,31 +3703,35 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
 
     /* Get the physical device extensions if they haven't been retrieved yet */
     if (phys_dev->device_extension_cache.capacity == 0) {
-        if (!loader_init_generic_list(inst, (struct loader_generic_list *)
-                                      &phys_dev->device_extension_cache,
-                                      sizeof(VkExtensionProperties))) {
+        if (!loader_init_generic_list(
+                inst,
+                (struct loader_generic_list *)&phys_dev->device_extension_cache,
+                sizeof(VkExtensionProperties))) {
             return VK_ERROR_OUT_OF_HOST_MEMORY;
         }
 
         res = loader_add_device_extensions(
-                            inst, icd, phys_dev->phys_dev,
-                            phys_dev->this_icd->this_icd_lib->lib_name,
-                            &phys_dev->device_extension_cache);
+            inst, icd, phys_dev->phys_dev,
+            phys_dev->this_icd->this_icd_lib->lib_name,
+            &phys_dev->device_extension_cache);
         if (res != VK_SUCCESS) {
             return res;
         }
     }
 
     /* fetch a list of all layers activated, explicit and implicit */
-    res = loader_enable_device_layers(inst, icd, &activated_layer_list, pCreateInfo, &inst->device_layer_list);
+    res = loader_enable_device_layers(inst, icd, &activated_layer_list,
+                                      pCreateInfo, &inst->device_layer_list);
     if (res != VK_SUCCESS) {
         return res;
     }
 
     /* make sure requested extensions to be enabled are supported */
-    res = loader_validate_device_extensions(phys_dev, &activated_layer_list, pCreateInfo);
+    res = loader_validate_device_extensions(phys_dev, &activated_layer_list,
+                                            pCreateInfo);
     if (res != VK_SUCCESS) {
-        loader_destroy_generic_list(inst, (struct loader_generic_list *) &activated_layer_list);
+        loader_destroy_generic_list(
+            inst, (struct loader_generic_list *)&activated_layer_list);
         return res;
     }
 
@@ -3670,9 +3742,11 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
      * library could support a layer, but it would be
      * independent of the actual ICD, just in the same library.
      */
-    filtered_extension_names = loader_stack_alloc(pCreateInfo->enabledExtensionCount * sizeof(char *));
+    filtered_extension_names =
+        loader_stack_alloc(pCreateInfo->enabledExtensionCount * sizeof(char *));
     if (!filtered_extension_names) {
-        loader_destroy_generic_list(inst, (struct loader_generic_list *) &activated_layer_list);
+        loader_destroy_generic_list(
+            inst, (struct loader_generic_list *)&activated_layer_list);
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
 
@@ -3684,39 +3758,44 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
     device_create_info.ppEnabledLayerNames = NULL;
 
     device_create_info.enabledExtensionCount = 0;
-    device_create_info.ppEnabledExtensionNames = (const char * const *) filtered_extension_names;
+    device_create_info.ppEnabledExtensionNames =
+        (const char *const *)filtered_extension_names;
 
     for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
         const char *extension_name = pCreateInfo->ppEnabledExtensionNames[i];
-        VkExtensionProperties *prop = get_extension_property(extension_name,
-                                      &phys_dev->device_extension_cache);
+        VkExtensionProperties *prop = get_extension_property(
+            extension_name, &phys_dev->device_extension_cache);
         if (prop) {
-            filtered_extension_names[device_create_info.enabledExtensionCount] = (char *) extension_name;
+            filtered_extension_names[device_create_info.enabledExtensionCount] =
+                (char *)extension_name;
             device_create_info.enabledExtensionCount++;
         }
     }
 
     dev = loader_add_logical_device(inst, &icd->logical_device_list);
     if (dev == NULL) {
-        loader_destroy_generic_list(inst, (struct loader_generic_list *) &activated_layer_list);
+        loader_destroy_generic_list(
+            inst, (struct loader_generic_list *)&activated_layer_list);
         return VK_ERROR_OUT_OF_HOST_MEMORY;
     }
 
-
-    /* move the locally filled layer list into the device, and pass ownership of the memory */
+    /* move the locally filled layer list into the device, and pass ownership of
+     * the memory */
     dev->activated_layer_list.capacity = activated_layer_list.capacity;
     dev->activated_layer_list.count = activated_layer_list.count;
     dev->activated_layer_list.list = activated_layer_list.list;
     memset(&activated_layer_list, 0, sizeof(activated_layer_list));
 
     /* activate any layers on device chain which terminates with device*/
-    res = loader_enable_device_layers(inst, icd, &dev->activated_layer_list, pCreateInfo, &inst->device_layer_list);
+    res = loader_enable_device_layers(inst, icd, &dev->activated_layer_list,
+                                      pCreateInfo, &inst->device_layer_list);
     if (res != VK_SUCCESS) {
         loader_remove_logical_device(inst, icd, dev);
         return res;
     }
 
-    res = loader_create_device_chain(physicalDevice, pCreateInfo, pAllocator, inst, icd, dev);
+    res = loader_create_device_chain(physicalDevice, pCreateInfo, pAllocator,
+                                     inst, icd, dev);
     if (res != VK_SUCCESS) {
         loader_remove_logical_device(inst, icd, dev);
         return res;
@@ -3727,11 +3806,12 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
     /* initialize any device extension dispatch entry's from the instance list*/
     loader_init_dispatch_dev_ext(inst, dev);
 
-    /* initialize WSI device extensions as part of core dispatch since loader has
+    /* initialize WSI device extensions as part of core dispatch since loader
+     * has
      * dedicated trampoline code for these*/
-    loader_init_device_extension_dispatch_table(&dev->loader_dispatch,
-                                                dev->loader_dispatch.core_dispatch.GetDeviceProcAddr,
-                                                *pDevice);
+    loader_init_device_extension_dispatch_table(
+        &dev->loader_dispatch,
+        dev->loader_dispatch.core_dispatch.GetDeviceProcAddr, *pDevice);
 
     return res;
 }
@@ -3742,11 +3822,12 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
  * @param pName
  * @return
  *    If instance == NULL returns a global level functions only
- *    If instance is valid returns a trampoline entry point for all dispatchable Vulkan
+ *    If instance is valid returns a trampoline entry point for all dispatchable
+ * Vulkan
  *    functions both core and extensions.
  */
-LOADER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkInstance instance, const char * pName)
-{
+LOADER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL
+vkGetInstanceProcAddr(VkInstance instance, const char *pName) {
 
     void *addr;
 
@@ -3764,12 +3845,13 @@ LOADER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkI
     struct loader_instance *ptr_instance = loader_get_instance(instance);
     if (ptr_instance == NULL)
         return NULL;
-    // Return trampoline code for non-global entrypoints including any extensions.
+    // Return trampoline code for non-global entrypoints including any
+    // extensions.
     // Device extensions are returned if a layer or ICD supports the extension.
-    // Instance extensions are returned if the extension is enabled and the loader
+    // Instance extensions are returned if the extension is enabled and the
+    // loader
     // or someone else supports the extension
     return trampolineGetProcAddr(ptr_instance, pName);
-
 }
 
 /**
@@ -3781,11 +3863,12 @@ LOADER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetInstanceProcAddr(VkI
  *    entry points both core and extensions.
  *    Device relative means call down the device chain.
  */
-LOADER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDevice device, const char * pName)
-{
+LOADER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL
+vkGetDeviceProcAddr(VkDevice device, const char *pName) {
     void *addr;
 
-    /* for entrypoints that loader must handle (ie non-dispatchable or create object)
+    /* for entrypoints that loader must handle (ie non-dispatchable or create
+       object)
        make sure the loader entrypoint is returned */
     addr = loader_non_passthrough_gdpa(pName);
     if (addr) {
@@ -3799,7 +3882,7 @@ LOADER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDev
         return NULL;
 
     /* return the dispatch table entrypoint for the fastest case */
-    const VkLayerDispatchTable *disp_table = * (VkLayerDispatchTable **) device;
+    const VkLayerDispatchTable *disp_table = *(VkLayerDispatchTable **)device;
     if (disp_table == NULL)
         return NULL;
 
@@ -3812,12 +3895,11 @@ LOADER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL vkGetDeviceProcAddr(VkDev
     return disp_table->GetDeviceProcAddr(device, pName);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionProperties(
-    const char*                                 pLayerName,
-    uint32_t*                                   pPropertyCount,
-    VkExtensionProperties*                      pProperties)
-{
-    struct loader_extension_list *global_ext_list=NULL;
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkEnumerateInstanceExtensionProperties(const char *pLayerName,
+                                       uint32_t *pPropertyCount,
+                                       VkExtensionProperties *pProperties) {
+    struct loader_extension_list *global_ext_list = NULL;
     struct loader_layer_list instance_layers;
     struct loader_extension_list icd_extensions;
     struct loader_icd_libs icd_libs;
@@ -3834,45 +3916,46 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPropert
         for (uint32_t i = 0; i < instance_layers.count; i++) {
             struct loader_layer_properties *props = &instance_layers.list[i];
             if (strcmp(props->info.layerName, pLayerName) == 0) {
-               global_ext_list = &props->instance_extension_list;
+                global_ext_list = &props->instance_extension_list;
             }
         }
-    }
-    else {
+    } else {
         /* Scan/discover all ICD libraries */
-        memset(&icd_libs, 0 , sizeof(struct loader_icd_libs));
+        memset(&icd_libs, 0, sizeof(struct loader_icd_libs));
         loader_icd_scan(NULL, &icd_libs);
         /* get extensions from all ICD's, merge so no duplicates */
-        loader_get_icd_loader_instance_extensions(NULL, &icd_libs, &icd_extensions);
+        loader_get_icd_loader_instance_extensions(NULL, &icd_libs,
+                                                  &icd_extensions);
         loader_scanned_icd_clear(NULL, &icd_libs);
         global_ext_list = &icd_extensions;
     }
 
     if (global_ext_list == NULL) {
-       loader_destroy_layer_list(NULL, &instance_layers);
+        loader_destroy_layer_list(NULL, &instance_layers);
         return VK_ERROR_LAYER_NOT_PRESENT;
     }
 
     if (pProperties == NULL) {
-       *pPropertyCount = global_ext_list->count;
-       loader_destroy_layer_list(NULL, &instance_layers);
-        loader_destroy_generic_list(NULL, (struct loader_generic_list *)
-                                    &icd_extensions);
+        *pPropertyCount = global_ext_list->count;
+        loader_destroy_layer_list(NULL, &instance_layers);
+        loader_destroy_generic_list(
+            NULL, (struct loader_generic_list *)&icd_extensions);
         return VK_SUCCESS;
     }
 
-    copy_size = *pPropertyCount < global_ext_list->count ? *pPropertyCount : global_ext_list->count;
+    copy_size = *pPropertyCount < global_ext_list->count
+                    ? *pPropertyCount
+                    : global_ext_list->count;
     for (uint32_t i = 0; i < copy_size; i++) {
-        memcpy(&pProperties[i],
-               &global_ext_list->list[i],
+        memcpy(&pProperties[i], &global_ext_list->list[i],
                sizeof(VkExtensionProperties));
     }
     *pPropertyCount = copy_size;
-    loader_destroy_generic_list(NULL, (struct loader_generic_list *)
-                                &icd_extensions);
+    loader_destroy_generic_list(NULL,
+                                (struct loader_generic_list *)&icd_extensions);
 
     if (copy_size < global_ext_list->count) {
-       loader_destroy_layer_list(NULL, &instance_layers);
+        loader_destroy_layer_list(NULL, &instance_layers);
         return VK_INCOMPLETE;
     }
 
@@ -3880,10 +3963,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceExtensionPropert
     return VK_SUCCESS;
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
-    uint32_t*                                   pPropertyCount,
-    VkLayerProperties*                          pProperties)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkEnumerateInstanceLayerProperties(uint32_t *pPropertyCount,
+                                   VkLayerProperties *pProperties) {
 
     struct loader_layer_list instance_layer_list;
     tls_instance = NULL;
@@ -3902,9 +3984,12 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
         return VK_SUCCESS;
     }
 
-    copy_size = (*pPropertyCount < instance_layer_list.count) ? *pPropertyCount : instance_layer_list.count;
+    copy_size = (*pPropertyCount < instance_layer_list.count)
+                    ? *pPropertyCount
+                    : instance_layer_list.count;
     for (uint32_t i = 0; i < copy_size; i++) {
-        memcpy(&pProperties[i], &instance_layer_list.list[i].info, sizeof(VkLayerProperties));
+        memcpy(&pProperties[i], &instance_layer_list.list[i].info,
+               sizeof(VkLayerProperties));
     }
     *pPropertyCount = copy_size;
     loader_destroy_layer_list(NULL, &instance_layer_list);
@@ -3916,31 +4001,32 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateInstanceLayerProperties(
     return VK_SUCCESS;
 }
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_EnumerateDeviceExtensionProperties(
-        VkPhysicalDevice                        physicalDevice,
-        const char*                             pLayerName,
-        uint32_t*                               pPropertyCount,
-        VkExtensionProperties*                  pProperties)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,
+                                          const char *pLayerName,
+                                          uint32_t *pPropertyCount,
+                                          VkExtensionProperties *pProperties) {
     struct loader_physical_device *phys_dev;
     uint32_t copy_size;
 
     uint32_t count;
-    struct loader_device_extension_list *dev_ext_list=NULL;
+    struct loader_device_extension_list *dev_ext_list = NULL;
     struct loader_layer_list implicit_layer_list;
 
-    //TODO fix this aliases physical devices 
+    // TODO fix this aliases physical devices
     phys_dev = loader_get_physical_device(physicalDevice);
 
     /* get layer libraries if needed */
     if (pLayerName && strlen(pLayerName) != 0) {
-        for (uint32_t i = 0; i < phys_dev->this_instance->device_layer_list.count; i++) {
-            struct loader_layer_properties *props = &phys_dev->this_instance->device_layer_list.list[i];
+        for (uint32_t i = 0;
+             i < phys_dev->this_instance->device_layer_list.count; i++) {
+            struct loader_layer_properties *props =
+                &phys_dev->this_instance->device_layer_list.list[i];
             if (strcmp(props->info.layerName, pLayerName) == 0) {
-               dev_ext_list = &props->device_extension_list;
+                dev_ext_list = &props->device_extension_list;
             }
         }
-        count = (dev_ext_list == NULL) ? 0: dev_ext_list->count;
+        count = (dev_ext_list == NULL) ? 0 : dev_ext_list->count;
         if (pProperties == NULL) {
             *pPropertyCount = count;
             return VK_SUCCESS;
@@ -3958,55 +4044,64 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_EnumerateDeviceExtensionProperties(
         }
 
         return VK_SUCCESS;
-    }
-    else {
-        /* this case is during the call down the instance chain with pLayerName == NULL*/
+    } else {
+        /* this case is during the call down the instance chain with pLayerName
+         * == NULL*/
         struct loader_icd *icd = phys_dev->this_icd;
         uint32_t icd_ext_count = *pPropertyCount;
         VkResult res;
         /* get device extensions */
-        res = icd->EnumerateDeviceExtensionProperties(phys_dev->phys_dev, NULL, &icd_ext_count, pProperties);
+        res = icd->EnumerateDeviceExtensionProperties(
+            phys_dev->phys_dev, NULL, &icd_ext_count, pProperties);
         if (res != VK_SUCCESS)
             return res;
-        
+
         loader_init_layer_list(phys_dev->this_instance, &implicit_layer_list);
 
-        loader_add_layer_implicit(phys_dev->this_instance,
-                                  VK_LAYER_TYPE_INSTANCE_IMPLICIT,
-                                  &implicit_layer_list,
-                                  &phys_dev->this_instance->instance_layer_list);
+        loader_add_layer_implicit(
+            phys_dev->this_instance, VK_LAYER_TYPE_INSTANCE_IMPLICIT,
+            &implicit_layer_list,
+            &phys_dev->this_instance->instance_layer_list);
         /* we need to determine which implicit layers are active,
          * and then add their extensions. This can't be cached as
          * it depends on results of environment variables (which can change).
          */
         if (pProperties != NULL) {
             /* initialize dev_extension list within the physicalDevice object */
-            res = loader_init_device_extensions(phys_dev->this_instance,
-                                   phys_dev, icd_ext_count, pProperties,
-                                   &phys_dev->device_extension_cache);
+            res = loader_init_device_extensions(
+                phys_dev->this_instance, phys_dev, icd_ext_count, pProperties,
+                &phys_dev->device_extension_cache);
             if (res != VK_SUCCESS)
                 return res;
 
             /* we need to determine which implicit layers are active,
              * and then add their extensions. This can't be cached as
-             * it depends on results of environment variables (which can change).
+             * it depends on results of environment variables (which can
+             * change).
              */
             struct loader_extension_list all_exts = {0};
             loader_add_to_ext_list(phys_dev->this_instance, &all_exts,
-                    phys_dev->device_extension_cache.count,
-                    phys_dev->device_extension_cache.list);
+                                   phys_dev->device_extension_cache.count,
+                                   phys_dev->device_extension_cache.list);
 
-            loader_init_layer_list(phys_dev->this_instance, &implicit_layer_list);
+            loader_init_layer_list(phys_dev->this_instance,
+                                   &implicit_layer_list);
 
-            loader_add_layer_implicit(phys_dev->this_instance,
-                    VK_LAYER_TYPE_INSTANCE_IMPLICIT,
-                    &implicit_layer_list,
-                    &phys_dev->this_instance->instance_layer_list);
+            loader_add_layer_implicit(
+                phys_dev->this_instance, VK_LAYER_TYPE_INSTANCE_IMPLICIT,
+                &implicit_layer_list,
+                &phys_dev->this_instance->instance_layer_list);
 
             for (uint32_t i = 0; i < implicit_layer_list.count; i++) {
-                for (uint32_t j = 0; j < implicit_layer_list.list[i].device_extension_list.count; j++) {
-                    loader_add_to_ext_list(phys_dev->this_instance, &all_exts, 1,
-                            &implicit_layer_list.list[i].device_extension_list.list[j].props);
+                for (
+                    uint32_t j = 0;
+                    j < implicit_layer_list.list[i].device_extension_list.count;
+                    j++) {
+                    loader_add_to_ext_list(phys_dev->this_instance, &all_exts,
+                                           1,
+                                           &implicit_layer_list.list[i]
+                                                .device_extension_list.list[j]
+                                                .props);
                 }
             }
             uint32_t capacity = *pPropertyCount;
@@ -4015,42 +4110,43 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_EnumerateDeviceExtensionProperties(
             for (uint32_t i = 0; i < all_exts.count && i < capacity; i++) {
                 props[i] = all_exts.list[i];
             }
-            /* wasn't enough space for the extensions, we did partial copy now return VK_INCOMPLETE */
+            /* wasn't enough space for the extensions, we did partial copy now
+             * return VK_INCOMPLETE */
             if (capacity < all_exts.count) {
                 res = VK_INCOMPLETE;
-            }
-            else {
+            } else {
                 *pPropertyCount = all_exts.count;
             }
-            loader_destroy_generic_list(phys_dev->this_instance, (struct loader_generic_list *) &all_exts);
-        }
-        else {
-            /* just return the count; need to add in the count of implicit layer extensions
+            loader_destroy_generic_list(
+                phys_dev->this_instance,
+                (struct loader_generic_list *)&all_exts);
+        } else {
+            /* just return the count; need to add in the count of implicit layer
+             * extensions
              * don't worry about duplicates being added in the count */
             *pPropertyCount = icd_ext_count;
 
             for (uint32_t i = 0; i < implicit_layer_list.count; i++) {
-                *pPropertyCount += implicit_layer_list.list[i].device_extension_list.count;
+                *pPropertyCount +=
+                    implicit_layer_list.list[i].device_extension_list.count;
             }
             res = VK_SUCCESS;
-
         }
 
-
-        loader_destroy_generic_list(phys_dev->this_instance, (struct loader_generic_list *) &implicit_layer_list);
+        loader_destroy_generic_list(
+            phys_dev->this_instance,
+            (struct loader_generic_list *)&implicit_layer_list);
         return res;
     }
-
 }
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_EnumerateDeviceLayerProperties(
-        VkPhysicalDevice                        physicalDevice,
-        uint32_t*                               pPropertyCount,
-        VkLayerProperties*                      pProperties)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,
+                                      uint32_t *pPropertyCount,
+                                      VkLayerProperties *pProperties) {
     uint32_t copy_size;
     struct loader_physical_device *phys_dev;
-    //TODO fix this, aliases physical devices
+    // TODO fix this, aliases physical devices
     phys_dev = loader_get_physical_device(physicalDevice);
     uint32_t count = phys_dev->this_instance->device_layer_list.count;
 
@@ -4061,7 +4157,9 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_EnumerateDeviceLayerProperties(
 
     copy_size = (*pPropertyCount < count) ? *pPropertyCount : count;
     for (uint32_t i = 0; i < copy_size; i++) {
-        memcpy(&pProperties[i], &(phys_dev->this_instance->device_layer_list.list[i].info), sizeof(VkLayerProperties));
+        memcpy(&pProperties[i],
+               &(phys_dev->this_instance->device_layer_list.list[i].info),
+               sizeof(VkLayerProperties));
     }
     *pPropertyCount = copy_size;
 
index 4f253ef..266ec03 100644 (file)
@@ -1,32 +1,38 @@
 /*
  *
- * Copyright (C) 2015 Valve Corporation
+ * Copyright (c) 2014-2016 The Khronos Group Inc.
+ * Copyright (c) 2014-2016 Valve Corporation
+ * Copyright (c) 2014-2016 LunarG, Inc.
  * Copyright (C) 2015 Google Inc.
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
+ * Author: Jon Ashburn <jon@lunarg.com>
+ * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
  * Author: Chia-I Wu <olvaffe@gmail.com>
  * Author: Chia-I Wu <olv@lunarg.com>
- * Author: Chris Forbes <chrisf@ijw.co.nz>
- * Author: Courtney Goeltzenleuchter <courtney@LunarG.com>
- * Author: Jon Ashburn <jon@lunarg.com>
- * Author: Tony Barbour <tony@LunarG.com>
+ * Author: Mark Lobodzinski <mark@LunarG.com>
  *
  */
 
 #include <assert.h>
 
 #if defined(__GNUC__) && __GNUC__ >= 4
-#  define LOADER_EXPORT __attribute__((visibility("default")))
+#define LOADER_EXPORT __attribute__((visibility("default")))
 #elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
-#  define LOADER_EXPORT __attribute__((visibility("default")))
+#define LOADER_EXPORT __attribute__((visibility("default")))
 #else
-#  define LOADER_EXPORT
+#define LOADER_EXPORT
 #endif
 
 #define MAX_STRING_SIZE 1024
 enum layer_type {
     VK_LAYER_TYPE_DEVICE_EXPLICIT = 0x1,
     VK_LAYER_TYPE_INSTANCE_EXPLICIT = 0x2,
-    VK_LAYER_TYPE_GLOBAL_EXPLICIT = 0x3, // both instance and device layer, bitwise
+    VK_LAYER_TYPE_GLOBAL_EXPLICIT =
+        0x3, // both instance and device layer, bitwise
     VK_LAYER_TYPE_DEVICE_IMPLICIT = 0x4,
     VK_LAYER_TYPE_INSTANCE_IMPLICIT = 0x8,
-    VK_LAYER_TYPE_GLOBAL_IMPLICIT = 0xc,   // both instance and device layer, bitwise
+    VK_LAYER_TYPE_GLOBAL_IMPLICIT =
+        0xc, // both instance and device layer, bitwise
 };
 
 // form of all dynamic lists/arrays
@@ -134,19 +142,20 @@ struct loader_layer_library_list {
 struct loader_dispatch_hash_list {
     size_t capacity;
     uint32_t count;
-    uint32_t *index;       // index into the dev_ext dispatch table
+    uint32_t *index; // index into the dev_ext dispatch table
 };
 
 #define MAX_NUM_DEV_EXTS 250
-// loader_dispatch_hash_entry and loader_dev_ext_dispatch_table.DevExt have one to one
+// loader_dispatch_hash_entry and loader_dev_ext_dispatch_table.DevExt have one
+// to one
 // correspondence; one loader_dispatch_hash_entry for one DevExt dispatch entry.
 // Also have a one to one correspondence with functions in dev_ext_trampoline.c
 struct loader_dispatch_hash_entry {
     char *func_name;
-    struct loader_dispatch_hash_list list;   // to handle hashing collisions
+    struct loader_dispatch_hash_list list; // to handle hashing collisions
 };
 
-typedef void (VKAPI_PTR *PFN_vkDevExt)(VkDevice device);
+typedef void(VKAPI_PTR *PFN_vkDevExt)(VkDevice device);
 struct loader_dev_ext_dispatch_table {
     PFN_vkDevExt DevExt[MAX_NUM_DEV_EXTS];
 };
@@ -159,9 +168,9 @@ struct loader_dev_dispatch_table {
 /* per CreateDevice structure */
 struct loader_device {
     struct loader_dev_dispatch_table loader_dispatch;
-    VkDevice device;       // device object from the icd
+    VkDevice device; // device object from the icd
 
-    uint32_t  app_extension_count;
+    uint32_t app_extension_count;
     VkExtensionProperties *app_extension_props;
 
     struct loader_layer_list activated_layer_list;
@@ -176,40 +185,50 @@ struct loader_icd {
     const struct loader_instance *this_instance;
 
     struct loader_device *logical_device_list;
-    VkInstance instance;       // instance object from the icd
+    VkInstance instance; // instance object from the icd
     PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
     PFN_vkDestroyInstance DestroyInstance;
     PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
     PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
     PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
-    PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
+    PFN_vkGetPhysicalDeviceImageFormatProperties
+        GetPhysicalDeviceImageFormatProperties;
     PFN_vkCreateDevice CreateDevice;
     PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
-    PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
+    PFN_vkGetPhysicalDeviceQueueFamilyProperties
+        GetPhysicalDeviceQueueFamilyProperties;
     PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
     PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
-    PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
+    PFN_vkGetPhysicalDeviceSparseImageFormatProperties
+        GetPhysicalDeviceSparseImageFormatProperties;
     PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT;
     PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT;
     PFN_vkDebugReportMessageEXT DebugReportMessageEXT;
     PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
-    PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
+    PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR
+        GetPhysicalDeviceSurfaceCapabilitiesKHR;
     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
-    PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
+    PFN_vkGetPhysicalDeviceSurfacePresentModesKHR
+        GetPhysicalDeviceSurfacePresentModesKHR;
 #ifdef VK_USE_PLATFORM_WIN32_KHR
-    PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR;
+    PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR
+        GetPhysicalDeviceWin32PresentationSupportKHR;
 #endif
 #ifdef VK_USE_PLATFORM_MIR_KHR
-    PFN_vkGetPhysicalDeviceMirPresentationSupportKHR GetPhysicalDeviceMirPresentvationSupportKHR;
+    PFN_vkGetPhysicalDeviceMirPresentationSupportKHR
+        GetPhysicalDeviceMirPresentvationSupportKHR;
 #endif
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupportKHR;
+    PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR
+        GetPhysicalDeviceWaylandPresentationSupportKHR;
 #endif
 #ifdef VK_USE_PLATFORM_XCB_KHR
-    PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupportKHR;
+    PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR
+        GetPhysicalDeviceXcbPresentationSupportKHR;
 #endif
 #ifdef VK_USE_PLATFORM_XLIB_KHR
-    PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR GetPhysicalDeviceXlibPresentationSupportKHR;
+    PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR
+        GetPhysicalDeviceXlibPresentationSupportKHR;
 #endif
 
     struct loader_icd *next;
@@ -231,7 +250,7 @@ struct loader_instance {
     uint32_t total_icd_count;
     struct loader_icd *icds;
     struct loader_instance *next;
-    struct loader_extension_list ext_list;   // icds and loaders extensions
+    struct loader_extension_list ext_list; // icds and loaders extensions
     struct loader_icd_libs icd_libs;
     struct loader_layer_list instance_layer_list;
     struct loader_layer_list device_layer_list;
@@ -274,11 +293,11 @@ struct loader_physical_device {
     VkLayerInstanceDispatchTable *disp; // must be first entry in structure
     struct loader_instance *this_instance;
     struct loader_icd *this_icd;
-    VkPhysicalDevice phys_dev;          // object from ICD
-    /*
-     * Fill in the cache of available device extensions from
-     * this physical device. This cache can be used during CreateDevice
-     */
+    VkPhysicalDevice phys_dev; // object from ICD
+                               /*
+                                * Fill in the cache of available device extensions from
+                                * this physical device. This cache can be used during CreateDevice
+                                */
     struct loader_extension_list device_extension_cache;
 };
 
@@ -299,38 +318,37 @@ struct loader_scanned_icds {
     uint32_t api_version;
     PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
     PFN_vkCreateInstance CreateInstance;
-    PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
+    PFN_vkEnumerateInstanceExtensionProperties
+        EnumerateInstanceExtensionProperties;
 };
 
 static inline struct loader_instance *loader_instance(VkInstance instance) {
-    return (struct loader_instance *) instance;
+    return (struct loader_instance *)instance;
 }
 
-static inline void loader_set_dispatch(void* obj, const void *data)
-{
-    *((const void **) obj) = data;
+static inline void loader_set_dispatch(void *obj, const void *data) {
+    *((const void **)obj) = data;
 }
 
-static inline VkLayerDispatchTable *loader_get_dispatch(const void* obj)
-{
-    return *((VkLayerDispatchTable **) obj);
+static inline VkLayerDispatchTable *loader_get_dispatch(const void *obj) {
+    return *((VkLayerDispatchTable **)obj);
 }
 
-static inline struct loader_dev_dispatch_table *loader_get_dev_dispatch(const void* obj)
-{
-    return *((struct loader_dev_dispatch_table **) obj);
+static inline struct loader_dev_dispatch_table *
+loader_get_dev_dispatch(const void *obj) {
+    return *((struct loader_dev_dispatch_table **)obj);
 }
 
-static inline VkLayerInstanceDispatchTable *loader_get_instance_dispatch(const void* obj)
-{
-    return *((VkLayerInstanceDispatchTable **) obj);
+static inline VkLayerInstanceDispatchTable *
+loader_get_instance_dispatch(const void *obj) {
+    return *((VkLayerInstanceDispatchTable **)obj);
 }
 
-static inline void loader_init_dispatch(void* obj, const void *data)
-{
+static inline void loader_init_dispatch(void *obj, const void *data) {
 #ifdef DEBUG
     assert(valid_loader_magic_value(obj) &&
-            "Incompatible ICD, first dword must be initialized to ICD_LOADER_MAGIC. See loader/README.md for details.");
+           "Incompatible ICD, first dword must be initialized to "
+           "ICD_LOADER_MAGIC. See loader/README.md for details.");
 #endif
 
     loader_set_dispatch(obj, data);
@@ -349,172 +367,142 @@ struct loader_msg_callback_map_entry {
     VkDebugReportCallbackEXT loader_obj;
 };
 
-bool compare_vk_extension_properties(
-        const VkExtensionProperties*            op1,
-        const VkExtensionProperties*            op2);
+bool compare_vk_extension_properties(const VkExtensionProperties *op1,
+                                     const VkExtensionProperties *op2);
 
-VkResult loader_validate_layers(
-        const uint32_t layer_count,
-        const char * const *ppEnabledLayerNames,
-        const struct loader_layer_list *list);
+VkResult loader_validate_layers(const uint32_t layer_count,
+                                const char *const *ppEnabledLayerNames,
+                                const struct loader_layer_list *list);
 
 VkResult loader_validate_instance_extensions(
-        const struct loader_extension_list *icd_exts,
-        const struct loader_layer_list *instance_layer,
-        const VkInstanceCreateInfo*             pCreateInfo);
+    const struct loader_extension_list *icd_exts,
+    const struct loader_layer_list *instance_layer,
+    const VkInstanceCreateInfo *pCreateInfo);
 
 /* instance layer chain termination entrypoint definitions */
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateInstance(
-        const VkInstanceCreateInfo*             pCreateInfo,
-        const VkAllocationCallbacks*                 pAllocator,
-        VkInstance*                             pInstance);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateInstance(const VkInstanceCreateInfo *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkInstance *pInstance);
 
-VKAPI_ATTR void VKAPI_CALL loader_DestroyInstance(
-        VkInstance                              instance,
-        const VkAllocationCallbacks*                 pAllocator);
+VKAPI_ATTR void VKAPI_CALL
+loader_DestroyInstance(VkInstance instance,
+                       const VkAllocationCallbacks *pAllocator);
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_EnumeratePhysicalDevices(
-        VkInstance                              instance,
-        uint32_t*                               pPhysicalDeviceCount,
-        VkPhysicalDevice*                       pPhysicalDevices);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_EnumeratePhysicalDevices(VkInstance instance,
+                                uint32_t *pPhysicalDeviceCount,
+                                VkPhysicalDevice *pPhysicalDevices);
 
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceFeatures(
-        VkPhysicalDevice                        physicalDevice,
-        VkPhysicalDeviceFeatures*               pFeatures);
+VKAPI_ATTR void VKAPI_CALL
+loader_GetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,
+                                 VkPhysicalDeviceFeatures *pFeatures);
 
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceFormatProperties(
-        VkPhysicalDevice                        physicalDevice,
-        VkFormat                                format,
-        VkFormatProperties*                     pFormatInfo);
+VKAPI_ATTR void VKAPI_CALL
+loader_GetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,
+                                         VkFormat format,
+                                         VkFormatProperties *pFormatInfo);
 
 VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceImageFormatProperties(
-        VkPhysicalDevice                        physicalDevice,
-        VkFormat                                format,
-        VkImageType                             type,
-        VkImageTiling                           tiling,
-        VkImageUsageFlags                       usage,
-        VkImageCreateFlags                      flags,
-        VkImageFormatProperties*                pImageFormatProperties);
+    VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+    VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
+    VkImageFormatProperties *pImageFormatProperties);
 
 VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceSparseImageFormatProperties(
-        VkPhysicalDevice                        physicalDevice,
-        VkFormat                                format,
-        VkImageType                             type,
-        VkSampleCountFlagBits                   samples,
-        VkImageUsageFlags                       usage,
-        VkImageTiling                           tiling,
-        uint32_t*                               pNumProperties,
-        VkSparseImageFormatProperties*          pProperties);
-
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceProperties (
-        VkPhysicalDevice physicalDevice,
-        VkPhysicalDeviceProperties* pProperties);
-
-VKAPI_ATTR VkResult VKAPI_CALL loader_EnumerateDeviceExtensionProperties (VkPhysicalDevice physicalDevice,
-        const char *pLayerName, uint32_t *pCount,
-        VkExtensionProperties* pProperties);
-
-VKAPI_ATTR VkResult VKAPI_CALL loader_EnumerateDeviceLayerProperties (VkPhysicalDevice physicalDevice,
-        uint32_t *pCount,
-        VkLayerProperties* pProperties);
-
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceQueueFamilyProperties (
-        VkPhysicalDevice                        physicalDevice,
-        uint32_t*                               pCount,
-        VkQueueFamilyProperties*                pProperties);
-
-VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceMemoryProperties (
-        VkPhysicalDevice physicalDevice,
-        VkPhysicalDeviceMemoryProperties * pProperties);
-
-VKAPI_ATTR VkResult VKAPI_CALL loader_create_device_terminator(
-        VkPhysicalDevice                            physicalDevice,
-        const VkDeviceCreateInfo*                   pCreateInfo,
-        const VkAllocationCallbacks*                pAllocator,
-        VkDevice*                                   pDevice);
-
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateDevice(
-        VkPhysicalDevice                        gpu,
-        const VkDeviceCreateInfo*               pCreateInfo,
-        const VkAllocationCallbacks*                 pAllocator,
-        VkDevice*                               pDevice);
+    VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+    VkSampleCountFlagBits samples, VkImageUsageFlags usage,
+    VkImageTiling tiling, uint32_t *pNumProperties,
+    VkSparseImageFormatProperties *pProperties);
+
+VKAPI_ATTR void VKAPI_CALL
+loader_GetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,
+                                   VkPhysicalDeviceProperties *pProperties);
+
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_EnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,
+                                          const char *pLayerName,
+                                          uint32_t *pCount,
+                                          VkExtensionProperties *pProperties);
+
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_EnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,
+                                      uint32_t *pCount,
+                                      VkLayerProperties *pProperties);
+
+VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceQueueFamilyProperties(
+    VkPhysicalDevice physicalDevice, uint32_t *pCount,
+    VkQueueFamilyProperties *pProperties);
+
+VKAPI_ATTR void VKAPI_CALL loader_GetPhysicalDeviceMemoryProperties(
+    VkPhysicalDevice physicalDevice,
+    VkPhysicalDeviceMemoryProperties *pProperties);
+
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_create_device_terminator(VkPhysicalDevice physicalDevice,
+                                const VkDeviceCreateInfo *pCreateInfo,
+                                const VkAllocationCallbacks *pAllocator,
+                                VkDevice *pDevice);
+
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateDevice(VkPhysicalDevice gpu, const VkDeviceCreateInfo *pCreateInfo,
+                    const VkAllocationCallbacks *pAllocator, VkDevice *pDevice);
 
 /* helper function definitions */
 void loader_initialize(void);
-bool has_vk_extension_property_array(
-        const VkExtensionProperties *vk_ext_prop,
-        const uint32_t count,
-        const VkExtensionProperties *ext_array);
-bool has_vk_extension_property(
-        const VkExtensionProperties *vk_ext_prop,
-        const struct loader_extension_list *ext_list);
-
-VkResult loader_add_to_ext_list(
-        const struct loader_instance *inst,
-        struct loader_extension_list *ext_list,
-        uint32_t prop_list_count,
-        const VkExtensionProperties *props);
-void loader_destroy_generic_list(
-        const struct loader_instance *inst,
-        struct loader_generic_list *list);
-void loader_delete_layer_properties(
-        const struct loader_instance *inst,
-        struct loader_layer_list *layer_list);
-void loader_add_to_layer_list(
-        const struct loader_instance *inst,
-        struct loader_layer_list *list,
-        uint32_t prop_list_count,
-        const struct loader_layer_properties *props);
-void loader_scanned_icd_clear(
-        const struct loader_instance *inst,
-        struct loader_icd_libs *icd_libs);
-void loader_icd_scan(
-        const struct loader_instance *inst,
-        struct loader_icd_libs *icds);
-void loader_layer_scan(
-        const struct loader_instance *inst,
-        struct loader_layer_list *instance_layers,
-        struct loader_layer_list *device_layers);
+bool has_vk_extension_property_array(const VkExtensionProperties *vk_ext_prop,
+                                     const uint32_t count,
+                                     const VkExtensionProperties *ext_array);
+bool has_vk_extension_property(const VkExtensionProperties *vk_ext_prop,
+                               const struct loader_extension_list *ext_list);
+
+VkResult loader_add_to_ext_list(const struct loader_instance *inst,
+                                struct loader_extension_list *ext_list,
+                                uint32_t prop_list_count,
+                                const VkExtensionProperties *props);
+void loader_destroy_generic_list(const struct loader_instance *inst,
+                                 struct loader_generic_list *list);
+void loader_delete_layer_properties(const struct loader_instance *inst,
+                                    struct loader_layer_list *layer_list);
+void loader_add_to_layer_list(const struct loader_instance *inst,
+                              struct loader_layer_list *list,
+                              uint32_t prop_list_count,
+                              const struct loader_layer_properties *props);
+void loader_scanned_icd_clear(const struct loader_instance *inst,
+                              struct loader_icd_libs *icd_libs);
+void loader_icd_scan(const struct loader_instance *inst,
+                     struct loader_icd_libs *icds);
+void loader_layer_scan(const struct loader_instance *inst,
+                       struct loader_layer_list *instance_layers,
+                       struct loader_layer_list *device_layers);
 void loader_get_icd_loader_instance_extensions(
-        const struct loader_instance *inst,
-        struct loader_icd_libs *icd_libs,
-        struct loader_extension_list *inst_exts);
-struct loader_icd *loader_get_icd_and_device(
-        const VkDevice device,
-        struct loader_device **found_dev);
-void *loader_dev_ext_gpa(
-        struct loader_instance *inst,
-        const char *funcName);
-void *loader_get_dev_ext_trampoline(
-        uint32_t index);
-struct loader_instance *loader_get_instance(
-        const VkInstance instance);
-void loader_remove_logical_device(
-        const struct loader_instance *inst,
-        struct loader_icd *icd,
-        struct loader_device *found_dev);
-VkResult loader_enable_instance_layers(
-        struct loader_instance *inst,
-        const VkInstanceCreateInfo *pCreateInfo,
-        const struct loader_layer_list *instance_layers);
+    const struct loader_instance *inst, struct loader_icd_libs *icd_libs,
+    struct loader_extension_list *inst_exts);
+struct loader_icd *loader_get_icd_and_device(const VkDevice device,
+                                             struct loader_device **found_dev);
+void *loader_dev_ext_gpa(struct loader_instance *inst, const char *funcName);
+void *loader_get_dev_ext_trampoline(uint32_t index);
+struct loader_instance *loader_get_instance(const VkInstance instance);
+void loader_remove_logical_device(const struct loader_instance *inst,
+                                  struct loader_icd *icd,
+                                  struct loader_device *found_dev);
+VkResult
+loader_enable_instance_layers(struct loader_instance *inst,
+                              const VkInstanceCreateInfo *pCreateInfo,
+                              const struct loader_layer_list *instance_layers);
 void loader_deactivate_instance_layers(struct loader_instance *instance);
 
-VkResult loader_create_instance_chain(
-        const VkInstanceCreateInfo *pCreateInfo,
-        const VkAllocationCallbacks* pAllocator,
-        struct loader_instance *inst,
-        VkInstance created_instance);
+VkResult loader_create_instance_chain(const VkInstanceCreateInfo *pCreateInfo,
+                                      const VkAllocationCallbacks *pAllocator,
+                                      struct loader_instance *inst,
+                                      VkInstance created_instance);
 
-void loader_activate_instance_layer_extensions(struct loader_instance *inst, VkInstance created_inst);
+void loader_activate_instance_layer_extensions(struct loader_instance *inst,
+                                               VkInstance created_inst);
 
-void* loader_heap_alloc(
-        const struct loader_instance *instance,
-        size_t                       size,
-        VkSystemAllocationScope           allocationScope);
+void *loader_heap_alloc(const struct loader_instance *instance, size_t size,
+                        VkSystemAllocationScope allocationScope);
 
-void loader_heap_free(
-        const struct loader_instance *instance,
-        void                         *pMemory);
+void loader_heap_free(const struct loader_instance *instance, void *pMemory);
 
 void *loader_tls_heap_alloc(size_t size);
 
index a6ed4dc..41c593a 100644 (file)
@@ -3,6 +3,32 @@
  * `murmurhash.h' - murmurhash
  *
  * copyright (c) 2014 joseph werle <joseph.werle@gmail.com>
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
+ *
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  */
 
 #include <stdlib.h>
 #include <stdint.h>
 #include "murmurhash.h"
 
-uint32_t
-murmurhash (const char *key, size_t len, uint32_t seed) {
-  uint32_t c1 = 0xcc9e2d51;
-  uint32_t c2 = 0x1b873593;
-  uint32_t r1 = 15;
-  uint32_t r2 = 13;
-  uint32_t m = 5;
-  uint32_t n = 0xe6546b64;
-  uint32_t h = 0;
-  uint32_t k = 0;
-  uint8_t *d = (uint8_t *) key; // 32 bit extract from `key'
-  const uint32_t *chunks = NULL;
-  const uint8_t *tail = NULL; // tail - last 8 bytes
-  int i = 0;
-  int l = (int) len / 4; // chunk length
+uint32_t murmurhash(const char *key, size_t len, uint32_t seed) {
+    uint32_t c1 = 0xcc9e2d51;
+    uint32_t c2 = 0x1b873593;
+    uint32_t r1 = 15;
+    uint32_t r2 = 13;
+    uint32_t m = 5;
+    uint32_t n = 0xe6546b64;
+    uint32_t h = 0;
+    uint32_t k = 0;
+    uint8_t *d = (uint8_t *)key; // 32 bit extract from `key'
+    const uint32_t *chunks = NULL;
+    const uint8_t *tail = NULL; // tail - last 8 bytes
+    int i = 0;
+    int l = (int)len / 4; // chunk length
 
-  h = seed;
+    h = seed;
 
-  chunks = (const uint32_t *) (d + l * 4); // body
-  tail = (const uint8_t *) (d + l * 4); // last 8 byte chunk of `key'
+    chunks = (const uint32_t *)(d + l * 4); // body
+    tail = (const uint8_t *)(d + l * 4);    // last 8 byte chunk of `key'
 
-  // for each 4 byte chunk of `key'
-  for (i = -l; i != 0; ++i) {
-    // next 4 byte chunk of `key'
-    k = chunks[i];
+    // for each 4 byte chunk of `key'
+    for (i = -l; i != 0; ++i) {
+        // next 4 byte chunk of `key'
+        k = chunks[i];
 
-    // encode next 4 byte chunk of `key'
-    k *= c1;
-    k = (k << r1) | (k >> (32 - r1));
-    k *= c2;
+        // encode next 4 byte chunk of `key'
+        k *= c1;
+        k = (k << r1) | (k >> (32 - r1));
+        k *= c2;
 
-    // append to hash
-    h ^= k;
-    h = (h << r2) | (h >> (32 - r2));
-    h = h * m + n;
-  }
+        // append to hash
+        h ^= k;
+        h = (h << r2) | (h >> (32 - r2));
+        h = h * m + n;
+    }
 
-  k = 0;
+    k = 0;
 
-  // remainder
-  switch (len & 3) { // `len % 4'
-    case 3: k ^= (tail[2] << 16);
-    case 2: k ^= (tail[1] << 8);
+    // remainder
+    switch (len & 3) { // `len % 4'
+    case 3:
+        k ^= (tail[2] << 16);
+    case 2:
+        k ^= (tail[1] << 8);
 
     case 1:
-      k ^= tail[0];
-      k *= c1;
-      k = (k << r1) | (k >> (32 - r1));
-      k *= c2;
-      h ^= k;
-  }
+        k ^= tail[0];
+        k *= c1;
+        k = (k << r1) | (k >> (32 - r1));
+        k *= c2;
+        h ^= k;
+    }
 
-  h ^= len;
+    h ^= len;
 
-  h ^= (h >> 16);
-  h *= 0x85ebca6b;
-  h ^= (h >> 13);
-  h *= 0xc2b2ae35;
-  h ^= (h >> 16);
+    h ^= (h >> 16);
+    h *= 0x85ebca6b;
+    h ^= (h >> 13);
+    h *= 0xc2b2ae35;
+    h ^= (h >> 16);
 
-  return h;
+    return h;
 }
index 62e4d09..63a5250 100644 (file)
@@ -3,6 +3,32 @@
  * `murmurhash.h' - murmurhash
  *
  * copyright (c) 2014 joseph werle <joseph.werle@gmail.com>
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
+ *
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  */
 
 #ifndef MURMURHASH_H
@@ -21,8 +47,7 @@ extern "C" {
  * using the MurmurHash3 algorithm
  */
 
-uint32_t
-murmurhash (const char *key, size_t len, uint32_t seed);
+uint32_t murmurhash(const char *key, size_t len, uint32_t seed);
 
 #ifdef __cplusplus
 }
index b901e48..e4a91bc 100644 (file)
@@ -1,27 +1,36 @@
 /*
  *
- * Copyright (C) 2015 Valve Corporation
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
+ * Copyright (C) 2016 Google Inc.
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
- * Author: Cody Northrop <cody@lunarg.com>
+ * Author: Courtney Goeltzenleuchter <courtney@lunarg.com>
  * Author: Jon Ashburn <jon@lunarg.com>
+ * Author: Ian Elliott <ian@LunarG.com>
  * Author: Tony Barbour <tony@LunarG.com>
  */
 
 #include "loader.h"
 #include "vk_loader_platform.h"
 
-static VkResult vkDevExtError(VkDevice dev)
-{
+static VkResult vkDevExtError(VkDevice dev) {
     return VK_ERROR_INITIALIZATION_FAILED;
 }
 
-static inline void loader_init_device_dispatch_table(struct loader_dev_dispatch_table *dev_table,
-                                                    PFN_vkGetDeviceProcAddr gpa,
-                                                    VkDevice dev)
-{
+static inline void
+loader_init_device_dispatch_table(struct loader_dev_dispatch_table *dev_table,
+                                  PFN_vkGetDeviceProcAddr gpa, VkDevice dev) {
     VkLayerDispatchTable *table = &dev_table->core_dispatch;
     for (uint32_t i = 0; i < MAX_NUM_DEV_EXTS; i++)
-        dev_table->ext_dispatch.DevExt[i] = (PFN_vkDevExt) vkDevExtError;
-
-    table->GetDeviceProcAddr = (PFN_vkGetDeviceProcAddr) gpa(dev, "vkGetDeviceProcAddr");
-    table->DestroyDevice = (PFN_vkDestroyDevice) gpa(dev, "vkDestroyDevice");
-    table->GetDeviceQueue = (PFN_vkGetDeviceQueue) gpa(dev, "vkGetDeviceQueue");
-    table->QueueSubmit = (PFN_vkQueueSubmit) gpa(dev, "vkQueueSubmit");
-    table->QueueWaitIdle = (PFN_vkQueueWaitIdle) gpa(dev, "vkQueueWaitIdle");
-    table->DeviceWaitIdle = (PFN_vkDeviceWaitIdle) gpa(dev, "vkDeviceWaitIdle");
-    table->AllocateMemory = (PFN_vkAllocateMemory) gpa(dev, "vkAllocateMemory");
-    table->FreeMemory = (PFN_vkFreeMemory) gpa(dev, "vkFreeMemory");
-    table->MapMemory = (PFN_vkMapMemory) gpa(dev, "vkMapMemory");
-    table->UnmapMemory = (PFN_vkUnmapMemory) gpa(dev, "vkUnmapMemory");
-    table->FlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges) gpa(dev, "vkFlushMappedMemoryRanges");
-    table->InvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges) gpa(dev, "vkInvalidateMappedMemoryRanges");
-    table->GetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment) gpa(dev, "vkGetDeviceMemoryCommitment");
-    table->GetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements) gpa(dev, "vkGetImageSparseMemoryRequirements");
-    table->GetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements) gpa(dev, "vkGetBufferMemoryRequirements");
-    table->GetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements) gpa(dev, "vkGetImageMemoryRequirements");
-    table->BindBufferMemory = (PFN_vkBindBufferMemory) gpa(dev, "vkBindBufferMemory");
-    table->BindImageMemory = (PFN_vkBindImageMemory) gpa(dev, "vkBindImageMemory");
-    table->QueueBindSparse = (PFN_vkQueueBindSparse) gpa(dev, "vkQueueBindSparse");
-    table->CreateFence = (PFN_vkCreateFence) gpa(dev, "vkCreateFence");
-    table->DestroyFence = (PFN_vkDestroyFence) gpa(dev, "vkDestroyFence");
-    table->ResetFences = (PFN_vkResetFences) gpa(dev, "vkResetFences");
-    table->GetFenceStatus = (PFN_vkGetFenceStatus) gpa(dev, "vkGetFenceStatus");
-    table->WaitForFences = (PFN_vkWaitForFences) gpa(dev, "vkWaitForFences");
-    table->CreateSemaphore = (PFN_vkCreateSemaphore) gpa(dev, "vkCreateSemaphore");
-    table->DestroySemaphore = (PFN_vkDestroySemaphore) gpa(dev, "vkDestroySemaphore");
-    table->CreateEvent = (PFN_vkCreateEvent) gpa(dev, "vkCreateEvent");
-    table->DestroyEvent = (PFN_vkDestroyEvent) gpa(dev, "vkDestroyEvent");
-    table->GetEventStatus = (PFN_vkGetEventStatus) gpa(dev, "vkGetEventStatus");
-    table->SetEvent = (PFN_vkSetEvent) gpa(dev, "vkSetEvent");
-    table->ResetEvent = (PFN_vkResetEvent) gpa(dev, "vkResetEvent");
-    table->CreateQueryPool = (PFN_vkCreateQueryPool) gpa(dev, "vkCreateQueryPool");
-    table->DestroyQueryPool = (PFN_vkDestroyQueryPool) gpa(dev, "vkDestroyQueryPool");
-    table->GetQueryPoolResults = (PFN_vkGetQueryPoolResults) gpa(dev, "vkGetQueryPoolResults");
-    table->CreateBuffer = (PFN_vkCreateBuffer) gpa(dev, "vkCreateBuffer");
-    table->DestroyBuffer = (PFN_vkDestroyBuffer) gpa(dev, "vkDestroyBuffer");
-    table->CreateBufferView = (PFN_vkCreateBufferView) gpa(dev, "vkCreateBufferView");
-    table->DestroyBufferView = (PFN_vkDestroyBufferView) gpa(dev, "vkDestroyBufferView");
-    table->CreateImage = (PFN_vkCreateImage) gpa(dev, "vkCreateImage");
-    table->DestroyImage = (PFN_vkDestroyImage) gpa(dev, "vkDestroyImage");
-    table->GetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout) gpa(dev, "vkGetImageSubresourceLayout");
-    table->CreateImageView = (PFN_vkCreateImageView) gpa(dev, "vkCreateImageView");
-    table->DestroyImageView = (PFN_vkDestroyImageView) gpa(dev, "vkDestroyImageView");
-    table->CreateShaderModule = (PFN_vkCreateShaderModule) gpa(dev, "vkCreateShaderModule");
-    table->DestroyShaderModule = (PFN_vkDestroyShaderModule) gpa(dev, "vkDestroyShaderModule");
-    table->CreatePipelineCache = (PFN_vkCreatePipelineCache) gpa(dev, "vkCreatePipelineCache");
-    table->DestroyPipelineCache = (PFN_vkDestroyPipelineCache) gpa(dev, "vkDestroyPipelineCache");
-    table->GetPipelineCacheData = (PFN_vkGetPipelineCacheData) gpa(dev, "vkGetPipelineCacheData");
-    table->MergePipelineCaches = (PFN_vkMergePipelineCaches) gpa(dev, "vkMergePipelineCaches");
-    table->CreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines) gpa(dev, "vkCreateGraphicsPipelines");
-    table->CreateComputePipelines = (PFN_vkCreateComputePipelines) gpa(dev, "vkCreateComputePipelines");
-    table->DestroyPipeline = (PFN_vkDestroyPipeline) gpa(dev, "vkDestroyPipeline");
-    table->CreatePipelineLayout = (PFN_vkCreatePipelineLayout) gpa(dev, "vkCreatePipelineLayout");
-    table->DestroyPipelineLayout = (PFN_vkDestroyPipelineLayout) gpa(dev, "vkDestroyPipelineLayout");
-    table->CreateSampler = (PFN_vkCreateSampler) gpa(dev, "vkCreateSampler");
-    table->DestroySampler = (PFN_vkDestroySampler) gpa(dev, "vkDestroySampler");
-    table->CreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout) gpa(dev, "vkCreateDescriptorSetLayout");
-    table->DestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout) gpa(dev, "vkDestroyDescriptorSetLayout");
-    table->CreateDescriptorPool = (PFN_vkCreateDescriptorPool) gpa(dev, "vkCreateDescriptorPool");
-    table->DestroyDescriptorPool = (PFN_vkDestroyDescriptorPool) gpa(dev, "vkDestroyDescriptorPool");
-    table->ResetDescriptorPool = (PFN_vkResetDescriptorPool) gpa(dev, "vkResetDescriptorPool");
-    table->AllocateDescriptorSets = (PFN_vkAllocateDescriptorSets) gpa(dev, "vkAllocateDescriptorSets");
-    table->FreeDescriptorSets = (PFN_vkFreeDescriptorSets) gpa(dev, "vkFreeDescriptorSets");
-    table->UpdateDescriptorSets = (PFN_vkUpdateDescriptorSets) gpa(dev, "vkUpdateDescriptorSets");
-    table->CreateFramebuffer = (PFN_vkCreateFramebuffer) gpa(dev, "vkCreateFramebuffer");
-    table->DestroyFramebuffer = (PFN_vkDestroyFramebuffer) gpa(dev, "vkDestroyFramebuffer");
-    table->CreateRenderPass = (PFN_vkCreateRenderPass) gpa(dev, "vkCreateRenderPass");
-    table->DestroyRenderPass = (PFN_vkDestroyRenderPass) gpa(dev, "vkDestroyRenderPass");
-    table->GetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity) gpa(dev, "vkGetRenderAreaGranularity");
-    table->CreateCommandPool = (PFN_vkCreateCommandPool) gpa(dev, "vkCreateCommandPool");
-    table->DestroyCommandPool = (PFN_vkDestroyCommandPool) gpa(dev, "vkDestroyCommandPool");
-    table->ResetCommandPool = (PFN_vkResetCommandPool) gpa(dev, "vkResetCommandPool");
-    table->AllocateCommandBuffers = (PFN_vkAllocateCommandBuffers) gpa(dev, "vkAllocateCommandBuffers");
-    table->FreeCommandBuffers = (PFN_vkFreeCommandBuffers) gpa(dev, "vkFreeCommandBuffers");
-    table->BeginCommandBuffer = (PFN_vkBeginCommandBuffer) gpa(dev, "vkBeginCommandBuffer");
-    table->EndCommandBuffer = (PFN_vkEndCommandBuffer) gpa(dev, "vkEndCommandBuffer");
-    table->ResetCommandBuffer = (PFN_vkResetCommandBuffer) gpa(dev, "vkResetCommandBuffer");
-    table->CmdBindPipeline = (PFN_vkCmdBindPipeline) gpa(dev, "vkCmdBindPipeline");
-    table->CmdSetViewport = (PFN_vkCmdSetViewport) gpa(dev, "vkCmdSetViewport");
-    table->CmdSetScissor = (PFN_vkCmdSetScissor) gpa(dev, "vkCmdSetScissor");
-    table->CmdSetLineWidth = (PFN_vkCmdSetLineWidth) gpa(dev, "vkCmdSetLineWidth");
-    table->CmdSetDepthBias = (PFN_vkCmdSetDepthBias) gpa(dev, "vkCmdSetDepthBias");
-    table->CmdSetBlendConstants = (PFN_vkCmdSetBlendConstants) gpa(dev, "vkCmdSetBlendConstants");
-    table->CmdSetDepthBounds = (PFN_vkCmdSetDepthBounds) gpa(dev, "vkCmdSetDepthBounds");
-    table->CmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask) gpa(dev, "vkCmdSetStencilCompareMask");
-    table->CmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask) gpa(dev, "vkCmdSetStencilWriteMask");
-    table->CmdSetStencilReference = (PFN_vkCmdSetStencilReference) gpa(dev, "vkCmdSetStencilReference");
-    table->CmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets) gpa(dev, "vkCmdBindDescriptorSets");
-    table->CmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers) gpa(dev, "vkCmdBindVertexBuffers");
-    table->CmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer) gpa(dev, "vkCmdBindIndexBuffer");
-    table->CmdDraw = (PFN_vkCmdDraw) gpa(dev, "vkCmdDraw");
-    table->CmdDrawIndexed = (PFN_vkCmdDrawIndexed) gpa(dev, "vkCmdDrawIndexed");
-    table->CmdDrawIndirect = (PFN_vkCmdDrawIndirect) gpa(dev, "vkCmdDrawIndirect");
-    table->CmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect) gpa(dev, "vkCmdDrawIndexedIndirect");
-    table->CmdDispatch = (PFN_vkCmdDispatch) gpa(dev, "vkCmdDispatch");
-    table->CmdDispatchIndirect = (PFN_vkCmdDispatchIndirect) gpa(dev, "vkCmdDispatchIndirect");
-    table->CmdCopyBuffer = (PFN_vkCmdCopyBuffer) gpa(dev, "vkCmdCopyBuffer");
-    table->CmdCopyImage = (PFN_vkCmdCopyImage) gpa(dev, "vkCmdCopyImage");
-    table->CmdBlitImage = (PFN_vkCmdBlitImage) gpa(dev, "vkCmdBlitImage");
-    table->CmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage) gpa(dev, "vkCmdCopyBufferToImage");
-    table->CmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer) gpa(dev, "vkCmdCopyImageToBuffer");
-    table->CmdUpdateBuffer = (PFN_vkCmdUpdateBuffer) gpa(dev, "vkCmdUpdateBuffer");
-    table->CmdFillBuffer = (PFN_vkCmdFillBuffer) gpa(dev, "vkCmdFillBuffer");
-    table->CmdClearColorImage = (PFN_vkCmdClearColorImage) gpa(dev, "vkCmdClearColorImage");
-    table->CmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage) gpa(dev, "vkCmdClearDepthStencilImage");
-    table->CmdClearAttachments = (PFN_vkCmdClearAttachments) gpa(dev, "vkCmdClearAttachments");
-    table->CmdResolveImage = (PFN_vkCmdResolveImage) gpa(dev, "vkCmdResolveImage");
-    table->CmdSetEvent = (PFN_vkCmdSetEvent) gpa(dev, "vkCmdSetEvent");
-    table->CmdResetEvent = (PFN_vkCmdResetEvent) gpa(dev, "vkCmdResetEvent");
-    table->CmdWaitEvents = (PFN_vkCmdWaitEvents) gpa(dev, "vkCmdWaitEvents");
-    table->CmdPipelineBarrier = (PFN_vkCmdPipelineBarrier) gpa(dev, "vkCmdPipelineBarrier");
-    table->CmdBeginQuery = (PFN_vkCmdBeginQuery) gpa(dev, "vkCmdBeginQuery");
-    table->CmdEndQuery = (PFN_vkCmdEndQuery) gpa(dev, "vkCmdEndQuery");
-    table->CmdResetQueryPool = (PFN_vkCmdResetQueryPool) gpa(dev, "vkCmdResetQueryPool");
-    table->CmdWriteTimestamp = (PFN_vkCmdWriteTimestamp) gpa(dev, "vkCmdWriteTimestamp");
-    table->CmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults) gpa(dev, "vkCmdCopyQueryPoolResults");
-    table->CmdPushConstants = (PFN_vkCmdPushConstants) gpa(dev, "vkCmdPushConstants");
-    table->CmdBeginRenderPass = (PFN_vkCmdBeginRenderPass) gpa(dev, "vkCmdBeginRenderPass");
-    table->CmdNextSubpass = (PFN_vkCmdNextSubpass) gpa(dev, "vkCmdNextSubpass");
-    table->CmdEndRenderPass = (PFN_vkCmdEndRenderPass) gpa(dev, "vkCmdEndRenderPass");
-    table->CmdExecuteCommands = (PFN_vkCmdExecuteCommands) gpa(dev, "vkCmdExecuteCommands");
+        dev_table->ext_dispatch.DevExt[i] = (PFN_vkDevExt)vkDevExtError;
 
+    table->GetDeviceProcAddr =
+        (PFN_vkGetDeviceProcAddr)gpa(dev, "vkGetDeviceProcAddr");
+    table->DestroyDevice = (PFN_vkDestroyDevice)gpa(dev, "vkDestroyDevice");
+    table->GetDeviceQueue = (PFN_vkGetDeviceQueue)gpa(dev, "vkGetDeviceQueue");
+    table->QueueSubmit = (PFN_vkQueueSubmit)gpa(dev, "vkQueueSubmit");
+    table->QueueWaitIdle = (PFN_vkQueueWaitIdle)gpa(dev, "vkQueueWaitIdle");
+    table->DeviceWaitIdle = (PFN_vkDeviceWaitIdle)gpa(dev, "vkDeviceWaitIdle");
+    table->AllocateMemory = (PFN_vkAllocateMemory)gpa(dev, "vkAllocateMemory");
+    table->FreeMemory = (PFN_vkFreeMemory)gpa(dev, "vkFreeMemory");
+    table->MapMemory = (PFN_vkMapMemory)gpa(dev, "vkMapMemory");
+    table->UnmapMemory = (PFN_vkUnmapMemory)gpa(dev, "vkUnmapMemory");
+    table->FlushMappedMemoryRanges =
+        (PFN_vkFlushMappedMemoryRanges)gpa(dev, "vkFlushMappedMemoryRanges");
+    table->InvalidateMappedMemoryRanges =
+        (PFN_vkInvalidateMappedMemoryRanges)gpa(
+            dev, "vkInvalidateMappedMemoryRanges");
+    table->GetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)gpa(
+        dev, "vkGetDeviceMemoryCommitment");
+    table->GetImageSparseMemoryRequirements =
+        (PFN_vkGetImageSparseMemoryRequirements)gpa(
+            dev, "vkGetImageSparseMemoryRequirements");
+    table->GetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)gpa(
+        dev, "vkGetBufferMemoryRequirements");
+    table->GetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)gpa(
+        dev, "vkGetImageMemoryRequirements");
+    table->BindBufferMemory =
+        (PFN_vkBindBufferMemory)gpa(dev, "vkBindBufferMemory");
+    table->BindImageMemory =
+        (PFN_vkBindImageMemory)gpa(dev, "vkBindImageMemory");
+    table->QueueBindSparse =
+        (PFN_vkQueueBindSparse)gpa(dev, "vkQueueBindSparse");
+    table->CreateFence = (PFN_vkCreateFence)gpa(dev, "vkCreateFence");
+    table->DestroyFence = (PFN_vkDestroyFence)gpa(dev, "vkDestroyFence");
+    table->ResetFences = (PFN_vkResetFences)gpa(dev, "vkResetFences");
+    table->GetFenceStatus = (PFN_vkGetFenceStatus)gpa(dev, "vkGetFenceStatus");
+    table->WaitForFences = (PFN_vkWaitForFences)gpa(dev, "vkWaitForFences");
+    table->CreateSemaphore =
+        (PFN_vkCreateSemaphore)gpa(dev, "vkCreateSemaphore");
+    table->DestroySemaphore =
+        (PFN_vkDestroySemaphore)gpa(dev, "vkDestroySemaphore");
+    table->CreateEvent = (PFN_vkCreateEvent)gpa(dev, "vkCreateEvent");
+    table->DestroyEvent = (PFN_vkDestroyEvent)gpa(dev, "vkDestroyEvent");
+    table->GetEventStatus = (PFN_vkGetEventStatus)gpa(dev, "vkGetEventStatus");
+    table->SetEvent = (PFN_vkSetEvent)gpa(dev, "vkSetEvent");
+    table->ResetEvent = (PFN_vkResetEvent)gpa(dev, "vkResetEvent");
+    table->CreateQueryPool =
+        (PFN_vkCreateQueryPool)gpa(dev, "vkCreateQueryPool");
+    table->DestroyQueryPool =
+        (PFN_vkDestroyQueryPool)gpa(dev, "vkDestroyQueryPool");
+    table->GetQueryPoolResults =
+        (PFN_vkGetQueryPoolResults)gpa(dev, "vkGetQueryPoolResults");
+    table->CreateBuffer = (PFN_vkCreateBuffer)gpa(dev, "vkCreateBuffer");
+    table->DestroyBuffer = (PFN_vkDestroyBuffer)gpa(dev, "vkDestroyBuffer");
+    table->CreateBufferView =
+        (PFN_vkCreateBufferView)gpa(dev, "vkCreateBufferView");
+    table->DestroyBufferView =
+        (PFN_vkDestroyBufferView)gpa(dev, "vkDestroyBufferView");
+    table->CreateImage = (PFN_vkCreateImage)gpa(dev, "vkCreateImage");
+    table->DestroyImage = (PFN_vkDestroyImage)gpa(dev, "vkDestroyImage");
+    table->GetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)gpa(
+        dev, "vkGetImageSubresourceLayout");
+    table->CreateImageView =
+        (PFN_vkCreateImageView)gpa(dev, "vkCreateImageView");
+    table->DestroyImageView =
+        (PFN_vkDestroyImageView)gpa(dev, "vkDestroyImageView");
+    table->CreateShaderModule =
+        (PFN_vkCreateShaderModule)gpa(dev, "vkCreateShaderModule");
+    table->DestroyShaderModule =
+        (PFN_vkDestroyShaderModule)gpa(dev, "vkDestroyShaderModule");
+    table->CreatePipelineCache =
+        (PFN_vkCreatePipelineCache)gpa(dev, "vkCreatePipelineCache");
+    table->DestroyPipelineCache =
+        (PFN_vkDestroyPipelineCache)gpa(dev, "vkDestroyPipelineCache");
+    table->GetPipelineCacheData =
+        (PFN_vkGetPipelineCacheData)gpa(dev, "vkGetPipelineCacheData");
+    table->MergePipelineCaches =
+        (PFN_vkMergePipelineCaches)gpa(dev, "vkMergePipelineCaches");
+    table->CreateGraphicsPipelines =
+        (PFN_vkCreateGraphicsPipelines)gpa(dev, "vkCreateGraphicsPipelines");
+    table->CreateComputePipelines =
+        (PFN_vkCreateComputePipelines)gpa(dev, "vkCreateComputePipelines");
+    table->DestroyPipeline =
+        (PFN_vkDestroyPipeline)gpa(dev, "vkDestroyPipeline");
+    table->CreatePipelineLayout =
+        (PFN_vkCreatePipelineLayout)gpa(dev, "vkCreatePipelineLayout");
+    table->DestroyPipelineLayout =
+        (PFN_vkDestroyPipelineLayout)gpa(dev, "vkDestroyPipelineLayout");
+    table->CreateSampler = (PFN_vkCreateSampler)gpa(dev, "vkCreateSampler");
+    table->DestroySampler = (PFN_vkDestroySampler)gpa(dev, "vkDestroySampler");
+    table->CreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)gpa(
+        dev, "vkCreateDescriptorSetLayout");
+    table->DestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)gpa(
+        dev, "vkDestroyDescriptorSetLayout");
+    table->CreateDescriptorPool =
+        (PFN_vkCreateDescriptorPool)gpa(dev, "vkCreateDescriptorPool");
+    table->DestroyDescriptorPool =
+        (PFN_vkDestroyDescriptorPool)gpa(dev, "vkDestroyDescriptorPool");
+    table->ResetDescriptorPool =
+        (PFN_vkResetDescriptorPool)gpa(dev, "vkResetDescriptorPool");
+    table->AllocateDescriptorSets =
+        (PFN_vkAllocateDescriptorSets)gpa(dev, "vkAllocateDescriptorSets");
+    table->FreeDescriptorSets =
+        (PFN_vkFreeDescriptorSets)gpa(dev, "vkFreeDescriptorSets");
+    table->UpdateDescriptorSets =
+        (PFN_vkUpdateDescriptorSets)gpa(dev, "vkUpdateDescriptorSets");
+    table->CreateFramebuffer =
+        (PFN_vkCreateFramebuffer)gpa(dev, "vkCreateFramebuffer");
+    table->DestroyFramebuffer =
+        (PFN_vkDestroyFramebuffer)gpa(dev, "vkDestroyFramebuffer");
+    table->CreateRenderPass =
+        (PFN_vkCreateRenderPass)gpa(dev, "vkCreateRenderPass");
+    table->DestroyRenderPass =
+        (PFN_vkDestroyRenderPass)gpa(dev, "vkDestroyRenderPass");
+    table->GetRenderAreaGranularity =
+        (PFN_vkGetRenderAreaGranularity)gpa(dev, "vkGetRenderAreaGranularity");
+    table->CreateCommandPool =
+        (PFN_vkCreateCommandPool)gpa(dev, "vkCreateCommandPool");
+    table->DestroyCommandPool =
+        (PFN_vkDestroyCommandPool)gpa(dev, "vkDestroyCommandPool");
+    table->ResetCommandPool =
+        (PFN_vkResetCommandPool)gpa(dev, "vkResetCommandPool");
+    table->AllocateCommandBuffers =
+        (PFN_vkAllocateCommandBuffers)gpa(dev, "vkAllocateCommandBuffers");
+    table->FreeCommandBuffers =
+        (PFN_vkFreeCommandBuffers)gpa(dev, "vkFreeCommandBuffers");
+    table->BeginCommandBuffer =
+        (PFN_vkBeginCommandBuffer)gpa(dev, "vkBeginCommandBuffer");
+    table->EndCommandBuffer =
+        (PFN_vkEndCommandBuffer)gpa(dev, "vkEndCommandBuffer");
+    table->ResetCommandBuffer =
+        (PFN_vkResetCommandBuffer)gpa(dev, "vkResetCommandBuffer");
+    table->CmdBindPipeline =
+        (PFN_vkCmdBindPipeline)gpa(dev, "vkCmdBindPipeline");
+    table->CmdSetViewport = (PFN_vkCmdSetViewport)gpa(dev, "vkCmdSetViewport");
+    table->CmdSetScissor = (PFN_vkCmdSetScissor)gpa(dev, "vkCmdSetScissor");
+    table->CmdSetLineWidth =
+        (PFN_vkCmdSetLineWidth)gpa(dev, "vkCmdSetLineWidth");
+    table->CmdSetDepthBias =
+        (PFN_vkCmdSetDepthBias)gpa(dev, "vkCmdSetDepthBias");
+    table->CmdSetBlendConstants =
+        (PFN_vkCmdSetBlendConstants)gpa(dev, "vkCmdSetBlendConstants");
+    table->CmdSetDepthBounds =
+        (PFN_vkCmdSetDepthBounds)gpa(dev, "vkCmdSetDepthBounds");
+    table->CmdSetStencilCompareMask =
+        (PFN_vkCmdSetStencilCompareMask)gpa(dev, "vkCmdSetStencilCompareMask");
+    table->CmdSetStencilWriteMask =
+        (PFN_vkCmdSetStencilWriteMask)gpa(dev, "vkCmdSetStencilWriteMask");
+    table->CmdSetStencilReference =
+        (PFN_vkCmdSetStencilReference)gpa(dev, "vkCmdSetStencilReference");
+    table->CmdBindDescriptorSets =
+        (PFN_vkCmdBindDescriptorSets)gpa(dev, "vkCmdBindDescriptorSets");
+    table->CmdBindVertexBuffers =
+        (PFN_vkCmdBindVertexBuffers)gpa(dev, "vkCmdBindVertexBuffers");
+    table->CmdBindIndexBuffer =
+        (PFN_vkCmdBindIndexBuffer)gpa(dev, "vkCmdBindIndexBuffer");
+    table->CmdDraw = (PFN_vkCmdDraw)gpa(dev, "vkCmdDraw");
+    table->CmdDrawIndexed = (PFN_vkCmdDrawIndexed)gpa(dev, "vkCmdDrawIndexed");
+    table->CmdDrawIndirect =
+        (PFN_vkCmdDrawIndirect)gpa(dev, "vkCmdDrawIndirect");
+    table->CmdDrawIndexedIndirect =
+        (PFN_vkCmdDrawIndexedIndirect)gpa(dev, "vkCmdDrawIndexedIndirect");
+    table->CmdDispatch = (PFN_vkCmdDispatch)gpa(dev, "vkCmdDispatch");
+    table->CmdDispatchIndirect =
+        (PFN_vkCmdDispatchIndirect)gpa(dev, "vkCmdDispatchIndirect");
+    table->CmdCopyBuffer = (PFN_vkCmdCopyBuffer)gpa(dev, "vkCmdCopyBuffer");
+    table->CmdCopyImage = (PFN_vkCmdCopyImage)gpa(dev, "vkCmdCopyImage");
+    table->CmdBlitImage = (PFN_vkCmdBlitImage)gpa(dev, "vkCmdBlitImage");
+    table->CmdCopyBufferToImage =
+        (PFN_vkCmdCopyBufferToImage)gpa(dev, "vkCmdCopyBufferToImage");
+    table->CmdCopyImageToBuffer =
+        (PFN_vkCmdCopyImageToBuffer)gpa(dev, "vkCmdCopyImageToBuffer");
+    table->CmdUpdateBuffer =
+        (PFN_vkCmdUpdateBuffer)gpa(dev, "vkCmdUpdateBuffer");
+    table->CmdFillBuffer = (PFN_vkCmdFillBuffer)gpa(dev, "vkCmdFillBuffer");
+    table->CmdClearColorImage =
+        (PFN_vkCmdClearColorImage)gpa(dev, "vkCmdClearColorImage");
+    table->CmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)gpa(
+        dev, "vkCmdClearDepthStencilImage");
+    table->CmdClearAttachments =
+        (PFN_vkCmdClearAttachments)gpa(dev, "vkCmdClearAttachments");
+    table->CmdResolveImage =
+        (PFN_vkCmdResolveImage)gpa(dev, "vkCmdResolveImage");
+    table->CmdSetEvent = (PFN_vkCmdSetEvent)gpa(dev, "vkCmdSetEvent");
+    table->CmdResetEvent = (PFN_vkCmdResetEvent)gpa(dev, "vkCmdResetEvent");
+    table->CmdWaitEvents = (PFN_vkCmdWaitEvents)gpa(dev, "vkCmdWaitEvents");
+    table->CmdPipelineBarrier =
+        (PFN_vkCmdPipelineBarrier)gpa(dev, "vkCmdPipelineBarrier");
+    table->CmdBeginQuery = (PFN_vkCmdBeginQuery)gpa(dev, "vkCmdBeginQuery");
+    table->CmdEndQuery = (PFN_vkCmdEndQuery)gpa(dev, "vkCmdEndQuery");
+    table->CmdResetQueryPool =
+        (PFN_vkCmdResetQueryPool)gpa(dev, "vkCmdResetQueryPool");
+    table->CmdWriteTimestamp =
+        (PFN_vkCmdWriteTimestamp)gpa(dev, "vkCmdWriteTimestamp");
+    table->CmdCopyQueryPoolResults =
+        (PFN_vkCmdCopyQueryPoolResults)gpa(dev, "vkCmdCopyQueryPoolResults");
+    table->CmdPushConstants =
+        (PFN_vkCmdPushConstants)gpa(dev, "vkCmdPushConstants");
+    table->CmdBeginRenderPass =
+        (PFN_vkCmdBeginRenderPass)gpa(dev, "vkCmdBeginRenderPass");
+    table->CmdNextSubpass = (PFN_vkCmdNextSubpass)gpa(dev, "vkCmdNextSubpass");
+    table->CmdEndRenderPass =
+        (PFN_vkCmdEndRenderPass)gpa(dev, "vkCmdEndRenderPass");
+    table->CmdExecuteCommands =
+        (PFN_vkCmdExecuteCommands)gpa(dev, "vkCmdExecuteCommands");
 }
 
-static inline void loader_init_device_extension_dispatch_table(struct loader_dev_dispatch_table *dev_table,
-                                                    PFN_vkGetDeviceProcAddr gpa,
-                                                    VkDevice dev)
-{
+static inline void loader_init_device_extension_dispatch_table(
+    struct loader_dev_dispatch_table *dev_table, PFN_vkGetDeviceProcAddr gpa,
+    VkDevice dev) {
     VkLayerDispatchTable *table = &dev_table->core_dispatch;
-    table->AcquireNextImageKHR = (PFN_vkAcquireNextImageKHR) gpa(dev, "vkAcquireNextImageKHR");
-    table->CreateSwapchainKHR = (PFN_vkCreateSwapchainKHR) gpa(dev, "vkCreateSwapchainKHR");
-    table->DestroySwapchainKHR = (PFN_vkDestroySwapchainKHR) gpa(dev, "vkDestroySwapchainKHR");
-    table->GetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR) gpa(dev, "vkGetSwapchainImagesKHR");
-    table->QueuePresentKHR = (PFN_vkQueuePresentKHR) gpa(dev, "vkQueuePresentKHR");
+    table->AcquireNextImageKHR =
+        (PFN_vkAcquireNextImageKHR)gpa(dev, "vkAcquireNextImageKHR");
+    table->CreateSwapchainKHR =
+        (PFN_vkCreateSwapchainKHR)gpa(dev, "vkCreateSwapchainKHR");
+    table->DestroySwapchainKHR =
+        (PFN_vkDestroySwapchainKHR)gpa(dev, "vkDestroySwapchainKHR");
+    table->GetSwapchainImagesKHR =
+        (PFN_vkGetSwapchainImagesKHR)gpa(dev, "vkGetSwapchainImagesKHR");
+    table->QueuePresentKHR =
+        (PFN_vkQueuePresentKHR)gpa(dev, "vkQueuePresentKHR");
 }
 
-static inline void *loader_lookup_device_dispatch_table(
-                                            const VkLayerDispatchTable *table,
-                                            const char *name)
-{
+static inline void *
+loader_lookup_device_dispatch_table(const VkLayerDispatchTable *table,
+                                    const char *name) {
     if (!name || name[0] != 'v' || name[1] != 'k')
         return NULL;
 
     name += 2;
     if (!strcmp(name, "GetDeviceProcAddr"))
-        return (void *) table->GetDeviceProcAddr;
+        return (void *)table->GetDeviceProcAddr;
     if (!strcmp(name, "DestroyDevice"))
-        return (void *) table->DestroyDevice;
+        return (void *)table->DestroyDevice;
     if (!strcmp(name, "GetDeviceQueue"))
-        return (void *) table->GetDeviceQueue;
+        return (void *)table->GetDeviceQueue;
     if (!strcmp(name, "QueueSubmit"))
-        return (void *) table->QueueSubmit;
+        return (void *)table->QueueSubmit;
     if (!strcmp(name, "QueueWaitIdle"))
-        return (void *) table->QueueWaitIdle;
+        return (void *)table->QueueWaitIdle;
     if (!strcmp(name, "DeviceWaitIdle"))
-        return (void *) table->DeviceWaitIdle;
+        return (void *)table->DeviceWaitIdle;
     if (!strcmp(name, "AllocateMemory"))
-        return (void *) table->AllocateMemory;
+        return (void *)table->AllocateMemory;
     if (!strcmp(name, "FreeMemory"))
-        return (void *) table->FreeMemory;
+        return (void *)table->FreeMemory;
     if (!strcmp(name, "MapMemory"))
-        return (void *) table->MapMemory;
+        return (void *)table->MapMemory;
     if (!strcmp(name, "UnmapMemory"))
-        return (void *) table->UnmapMemory;
+        return (void *)table->UnmapMemory;
     if (!strcmp(name, "FlushMappedMemoryRanges"))
-        return (void *) table->FlushMappedMemoryRanges;
+        return (void *)table->FlushMappedMemoryRanges;
     if (!strcmp(name, "InvalidateMappedMemoryRanges"))
-        return (void *) table->InvalidateMappedMemoryRanges;
+        return (void *)table->InvalidateMappedMemoryRanges;
     if (!strcmp(name, "GetDeviceMemoryCommitment"))
-        return (void *) table->GetDeviceMemoryCommitment;
+        return (void *)table->GetDeviceMemoryCommitment;
     if (!strcmp(name, "GetImageSparseMemoryRequirements"))
-        return (void *) table->GetImageSparseMemoryRequirements;
+        return (void *)table->GetImageSparseMemoryRequirements;
     if (!strcmp(name, "GetBufferMemoryRequirements"))
-        return (void *) table->GetBufferMemoryRequirements;
+        return (void *)table->GetBufferMemoryRequirements;
     if (!strcmp(name, "GetImageMemoryRequirements"))
-        return (void *) table->GetImageMemoryRequirements;
+        return (void *)table->GetImageMemoryRequirements;
     if (!strcmp(name, "BindBufferMemory"))
-        return (void *) table->BindBufferMemory;
+        return (void *)table->BindBufferMemory;
     if (!strcmp(name, "BindImageMemory"))
-        return (void *) table->BindImageMemory;
+        return (void *)table->BindImageMemory;
     if (!strcmp(name, "QueueBindSparse"))
-        return (void *) table->QueueBindSparse;
+        return (void *)table->QueueBindSparse;
     if (!strcmp(name, "CreateFence"))
-        return (void *) table->CreateFence;
+        return (void *)table->CreateFence;
     if (!strcmp(name, "DestroyFence"))
-        return (void *) table->DestroyFence;
+        return (void *)table->DestroyFence;
     if (!strcmp(name, "ResetFences"))
-        return (void *) table->ResetFences;
+        return (void *)table->ResetFences;
     if (!strcmp(name, "GetFenceStatus"))
-        return (void *) table->GetFenceStatus;
+        return (void *)table->GetFenceStatus;
     if (!strcmp(name, "WaitForFences"))
-        return (void *) table->WaitForFences;
+        return (void *)table->WaitForFences;
     if (!strcmp(name, "CreateSemaphore"))
-        return (void *) table->CreateSemaphore;
+        return (void *)table->CreateSemaphore;
     if (!strcmp(name, "DestroySemaphore"))
-        return (void *) table->DestroySemaphore;
+        return (void *)table->DestroySemaphore;
     if (!strcmp(name, "CreateEvent"))
-        return (void *) table->CreateEvent;
+        return (void *)table->CreateEvent;
     if (!strcmp(name, "DestroyEvent"))
-        return (void *) table->DestroyEvent;
+        return (void *)table->DestroyEvent;
     if (!strcmp(name, "GetEventStatus"))
-        return (void *) table->GetEventStatus;
+        return (void *)table->GetEventStatus;
     if (!strcmp(name, "SetEvent"))
-        return (void *) table->SetEvent;
+        return (void *)table->SetEvent;
     if (!strcmp(name, "ResetEvent"))
-        return (void *) table->ResetEvent;
+        return (void *)table->ResetEvent;
     if (!strcmp(name, "CreateQueryPool"))
-        return (void *) table->CreateQueryPool;
+        return (void *)table->CreateQueryPool;
     if (!strcmp(name, "DestroyQueryPool"))
-        return (void *) table->DestroyQueryPool;
+        return (void *)table->DestroyQueryPool;
     if (!strcmp(name, "GetQueryPoolResults"))
-        return (void *) table->GetQueryPoolResults;
+        return (void *)table->GetQueryPoolResults;
     if (!strcmp(name, "CreateBuffer"))
-        return (void *) table->CreateBuffer;
+        return (void *)table->CreateBuffer;
     if (!strcmp(name, "DestroyBuffer"))
-        return (void *) table->DestroyBuffer;
+        return (void *)table->DestroyBuffer;
     if (!strcmp(name, "CreateBufferView"))
-        return (void *) table->CreateBufferView;
+        return (void *)table->CreateBufferView;
     if (!strcmp(name, "DestroyBufferView"))
-        return (void *) table->DestroyBufferView;
+        return (void *)table->DestroyBufferView;
     if (!strcmp(name, "CreateImage"))
-        return (void *) table->CreateImage;
+        return (void *)table->CreateImage;
     if (!strcmp(name, "DestroyImage"))
-        return (void *) table->DestroyImage;
+        return (void *)table->DestroyImage;
     if (!strcmp(name, "GetImageSubresourceLayout"))
-        return (void *) table->GetImageSubresourceLayout;
+        return (void *)table->GetImageSubresourceLayout;
     if (!strcmp(name, "CreateImageView"))
-        return (void *) table->CreateImageView;
+        return (void *)table->CreateImageView;
     if (!strcmp(name, "DestroyImageView"))
-        return (void *) table->DestroyImageView;
+        return (void *)table->DestroyImageView;
     if (!strcmp(name, "CreateShaderModule"))
-        return (void *) table->CreateShaderModule;
+        return (void *)table->CreateShaderModule;
     if (!strcmp(name, "DestroyShaderModule"))
-        return (void *) table->DestroyShaderModule;
+        return (void *)table->DestroyShaderModule;
     if (!strcmp(name, "CreatePipelineCache"))
-        return (void*) vkCreatePipelineCache;
+        return (void *)vkCreatePipelineCache;
     if (!strcmp(name, "DestroyPipelineCache"))
-        return (void*) vkDestroyPipelineCache;
+        return (void *)vkDestroyPipelineCache;
     if (!strcmp(name, "GetPipelineCacheData"))
-        return (void*) vkGetPipelineCacheData;
+        return (void *)vkGetPipelineCacheData;
     if (!strcmp(name, "MergePipelineCaches"))
-        return (void*) vkMergePipelineCaches;
+        return (void *)vkMergePipelineCaches;
     if (!strcmp(name, "CreateGraphicsPipelines"))
-        return (void*) vkCreateGraphicsPipelines;
+        return (void *)vkCreateGraphicsPipelines;
     if (!strcmp(name, "CreateComputePipelines"))
-        return (void*) vkCreateComputePipelines;
+        return (void *)vkCreateComputePipelines;
     if (!strcmp(name, "DestroyPipeline"))
-        return (void *) table->DestroyPipeline;
+        return (void *)table->DestroyPipeline;
     if (!strcmp(name, "CreatePipelineLayout"))
-        return (void *) table->CreatePipelineLayout;
+        return (void *)table->CreatePipelineLayout;
     if (!strcmp(name, "DestroyPipelineLayout"))
-        return (void *) table->DestroyPipelineLayout;
+        return (void *)table->DestroyPipelineLayout;
     if (!strcmp(name, "CreateSampler"))
-        return (void *) table->CreateSampler;
+        return (void *)table->CreateSampler;
     if (!strcmp(name, "DestroySampler"))
-        return (void *) table->DestroySampler;
+        return (void *)table->DestroySampler;
     if (!strcmp(name, "CreateDescriptorSetLayout"))
-        return (void *) table->CreateDescriptorSetLayout;
+        return (void *)table->CreateDescriptorSetLayout;
     if (!strcmp(name, "DestroyDescriptorSetLayout"))
-        return (void *) table->DestroyDescriptorSetLayout;
+        return (void *)table->DestroyDescriptorSetLayout;
     if (!strcmp(name, "CreateDescriptorPool"))
-        return (void *) table->CreateDescriptorPool;
+        return (void *)table->CreateDescriptorPool;
     if (!strcmp(name, "DestroyDescriptorPool"))
-        return (void *) table->DestroyDescriptorPool;
+        return (void *)table->DestroyDescriptorPool;
     if (!strcmp(name, "ResetDescriptorPool"))
-        return (void *) table->ResetDescriptorPool;
+        return (void *)table->ResetDescriptorPool;
     if (!strcmp(name, "AllocateDescriptorSets"))
-        return (void *) table->AllocateDescriptorSets;
+        return (void *)table->AllocateDescriptorSets;
     if (!strcmp(name, "FreeDescriptorSets"))
-        return (void *) table->FreeDescriptorSets;
+        return (void *)table->FreeDescriptorSets;
     if (!strcmp(name, "UpdateDescriptorSets"))
-        return (void *) table->UpdateDescriptorSets;
+        return (void *)table->UpdateDescriptorSets;
     if (!strcmp(name, "CreateFramebuffer"))
-        return (void *) table->CreateFramebuffer;
+        return (void *)table->CreateFramebuffer;
     if (!strcmp(name, "DestroyFramebuffer"))
-        return (void *) table->DestroyFramebuffer;
+        return (void *)table->DestroyFramebuffer;
     if (!strcmp(name, "CreateRenderPass"))
-        return (void *) table->CreateRenderPass;
+        return (void *)table->CreateRenderPass;
     if (!strcmp(name, "DestroyRenderPass"))
-        return (void *) table->DestroyRenderPass;
+        return (void *)table->DestroyRenderPass;
     if (!strcmp(name, "GetRenderAreaGranularity"))
-        return (void *) table->GetRenderAreaGranularity;
+        return (void *)table->GetRenderAreaGranularity;
     if (!strcmp(name, "CreateCommandPool"))
-        return (void *) table->CreateCommandPool;
+        return (void *)table->CreateCommandPool;
     if (!strcmp(name, "DestroyCommandPool"))
-        return (void *) table->DestroyCommandPool;
+        return (void *)table->DestroyCommandPool;
     if (!strcmp(name, "ResetCommandPool"))
-        return (void *) table->ResetCommandPool;
+        return (void *)table->ResetCommandPool;
     if (!strcmp(name, "AllocateCommandBuffers"))
-        return (void *) table->AllocateCommandBuffers;
+        return (void *)table->AllocateCommandBuffers;
     if (!strcmp(name, "FreeCommandBuffers"))
-        return (void *) table->FreeCommandBuffers;
+        return (void *)table->FreeCommandBuffers;
     if (!strcmp(name, "BeginCommandBuffer"))
-        return (void *) table->BeginCommandBuffer;
+        return (void *)table->BeginCommandBuffer;
     if (!strcmp(name, "EndCommandBuffer"))
-        return (void *) table->EndCommandBuffer;
+        return (void *)table->EndCommandBuffer;
     if (!strcmp(name, "ResetCommandBuffer"))
-        return (void *) table->ResetCommandBuffer;
+        return (void *)table->ResetCommandBuffer;
     if (!strcmp(name, "CmdBindPipeline"))
-        return (void *) table->CmdBindPipeline;
+        return (void *)table->CmdBindPipeline;
     if (!strcmp(name, "CmdSetViewport"))
-        return (void *) table->CmdSetViewport;
+        return (void *)table->CmdSetViewport;
     if (!strcmp(name, "CmdSetScissor"))
-        return (void *) table->CmdSetScissor;
+        return (void *)table->CmdSetScissor;
     if (!strcmp(name, "CmdSetLineWidth"))
-        return (void *) table->CmdSetLineWidth;
+        return (void *)table->CmdSetLineWidth;
     if (!strcmp(name, "CmdSetDepthBias"))
-        return (void *) table->CmdSetDepthBias;
+        return (void *)table->CmdSetDepthBias;
     if (!strcmp(name, "CmdSetBlendConstants"))
-        return (void *) table->CmdSetBlendConstants;
+        return (void *)table->CmdSetBlendConstants;
     if (!strcmp(name, "CmdSetDepthBounds"))
-        return (void *) table->CmdSetDepthBounds;
+        return (void *)table->CmdSetDepthBounds;
     if (!strcmp(name, "CmdSetStencilCompareMask"))
-        return (void *) table->CmdSetStencilCompareMask;
+        return (void *)table->CmdSetStencilCompareMask;
     if (!strcmp(name, "CmdSetStencilwriteMask"))
-        return (void *) table->CmdSetStencilWriteMask;
+        return (void *)table->CmdSetStencilWriteMask;
     if (!strcmp(name, "CmdSetStencilReference"))
-        return (void *) table->CmdSetStencilReference;
+        return (void *)table->CmdSetStencilReference;
     if (!strcmp(name, "CmdBindDescriptorSets"))
-        return (void *) table->CmdBindDescriptorSets;
+        return (void *)table->CmdBindDescriptorSets;
     if (!strcmp(name, "CmdBindVertexBuffers"))
-        return (void *) table->CmdBindVertexBuffers;
+        return (void *)table->CmdBindVertexBuffers;
     if (!strcmp(name, "CmdBindIndexBuffer"))
-        return (void *) table->CmdBindIndexBuffer;
+        return (void *)table->CmdBindIndexBuffer;
     if (!strcmp(name, "CmdDraw"))
-        return (void *) table->CmdDraw;
+        return (void *)table->CmdDraw;
     if (!strcmp(name, "CmdDrawIndexed"))
-        return (void *) table->CmdDrawIndexed;
+        return (void *)table->CmdDrawIndexed;
     if (!strcmp(name, "CmdDrawIndirect"))
-        return (void *) table->CmdDrawIndirect;
+        return (void *)table->CmdDrawIndirect;
     if (!strcmp(name, "CmdDrawIndexedIndirect"))
-        return (void *) table->CmdDrawIndexedIndirect;
+        return (void *)table->CmdDrawIndexedIndirect;
     if (!strcmp(name, "CmdDispatch"))
-        return (void *) table->CmdDispatch;
+        return (void *)table->CmdDispatch;
     if (!strcmp(name, "CmdDispatchIndirect"))
-        return (void *) table->CmdDispatchIndirect;
+        return (void *)table->CmdDispatchIndirect;
     if (!strcmp(name, "CmdCopyBuffer"))
-        return (void *) table->CmdCopyBuffer;
+        return (void *)table->CmdCopyBuffer;
     if (!strcmp(name, "CmdCopyImage"))
-        return (void *) table->CmdCopyImage;
+        return (void *)table->CmdCopyImage;
     if (!strcmp(name, "CmdBlitImage"))
-        return (void *) table->CmdBlitImage;
+        return (void *)table->CmdBlitImage;
     if (!strcmp(name, "CmdCopyBufferToImage"))
-        return (void *) table->CmdCopyBufferToImage;
+        return (void *)table->CmdCopyBufferToImage;
     if (!strcmp(name, "CmdCopyImageToBuffer"))
-        return (void *) table->CmdCopyImageToBuffer;
+        return (void *)table->CmdCopyImageToBuffer;
     if (!strcmp(name, "CmdUpdateBuffer"))
-        return (void *) table->CmdUpdateBuffer;
+        return (void *)table->CmdUpdateBuffer;
     if (!strcmp(name, "CmdFillBuffer"))
-        return (void *) table->CmdFillBuffer;
+        return (void *)table->CmdFillBuffer;
     if (!strcmp(name, "CmdClearColorImage"))
-        return (void *) table->CmdClearColorImage;
+        return (void *)table->CmdClearColorImage;
     if (!strcmp(name, "CmdClearDepthStencilImage"))
-        return (void *) table->CmdClearDepthStencilImage;
+        return (void *)table->CmdClearDepthStencilImage;
     if (!strcmp(name, "CmdClearAttachments"))
-        return (void *) table->CmdClearAttachments;
+        return (void *)table->CmdClearAttachments;
     if (!strcmp(name, "CmdResolveImage"))
-        return (void *) table->CmdResolveImage;
+        return (void *)table->CmdResolveImage;
     if (!strcmp(name, "CmdSetEvent"))
-        return (void *) table->CmdSetEvent;
+        return (void *)table->CmdSetEvent;
     if (!strcmp(name, "CmdResetEvent"))
-        return (void *) table->CmdResetEvent;
+        return (void *)table->CmdResetEvent;
     if (!strcmp(name, "CmdWaitEvents"))
-        return (void *) table->CmdWaitEvents;
+        return (void *)table->CmdWaitEvents;
     if (!strcmp(name, "CmdPipelineBarrier"))
-        return (void *) table->CmdPipelineBarrier;
+        return (void *)table->CmdPipelineBarrier;
     if (!strcmp(name, "CmdBeginQuery"))
-        return (void *) table->CmdBeginQuery;
+        return (void *)table->CmdBeginQuery;
     if (!strcmp(name, "CmdEndQuery"))
-        return (void *) table->CmdEndQuery;
+        return (void *)table->CmdEndQuery;
     if (!strcmp(name, "CmdResetQueryPool"))
-        return (void *) table->CmdResetQueryPool;
+        return (void *)table->CmdResetQueryPool;
     if (!strcmp(name, "CmdWriteTimestamp"))
-        return (void *) table->CmdWriteTimestamp;
+        return (void *)table->CmdWriteTimestamp;
     if (!strcmp(name, "CmdCopyQueryPoolResults"))
-        return (void *) table->CmdCopyQueryPoolResults;
+        return (void *)table->CmdCopyQueryPoolResults;
     if (!strcmp(name, "CmdPushConstants"))
-        return (void *) table->CmdPushConstants;
+        return (void *)table->CmdPushConstants;
     if (!strcmp(name, "CmdBeginRenderPass"))
-        return (void *) table->CmdBeginRenderPass;
+        return (void *)table->CmdBeginRenderPass;
     if (!strcmp(name, "CmdNextSubpass"))
-        return (void *) table->CmdNextSubpass;
+        return (void *)table->CmdNextSubpass;
     if (!strcmp(name, "CmdEndRenderPass"))
-        return (void *) table->CmdEndRenderPass;
+        return (void *)table->CmdEndRenderPass;
     if (!strcmp(name, "CmdExecuteCommands"))
-        return (void *) table->CmdExecuteCommands;
+        return (void *)table->CmdExecuteCommands;
 
     return NULL;
 }
 
-static inline void loader_init_instance_core_dispatch_table(
-        VkLayerInstanceDispatchTable *table,
-        PFN_vkGetInstanceProcAddr gpa,
-        VkInstance inst)
-{
-    table->GetInstanceProcAddr = (PFN_vkGetInstanceProcAddr) gpa(inst, "vkGetInstanceProcAddr");
-    table->DestroyInstance = (PFN_vkDestroyInstance) gpa(inst, "vkDestroyInstance");
-    table->EnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices) gpa(inst, "vkEnumeratePhysicalDevices");
-    table->GetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures) gpa(inst, "vkGetPhysicalDeviceFeatures");
-    table->GetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties) gpa(inst, "vkGetPhysicalDeviceImageFormatProperties");
-    table->GetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties) gpa(inst, "vkGetPhysicalDeviceFormatProperties");
-    table->GetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties) gpa(inst, "vkGetPhysicalDeviceSparseImageFormatProperties");
-    table->GetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties) gpa(inst, "vkGetPhysicalDeviceProperties");
-    table->GetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties) gpa(inst, "vkGetPhysicalDeviceQueueFamilyProperties");
-    table->GetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties) gpa(inst, "vkGetPhysicalDeviceMemoryProperties");
-    table->EnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties) gpa(inst, "vkEnumerateDeviceExtensionProperties");
-    table->EnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties) gpa(inst, "vkEnumerateDeviceLayerProperties");
+static inline void
+loader_init_instance_core_dispatch_table(VkLayerInstanceDispatchTable *table,
+                                         PFN_vkGetInstanceProcAddr gpa,
+                                         VkInstance inst) {
+    table->GetInstanceProcAddr =
+        (PFN_vkGetInstanceProcAddr)gpa(inst, "vkGetInstanceProcAddr");
+    table->DestroyInstance =
+        (PFN_vkDestroyInstance)gpa(inst, "vkDestroyInstance");
+    table->EnumeratePhysicalDevices =
+        (PFN_vkEnumeratePhysicalDevices)gpa(inst, "vkEnumeratePhysicalDevices");
+    table->GetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures)gpa(
+        inst, "vkGetPhysicalDeviceFeatures");
+    table->GetPhysicalDeviceImageFormatProperties =
+        (PFN_vkGetPhysicalDeviceImageFormatProperties)gpa(
+            inst, "vkGetPhysicalDeviceImageFormatProperties");
+    table->GetPhysicalDeviceFormatProperties =
+        (PFN_vkGetPhysicalDeviceFormatProperties)gpa(
+            inst, "vkGetPhysicalDeviceFormatProperties");
+    table->GetPhysicalDeviceSparseImageFormatProperties =
+        (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)gpa(
+            inst, "vkGetPhysicalDeviceSparseImageFormatProperties");
+    table->GetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties)gpa(
+        inst, "vkGetPhysicalDeviceProperties");
+    table->GetPhysicalDeviceQueueFamilyProperties =
+        (PFN_vkGetPhysicalDeviceQueueFamilyProperties)gpa(
+            inst, "vkGetPhysicalDeviceQueueFamilyProperties");
+    table->GetPhysicalDeviceMemoryProperties =
+        (PFN_vkGetPhysicalDeviceMemoryProperties)gpa(
+            inst, "vkGetPhysicalDeviceMemoryProperties");
+    table->EnumerateDeviceExtensionProperties =
+        (PFN_vkEnumerateDeviceExtensionProperties)gpa(
+            inst, "vkEnumerateDeviceExtensionProperties");
+    table->EnumerateDeviceLayerProperties =
+        (PFN_vkEnumerateDeviceLayerProperties)gpa(
+            inst, "vkEnumerateDeviceLayerProperties");
 }
 
 static inline void loader_init_instance_extension_dispatch_table(
-        VkLayerInstanceDispatchTable *table,
-        PFN_vkGetInstanceProcAddr gpa,
-        VkInstance inst)
-{
-    table->DestroySurfaceKHR = (PFN_vkDestroySurfaceKHR) gpa(inst, "vkDestroySurfaceKHR");
-    table->CreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT) gpa(inst, "vkCreateDebugReportCallbackEXT");
-    table->DestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT) gpa(inst, "vkDestroyDebugReportCallbackEXT");
-    table->DebugReportMessageEXT = (PFN_vkDebugReportMessageEXT) gpa(inst, "vkDebugReportMessageEXT");
-    table->GetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR) gpa(inst, "vkGetPhysicalDeviceSurfaceSupportKHR");
-    table->GetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR) gpa(inst, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
-    table->GetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR) gpa(inst, "vkGetPhysicalDeviceSurfaceFormatsKHR");
-    table->GetPhysicalDeviceSurfacePresentModesKHR = (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR) gpa(inst, "vkGetPhysicalDeviceSurfacePresentModesKHR");
+    VkLayerInstanceDispatchTable *table, PFN_vkGetInstanceProcAddr gpa,
+    VkInstance inst) {
+    table->DestroySurfaceKHR =
+        (PFN_vkDestroySurfaceKHR)gpa(inst, "vkDestroySurfaceKHR");
+    table->CreateDebugReportCallbackEXT =
+        (PFN_vkCreateDebugReportCallbackEXT)gpa(
+            inst, "vkCreateDebugReportCallbackEXT");
+    table->DestroyDebugReportCallbackEXT =
+        (PFN_vkDestroyDebugReportCallbackEXT)gpa(
+            inst, "vkDestroyDebugReportCallbackEXT");
+    table->DebugReportMessageEXT =
+        (PFN_vkDebugReportMessageEXT)gpa(inst, "vkDebugReportMessageEXT");
+    table->GetPhysicalDeviceSurfaceSupportKHR =
+        (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)gpa(
+            inst, "vkGetPhysicalDeviceSurfaceSupportKHR");
+    table->GetPhysicalDeviceSurfaceCapabilitiesKHR =
+        (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)gpa(
+            inst, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
+    table->GetPhysicalDeviceSurfaceFormatsKHR =
+        (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)gpa(
+            inst, "vkGetPhysicalDeviceSurfaceFormatsKHR");
+    table->GetPhysicalDeviceSurfacePresentModesKHR =
+        (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)gpa(
+            inst, "vkGetPhysicalDeviceSurfacePresentModesKHR");
 #ifdef VK_USE_PLATFORM_MIR_KHR
-    table->CreateMirSurfaceKHR = (PFN_vkCreateMirSurfaceKHR) gpa(inst, "vkCreateMirSurfaceKHR");
-    table->GetPhysicalDeviceMirPresentationSupportKHR = (PFN_vkGetPhysicalDeviceMirPresentationSupportKHR) gpa(inst, "vkGetPhysicalDeviceMirPresentationSupportKHR");
+    table->CreateMirSurfaceKHR =
+        (PFN_vkCreateMirSurfaceKHR)gpa(inst, "vkCreateMirSurfaceKHR");
+    table->GetPhysicalDeviceMirPresentationSupportKHR =
+        (PFN_vkGetPhysicalDeviceMirPresentationSupportKHR)gpa(
+            inst, "vkGetPhysicalDeviceMirPresentationSupportKHR");
 #endif
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    table->CreateWaylandSurfaceKHR = (PFN_vkCreateWaylandSurfaceKHR) gpa(inst, "vkCreateWaylandSurfaceKHR");
-    table->GetPhysicalDeviceWaylandPresentationSupportKHR = (PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR) gpa(inst, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
+    table->CreateWaylandSurfaceKHR =
+        (PFN_vkCreateWaylandSurfaceKHR)gpa(inst, "vkCreateWaylandSurfaceKHR");
+    table->GetPhysicalDeviceWaylandPresentationSupportKHR =
+        (PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)gpa(
+            inst, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
 #endif
 #ifdef VK_USE_PLATFORM_WIN32_KHR
-    table->CreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) gpa(inst, "vkCreateWin32SurfaceKHR");
-    table->GetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR) gpa(inst, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
+    table->CreateWin32SurfaceKHR =
+        (PFN_vkCreateWin32SurfaceKHR)gpa(inst, "vkCreateWin32SurfaceKHR");
+    table->GetPhysicalDeviceWin32PresentationSupportKHR =
+        (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)gpa(
+            inst, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
 #endif
 #ifdef VK_USE_PLATFORM_XCB_KHR
-    table->CreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR) gpa(inst, "vkCreateXcbSurfaceKHR");
-    table->GetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR) gpa(inst, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
+    table->CreateXcbSurfaceKHR =
+        (PFN_vkCreateXcbSurfaceKHR)gpa(inst, "vkCreateXcbSurfaceKHR");
+    table->GetPhysicalDeviceXcbPresentationSupportKHR =
+        (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)gpa(
+            inst, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
 #endif
 #ifdef VK_USE_PLATFORM_XLIB_KHR
-    table->CreateXlibSurfaceKHR = (PFN_vkCreateXlibSurfaceKHR) gpa(inst, "vkCreateXlibSurfaceKHR");
-    table->GetPhysicalDeviceXlibPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR) gpa(inst, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
+    table->CreateXlibSurfaceKHR =
+        (PFN_vkCreateXlibSurfaceKHR)gpa(inst, "vkCreateXlibSurfaceKHR");
+    table->GetPhysicalDeviceXlibPresentationSupportKHR =
+        (PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)gpa(
+            inst, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
 #endif
 }
 
-static inline void *loader_lookup_instance_dispatch_table(
-                                        const VkLayerInstanceDispatchTable *table,
-                                        const char *name)
-{
+static inline void *
+loader_lookup_instance_dispatch_table(const VkLayerInstanceDispatchTable *table,
+                                      const char *name) {
     if (!name || name[0] != 'v' || name[1] != 'k')
         return NULL;
 
     name += 2;
     if (!strcmp(name, "DestroyInstance"))
-        return (void *) table->DestroyInstance;
+        return (void *)table->DestroyInstance;
     if (!strcmp(name, "EnumeratePhysicalDevices"))
-        return (void *) table->EnumeratePhysicalDevices;
+        return (void *)table->EnumeratePhysicalDevices;
     if (!strcmp(name, "GetPhysicalDeviceFeatures"))
-        return (void *) table->GetPhysicalDeviceFeatures;
+        return (void *)table->GetPhysicalDeviceFeatures;
     if (!strcmp(name, "GetPhysicalDeviceImageFormatProperties"))
-        return (void *) table->GetPhysicalDeviceImageFormatProperties;
+        return (void *)table->GetPhysicalDeviceImageFormatProperties;
     if (!strcmp(name, "GetPhysicalDeviceFormatProperties"))
-        return (void *) table->GetPhysicalDeviceFormatProperties;
+        return (void *)table->GetPhysicalDeviceFormatProperties;
     if (!strcmp(name, "GetPhysicalDeviceSparseImageFormatProperties"))
-        return (void *) table->GetPhysicalDeviceSparseImageFormatProperties;
+        return (void *)table->GetPhysicalDeviceSparseImageFormatProperties;
     if (!strcmp(name, "GetPhysicalDeviceProperties"))
-        return (void *) table->GetPhysicalDeviceProperties;
+        return (void *)table->GetPhysicalDeviceProperties;
     if (!strcmp(name, "GetPhysicalDeviceQueueFamilyProperties"))
-        return (void *) table->GetPhysicalDeviceQueueFamilyProperties;
+        return (void *)table->GetPhysicalDeviceQueueFamilyProperties;
     if (!strcmp(name, "GetPhysicalDeviceMemoryProperties"))
-        return (void *) table->GetPhysicalDeviceMemoryProperties;
+        return (void *)table->GetPhysicalDeviceMemoryProperties;
     if (!strcmp(name, "GetInstanceProcAddr"))
-        return (void *) table->GetInstanceProcAddr;
+        return (void *)table->GetInstanceProcAddr;
     if (!strcmp(name, "EnumerateDeviceExtensionProperties"))
-        return (void *) table->EnumerateDeviceExtensionProperties;
+        return (void *)table->EnumerateDeviceExtensionProperties;
     if (!strcmp(name, "EnumerateDeviceLayerProperties"))
-        return (void *) table->EnumerateDeviceLayerProperties;
+        return (void *)table->EnumerateDeviceLayerProperties;
     if (!strcmp(name, "DestroySurfaceKHR"))
-        return (void *) table->DestroySurfaceKHR;
+        return (void *)table->DestroySurfaceKHR;
     if (!strcmp(name, "GetPhysicalDeviceSurfaceSupportKHR"))
-        return (void *) table->GetPhysicalDeviceSurfaceSupportKHR;
+        return (void *)table->GetPhysicalDeviceSurfaceSupportKHR;
     if (!strcmp(name, "GetPhysicalDeviceSurfaceCapabilitiesKHR"))
-        return (void *) table->GetPhysicalDeviceSurfaceCapabilitiesKHR;
+        return (void *)table->GetPhysicalDeviceSurfaceCapabilitiesKHR;
     if (!strcmp(name, "GetPhysicalDeviceSurfaceFormatsKHR"))
-        return (void *) table->GetPhysicalDeviceSurfaceFormatsKHR;
+        return (void *)table->GetPhysicalDeviceSurfaceFormatsKHR;
     if (!strcmp(name, "GetPhysicalDeviceSurfacePresentModesKHR"))
-        return (void *) table->GetPhysicalDeviceSurfacePresentModesKHR;
+        return (void *)table->GetPhysicalDeviceSurfacePresentModesKHR;
 #ifdef VK_USE_PLATFORM_MIR_KHR
     if (!strcmp(name, "CreateMirSurfaceKHR"))
-        return (void *) table->CreateMirSurfaceKHR;
+        return (void *)table->CreateMirSurfaceKHR;
     if (!strcmp(name, "GetPhysicalDeviceMirPresentationSupportKHR"))
-        return (void *) table->GetPhysicalDeviceMirPresentationSupportKHR;
+        return (void *)table->GetPhysicalDeviceMirPresentationSupportKHR;
 #endif
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
     if (!strcmp(name, "CreateWaylandSurfaceKHR"))
-        return (void *) table->CreateWaylandSurfaceKHR;
+        return (void *)table->CreateWaylandSurfaceKHR;
     if (!strcmp(name, "GetPhysicalDeviceWaylandPresentationSupportKHR"))
-        return (void *) table->GetPhysicalDeviceWaylandPresentationSupportKHR;
+        return (void *)table->GetPhysicalDeviceWaylandPresentationSupportKHR;
 #endif
 #ifdef VK_USE_PLATFORM_WIN32_KHR
     if (!strcmp(name, "CreateWin32SurfaceKHR"))
-        return (void *) table->CreateWin32SurfaceKHR;
+        return (void *)table->CreateWin32SurfaceKHR;
     if (!strcmp(name, "GetPhysicalDeviceWin32PresentationSupportKHR"))
-        return (void *) table->GetPhysicalDeviceWin32PresentationSupportKHR;
+        return (void *)table->GetPhysicalDeviceWin32PresentationSupportKHR;
 #endif
 #ifdef VK_USE_PLATFORM_XCB_KHR
     if (!strcmp(name, "CreateXcbSurfaceKHR"))
-        return (void *) table->CreateXcbSurfaceKHR;
+        return (void *)table->CreateXcbSurfaceKHR;
     if (!strcmp(name, "GetPhysicalDeviceXcbPresentationSupportKHR"))
-        return (void *) table->GetPhysicalDeviceXcbPresentationSupportKHR;
+        return (void *)table->GetPhysicalDeviceXcbPresentationSupportKHR;
 #endif
 #ifdef VK_USE_PLATFORM_XLIB_KHR
     if (!strcmp(name, "CreateXlibSurfaceKHR"))
-        return (void *) table->CreateXlibSurfaceKHR;
+        return (void *)table->CreateXlibSurfaceKHR;
     if (!strcmp(name, "GetPhysicalDeviceXlibPresentationSupportKHR"))
-        return (void *) table->GetPhysicalDeviceXlibPresentationSupportKHR;
+        return (void *)table->GetPhysicalDeviceXlibPresentationSupportKHR;
 #endif
     if (!strcmp(name, "CreateDebugReportCallbackEXT"))
-        return (void *) table->CreateDebugReportCallbackEXT;
+        return (void *)table->CreateDebugReportCallbackEXT;
     if (!strcmp(name, "DestroyDebugReportCallbackEXT"))
-        return (void *) table->DestroyDebugReportCallbackEXT;
+        return (void *)table->DestroyDebugReportCallbackEXT;
     if (!strcmp(name, "DebugReportMessageEXT"))
-        return (void *) table->DebugReportMessageEXT;
+        return (void *)table->DebugReportMessageEXT;
 
     return NULL;
 }
index 9cca6aa..48d1b72 100644 (file)
@@ -1,30 +1,37 @@
 /*
  *
- * Copyright (C) 2015 Valve Corporation
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
  * Copyright (C) 2015 Google Inc.
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
- * Author: Chris Forbes <chrisf@ijw.co.nz>
- * Author: Cody Northrop <cody@lunarg.com>
+ * Author: Courtney Goeltzenleuchter <courtney@lunarg.com>
  * Author: Jon Ashburn <jon@lunarg.com>
  * Author: Tony Barbour <tony@LunarG.com>
+ * Author: Chia-I Wu <olv@lunarg.com>
  */
 #define _GNU_SOURCE
 #include <stdlib.h>
 #include "debug_report.h"
 #include "wsi.h"
 
-
 /* Trampoline entrypoints */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
-        const VkInstanceCreateInfo* pCreateInfo,
-        const VkAllocationCallbacks* pAllocator,
-        VkInstance* pInstance)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateInstance(const VkInstanceCreateInfo *pCreateInfo,
+                 const VkAllocationCallbacks *pAllocator,
+                 VkInstance *pInstance) {
     struct loader_instance *ptr_instance = NULL;
     VkInstance created_instance = VK_NULL_HANDLE;
     VkResult res = VK_ERROR_INITIALIZATION_FAILED;
     VkDebugReportCallbackEXT instance_callback = VK_NULL_HANDLE;
-    void *pNext = (void *) pCreateInfo->pNext;
+    void *pNext = (void *)pCreateInfo->pNext;
 
     loader_platform_thread_once(&once_init, loader_initialize);
 
@@ -59,7 +64,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
                            VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     } else {
 #endif
-        ptr_instance = (struct loader_instance *) malloc(sizeof(struct loader_instance));
+    ptr_instance =
+        (struct loader_instance *)malloc(sizeof(struct loader_instance));
     //}
     if (ptr_instance == NULL) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -79,24 +85,27 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
      * and setup a callback if found.
      */
     while (pNext) {
-        if (((VkInstanceCreateInfo *)pNext)->sType == VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT) {
-            instance_callback = (VkDebugReportCallbackEXT) ptr_instance;
-            if (util_CreateDebugReportCallback(ptr_instance, pNext, NULL, instance_callback)) {
+        if (((VkInstanceCreateInfo *)pNext)->sType ==
+            VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT) {
+            instance_callback = (VkDebugReportCallbackEXT)ptr_instance;
+            if (util_CreateDebugReportCallback(ptr_instance, pNext, NULL,
+                                               instance_callback)) {
                 loader_heap_free(ptr_instance, ptr_instance);
                 loader_platform_thread_unlock_mutex(&loader_lock);
                 return VK_ERROR_OUT_OF_HOST_MEMORY;
             }
         }
-        pNext = (void *) ((VkInstanceCreateInfo *)pNext)->pNext;
+        pNext = (void *)((VkInstanceCreateInfo *)pNext)->pNext;
     }
 
     /* Due to implicit layers need to get layer list even if
      * enabledLayerCount == 0 and VK_INSTANCE_LAYERS is unset. For now always
      * get layer list (both instance and device) via loader_layer_scan(). */
-    memset(&ptr_instance->instance_layer_list, 0, sizeof(ptr_instance->instance_layer_list));
-    memset(&ptr_instance->device_layer_list, 0, sizeof(ptr_instance->device_layer_list));
-    loader_layer_scan(ptr_instance,
-                      &ptr_instance->instance_layer_list,
+    memset(&ptr_instance->instance_layer_list, 0,
+           sizeof(ptr_instance->instance_layer_list));
+    memset(&ptr_instance->device_layer_list, 0,
+           sizeof(ptr_instance->device_layer_list));
+    loader_layer_scan(ptr_instance, &ptr_instance->instance_layer_list,
                       &ptr_instance->device_layer_list);
 
     /* validate the app requested layers to be enabled */
@@ -105,7 +114,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
                                      pCreateInfo->ppEnabledLayerNames,
                                      &ptr_instance->instance_layer_list);
         if (res != VK_SUCCESS) {
-            util_DestroyDebugReportCallback(ptr_instance, instance_callback, NULL);
+            util_DestroyDebugReportCallback(ptr_instance, instance_callback,
+                                            NULL);
             loader_heap_free(ptr_instance, ptr_instance);
             loader_platform_thread_unlock_mutex(&loader_lock);
             return res;
@@ -117,39 +127,38 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
     loader_icd_scan(ptr_instance, &ptr_instance->icd_libs);
 
     /* get extensions from all ICD's, merge so no duplicates, then validate */
-    loader_get_icd_loader_instance_extensions(ptr_instance,
-                                              &ptr_instance->icd_libs,
-                                              &ptr_instance->ext_list);
-    res = loader_validate_instance_extensions(&ptr_instance->ext_list,
-                                              &ptr_instance->instance_layer_list,
-                                              pCreateInfo);
+    loader_get_icd_loader_instance_extensions(
+        ptr_instance, &ptr_instance->icd_libs, &ptr_instance->ext_list);
+    res = loader_validate_instance_extensions(
+        &ptr_instance->ext_list, &ptr_instance->instance_layer_list,
+        pCreateInfo);
     if (res != VK_SUCCESS) {
         loader_delete_layer_properties(ptr_instance,
                                        &ptr_instance->device_layer_list);
         loader_delete_layer_properties(ptr_instance,
                                        &ptr_instance->instance_layer_list);
         loader_scanned_icd_clear(ptr_instance, &ptr_instance->icd_libs);
-        loader_destroy_generic_list(ptr_instance, (struct loader_generic_list *)
-                                    &ptr_instance->ext_list);
+        loader_destroy_generic_list(
+            ptr_instance,
+            (struct loader_generic_list *)&ptr_instance->ext_list);
         util_DestroyDebugReportCallback(ptr_instance, instance_callback, NULL);
         loader_platform_thread_unlock_mutex(&loader_lock);
         loader_heap_free(ptr_instance, ptr_instance);
         return res;
     }
 
-    ptr_instance->disp = loader_heap_alloc(
-                             ptr_instance,
-                             sizeof(VkLayerInstanceDispatchTable),
-                             VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
+    ptr_instance->disp =
+        loader_heap_alloc(ptr_instance, sizeof(VkLayerInstanceDispatchTable),
+                          VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (ptr_instance->disp == NULL) {
         loader_delete_layer_properties(ptr_instance,
                                        &ptr_instance->device_layer_list);
         loader_delete_layer_properties(ptr_instance,
                                        &ptr_instance->instance_layer_list);
-        loader_scanned_icd_clear(ptr_instance,
-                                 &ptr_instance->icd_libs);
-        loader_destroy_generic_list(ptr_instance, (struct loader_generic_list *)
-                                &ptr_instance->ext_list);
+        loader_scanned_icd_clear(ptr_instance, &ptr_instance->icd_libs);
+        loader_destroy_generic_list(
+            ptr_instance,
+            (struct loader_generic_list *)&ptr_instance->ext_list);
         util_DestroyDebugReportCallback(ptr_instance, instance_callback, NULL);
         loader_platform_thread_unlock_mutex(&loader_lock);
         loader_heap_free(ptr_instance, ptr_instance);
@@ -160,18 +169,17 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
     loader.instances = ptr_instance;
 
     /* activate any layers on instance chain */
-    res = loader_enable_instance_layers(ptr_instance,
-                                        pCreateInfo,
+    res = loader_enable_instance_layers(ptr_instance, pCreateInfo,
                                         &ptr_instance->instance_layer_list);
     if (res != VK_SUCCESS) {
         loader_delete_layer_properties(ptr_instance,
                                        &ptr_instance->device_layer_list);
         loader_delete_layer_properties(ptr_instance,
                                        &ptr_instance->instance_layer_list);
-        loader_scanned_icd_clear(ptr_instance,
-                                 &ptr_instance->icd_libs);
-        loader_destroy_generic_list(ptr_instance, (struct loader_generic_list *)
-                                &ptr_instance->ext_list);
+        loader_scanned_icd_clear(ptr_instance, &ptr_instance->icd_libs);
+        loader_destroy_generic_list(
+            ptr_instance,
+            (struct loader_generic_list *)&ptr_instance->ext_list);
         loader.instances = ptr_instance->next;
         util_DestroyDebugReportCallback(ptr_instance, instance_callback, NULL);
         loader_platform_thread_unlock_mutex(&loader_lock);
@@ -180,8 +188,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
         return res;
     }
 
-    created_instance = (VkInstance) ptr_instance;
-    res = loader_create_instance_chain(pCreateInfo, pAllocator, ptr_instance, created_instance);
+    created_instance = (VkInstance)ptr_instance;
+    res = loader_create_instance_chain(pCreateInfo, pAllocator, ptr_instance,
+                                       created_instance);
 
     if (res == VK_SUCCESS) {
         wsi_create_instance(ptr_instance, pCreateInfo);
@@ -207,10 +216,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateInstance(
     return res;
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
-                                            VkInstance instance,
-                                            const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyInstance(VkInstance instance,
+                  const VkAllocationCallbacks *pAllocator) {
     const VkLayerInstanceDispatchTable *disp;
     struct loader_instance *ptr_instance = NULL;
     disp = loader_get_instance_dispatch(instance);
@@ -228,11 +236,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyInstance(
     loader_platform_thread_unlock_mutex(&loader_lock);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
-                                            VkInstance instance,
-                                            uint32_t* pPhysicalDeviceCount,
-                                            VkPhysicalDevice* pPhysicalDevices)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkEnumeratePhysicalDevices(VkInstance instance, uint32_t *pPhysicalDeviceCount,
+                           VkPhysicalDevice *pPhysicalDevices) {
     const VkLayerInstanceDispatchTable *disp;
     VkResult res;
     disp = loader_get_instance_dispatch(instance);
@@ -244,72 +250,68 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumeratePhysicalDevices(
     return res;
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFeatures(
-                                            VkPhysicalDevice gpu,
-                                            VkPhysicalDeviceFeatures *pFeatures)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetPhysicalDeviceFeatures(VkPhysicalDevice gpu,
+                            VkPhysicalDeviceFeatures *pFeatures) {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(gpu);
     disp->GetPhysicalDeviceFeatures(gpu, pFeatures);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceFormatProperties(
-                                            VkPhysicalDevice gpu,
-                                            VkFormat format,
-                                            VkFormatProperties *pFormatInfo)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice gpu, VkFormat format,
+                                    VkFormatProperties *pFormatInfo) {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(gpu);
     disp->GetPhysicalDeviceFormatProperties(gpu, format, pFormatInfo);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags, VkImageFormatProperties* pImageFormatProperties)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetPhysicalDeviceImageFormatProperties(
+    VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+    VkImageTiling tiling, VkImageUsageFlags usage, VkImageCreateFlags flags,
+    VkImageFormatProperties *pImageFormatProperties) {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(physicalDevice);
-    return disp->GetPhysicalDeviceImageFormatProperties(physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties);
+    return disp->GetPhysicalDeviceImageFormatProperties(
+        physicalDevice, format, type, tiling, usage, flags,
+        pImageFormatProperties);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceProperties(
-                                            VkPhysicalDevice gpu,
-                                            VkPhysicalDeviceProperties* pProperties)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetPhysicalDeviceProperties(VkPhysicalDevice gpu,
+                              VkPhysicalDeviceProperties *pProperties) {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(gpu);
     disp->GetPhysicalDeviceProperties(gpu, pProperties);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceQueueFamilyProperties(
-                                            VkPhysicalDevice gpu,
-                                            uint32_t* pQueueFamilyPropertyCount,
-                                            VkQueueFamilyProperties* pQueueProperties)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetPhysicalDeviceQueueFamilyProperties(
+    VkPhysicalDevice gpu, uint32_t *pQueueFamilyPropertyCount,
+    VkQueueFamilyProperties *pQueueProperties) {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(gpu);
-    disp->GetPhysicalDeviceQueueFamilyProperties(gpu, pQueueFamilyPropertyCount, pQueueProperties);
+    disp->GetPhysicalDeviceQueueFamilyProperties(gpu, pQueueFamilyPropertyCount,
+                                                 pQueueProperties);
 }
 
 LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceMemoryProperties(
-                                            VkPhysicalDevice gpu,
-                                            VkPhysicalDeviceMemoryProperties* pMemoryProperties)
-{
+    VkPhysicalDevice gpu, VkPhysicalDeviceMemoryProperties *pMemoryProperties) {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(gpu);
     disp->GetPhysicalDeviceMemoryProperties(gpu, pMemoryProperties);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
-        VkPhysicalDevice gpu,
-        const VkDeviceCreateInfo* pCreateInfo,
-        const VkAllocationCallbacks* pAllocator,
-        VkDevice* pDevice)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateDevice(VkPhysicalDevice gpu, const VkDeviceCreateInfo *pCreateInfo,
+               const VkAllocationCallbacks *pAllocator, VkDevice *pDevice) {
     VkResult res;
 
     loader_platform_thread_lock_mutex(&loader_lock);
@@ -320,8 +322,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateDevice(
     return res;
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(VkDevice device, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyDevice(VkDevice device, const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
     struct loader_device *dev;
     struct loader_icd *icd = loader_get_icd_and_device(device, &dev);
@@ -336,12 +338,11 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDevice(VkDevice device, const
     loader_platform_thread_unlock_mutex(&loader_lock);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionProperties(
-    VkPhysicalDevice                            physicalDevice,
-    const char*                                 pLayerName,
-    uint32_t*                                   pPropertyCount,
-    VkExtensionProperties*                      pProperties)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,
+                                     const char *pLayerName,
+                                     uint32_t *pPropertyCount,
+                                     VkExtensionProperties *pProperties) {
     VkResult res;
 
     loader_platform_thread_lock_mutex(&loader_lock);
@@ -350,37 +351,40 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceExtensionPropertie
        down the instance chain which will terminate in the ICD. This allows
        layers to filter the extensions coming back up the chain.
        If pLayerName != NULL then get layer extensions from manifest file.  */
-    if (pLayerName == NULL  || strlen(pLayerName) == 0) {
+    if (pLayerName == NULL || strlen(pLayerName) == 0) {
         const VkLayerInstanceDispatchTable *disp;
 
         disp = loader_get_instance_dispatch(physicalDevice);
-        res = disp->EnumerateDeviceExtensionProperties(physicalDevice, NULL, pPropertyCount, pProperties);
+        res = disp->EnumerateDeviceExtensionProperties(
+            physicalDevice, NULL, pPropertyCount, pProperties);
     } else {
-        res = loader_EnumerateDeviceExtensionProperties(physicalDevice, pLayerName, pPropertyCount, pProperties);
+        res = loader_EnumerateDeviceExtensionProperties(
+            physicalDevice, pLayerName, pPropertyCount, pProperties);
     }
 
     loader_platform_thread_unlock_mutex(&loader_lock);
     return res;
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEnumerateDeviceLayerProperties(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t*                                   pPropertyCount,
-    VkLayerProperties*                          pProperties)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,
+                                 uint32_t *pPropertyCount,
+                                 VkLayerProperties *pProperties) {
     VkResult res;
 
     loader_platform_thread_lock_mutex(&loader_lock);
 
     /* Don't dispatch this call down the instance chain, want all device layers
        enumerated and instance chain may not contain all device layers */
-    res = loader_EnumerateDeviceLayerProperties(physicalDevice, pPropertyCount, pProperties);
+    res = loader_EnumerateDeviceLayerProperties(physicalDevice, pPropertyCount,
+                                                pProperties);
     loader_platform_thread_unlock_mutex(&loader_lock);
     return res;
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(VkDevice device, uint32_t queueNodeIndex, uint32_t queueIndex, VkQueue* pQueue)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetDeviceQueue(VkDevice device, uint32_t queueNodeIndex, uint32_t queueIndex,
+                 VkQueue *pQueue) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -389,8 +393,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetDeviceQueue(VkDevice device, uint3
     loader_set_dispatch(*pQueue, disp);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo* pSubmits, VkFence fence)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkQueueSubmit(VkQueue queue, uint32_t submitCount, const VkSubmitInfo *pSubmits,
+              VkFence fence) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(queue);
@@ -398,8 +403,7 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueueSubmit(VkQueue queue, uint32
     return disp->QueueSubmit(queue, submitCount, pSubmits, fence);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(VkQueue queue)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(VkQueue queue) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(queue);
@@ -407,8 +411,7 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueueWaitIdle(VkQueue queue)
     return disp->QueueWaitIdle(queue);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(VkDevice device)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(VkDevice device) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -416,8 +419,10 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkDeviceWaitIdle(VkDevice device)
     return disp->DeviceWaitIdle(device);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo* pAllocateInfo, const VkAllocationCallbacks* pAllocator, VkDeviceMemory* pMemory)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkAllocateMemory(VkDevice device, const VkMemoryAllocateInfo *pAllocateInfo,
+                 const VkAllocationCallbacks *pAllocator,
+                 VkDeviceMemory *pMemory) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -425,8 +430,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAllocateMemory(VkDevice device, c
     return disp->AllocateMemory(device, pAllocateInfo, pAllocator, pMemory);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkFreeMemory(VkDevice device, VkDeviceMemory mem, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkFreeMemory(VkDevice device, VkDeviceMemory mem,
+             const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -434,8 +440,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkFreeMemory(VkDevice device, VkDeviceM
     disp->FreeMemory(device, mem, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(VkDevice device, VkDeviceMemory mem, VkDeviceSize offset, VkDeviceSize size, VkFlags flags, void** ppData)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkMapMemory(VkDevice device, VkDeviceMemory mem, VkDeviceSize offset,
+            VkDeviceSize size, VkFlags flags, void **ppData) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -443,8 +450,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkMapMemory(VkDevice device, VkDevi
     return disp->MapMemory(device, mem, offset, size, flags, ppData);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(VkDevice device, VkDeviceMemory mem)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkUnmapMemory(VkDevice device, VkDeviceMemory mem) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -452,26 +459,31 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkUnmapMemory(VkDevice device, VkDevice
     disp->UnmapMemory(device, mem);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkFlushMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount,
+                          const VkMappedMemoryRange *pMemoryRanges) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->FlushMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
+    return disp->FlushMappedMemoryRanges(device, memoryRangeCount,
+                                         pMemoryRanges);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange* pMemoryRanges)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkInvalidateMappedMemoryRanges(VkDevice device, uint32_t memoryRangeCount,
+                               const VkMappedMemoryRange *pMemoryRanges) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->InvalidateMappedMemoryRanges(device, memoryRangeCount, pMemoryRanges);
+    return disp->InvalidateMappedMemoryRanges(device, memoryRangeCount,
+                                              pMemoryRanges);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetDeviceMemoryCommitment(VkDevice device, VkDeviceMemory memory,
+                            VkDeviceSize *pCommittedMemoryInBytes) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -479,8 +491,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetDeviceMemoryCommitment(VkDevice de
     disp->GetDeviceMemoryCommitment(device, memory, pCommittedMemoryInBytes);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory mem, VkDeviceSize offset)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkBindBufferMemory(VkDevice device, VkBuffer buffer, VkDeviceMemory mem,
+                   VkDeviceSize offset) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -488,8 +501,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkBindBufferMemory(VkDevice device,
     return disp->BindBufferMemory(device, buffer, mem, offset);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory mem, VkDeviceSize offset)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkBindImageMemory(VkDevice device, VkImage image, VkDeviceMemory mem,
+                  VkDeviceSize offset) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -497,8 +511,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkBindImageMemory(VkDevice device,
     return disp->BindImageMemory(device, image, mem, offset);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetBufferMemoryRequirements(VkDevice device, VkBuffer buffer,
+                              VkMemoryRequirements *pMemoryRequirements) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -506,8 +521,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetBufferMemoryRequirements(VkDevice
     disp->GetBufferMemoryRequirements(device, buffer, pMemoryRequirements);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(VkDevice device, VkImage image, VkMemoryRequirements* pMemoryRequirements)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetImageMemoryRequirements(VkDevice device, VkImage image,
+                             VkMemoryRequirements *pMemoryRequirements) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -515,26 +531,36 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetImageMemoryRequirements(VkDevice d
     disp->GetImageMemoryRequirements(device, image, pMemoryRequirements);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(VkDevice device, VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetImageSparseMemoryRequirements(
+    VkDevice device, VkImage image, uint32_t *pSparseMemoryRequirementCount,
+    VkSparseImageMemoryRequirements *pSparseMemoryRequirements) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    disp->GetImageSparseMemoryRequirements(device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements);
+    disp->GetImageSparseMemoryRequirements(device, image,
+                                           pSparseMemoryRequirementCount,
+                                           pSparseMemoryRequirements);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type, VkSampleCountFlagBits samples, VkImageUsageFlags usage, VkImageTiling tiling, uint32_t* pPropertyCount, VkSparseImageFormatProperties* pProperties)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetPhysicalDeviceSparseImageFormatProperties(
+    VkPhysicalDevice physicalDevice, VkFormat format, VkImageType type,
+    VkSampleCountFlagBits samples, VkImageUsageFlags usage,
+    VkImageTiling tiling, uint32_t *pPropertyCount,
+    VkSparseImageFormatProperties *pProperties) {
     const VkLayerInstanceDispatchTable *disp;
 
     disp = loader_get_instance_dispatch(physicalDevice);
 
-    disp->GetPhysicalDeviceSparseImageFormatProperties(physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties);
+    disp->GetPhysicalDeviceSparseImageFormatProperties(
+        physicalDevice, format, type, samples, usage, tiling, pPropertyCount,
+        pProperties);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo* pBindInfo, VkFence fence)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkQueueBindSparse(VkQueue queue, uint32_t bindInfoCount,
+                  const VkBindSparseInfo *pBindInfo, VkFence fence) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(queue);
@@ -542,8 +568,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueueBindSparse(VkQueue queue, ui
     return disp->QueueBindSparse(queue, bindInfoCount, pBindInfo, fence);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(VkDevice device, const VkFenceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFence* pFence)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateFence(VkDevice device, const VkFenceCreateInfo *pCreateInfo,
+              const VkAllocationCallbacks *pAllocator, VkFence *pFence) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -551,8 +578,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateFence(VkDevice device, cons
     return disp->CreateFence(device, pCreateInfo, pAllocator, pFence);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyFence(VkDevice device, VkFence fence, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyFence(VkDevice device, VkFence fence,
+               const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -560,8 +588,8 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyFence(VkDevice device, VkFence
     disp->DestroyFence(device, fence, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkResetFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -569,8 +597,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetFences(VkDevice device, uint
     return disp->ResetFences(device, fenceCount, pFences);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(VkDevice device, VkFence fence)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetFenceStatus(VkDevice device, VkFence fence) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -578,8 +606,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetFenceStatus(VkDevice device, V
     return disp->GetFenceStatus(device, fence);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence* pFences, VkBool32 waitAll, uint64_t timeout)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkWaitForFences(VkDevice device, uint32_t fenceCount, const VkFence *pFences,
+                VkBool32 waitAll, uint64_t timeout) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -587,8 +616,10 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkWaitForFences(VkDevice device, ui
     return disp->WaitForFences(device, fenceCount, pFences, waitAll, timeout);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSemaphore* pSemaphore)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateSemaphore(VkDevice device, const VkSemaphoreCreateInfo *pCreateInfo,
+                  const VkAllocationCallbacks *pAllocator,
+                  VkSemaphore *pSemaphore) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -596,8 +627,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateSemaphore(VkDevice device,
     return disp->CreateSemaphore(device, pCreateInfo, pAllocator, pSemaphore);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroySemaphore(VkDevice device, VkSemaphore semaphore,
+                   const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -605,8 +637,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroySemaphore(VkDevice device, VkS
     disp->DestroySemaphore(device, semaphore, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(VkDevice device, const VkEventCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkEvent* pEvent)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateEvent(VkDevice device, const VkEventCreateInfo *pCreateInfo,
+              const VkAllocationCallbacks *pAllocator, VkEvent *pEvent) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -614,8 +647,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateEvent(VkDevice device, cons
     return disp->CreateEvent(device, pCreateInfo, pAllocator, pEvent);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(VkDevice device, VkEvent event, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyEvent(VkDevice device, VkEvent event,
+               const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -623,8 +657,8 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyEvent(VkDevice device, VkEvent
     disp->DestroyEvent(device, event, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(VkDevice device, VkEvent event)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetEventStatus(VkDevice device, VkEvent event) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -632,8 +666,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetEventStatus(VkDevice device, V
     return disp->GetEventStatus(device, event);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(VkDevice device, VkEvent event)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkSetEvent(VkDevice device, VkEvent event) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -641,8 +675,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkSetEvent(VkDevice device, VkEvent
     return disp->SetEvent(device, event);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(VkDevice device, VkEvent event)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkResetEvent(VkDevice device, VkEvent event) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -650,8 +684,10 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetEvent(VkDevice device, VkEve
     return disp->ResetEvent(device, event);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkQueryPool* pQueryPool)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateQueryPool(VkDevice device, const VkQueryPoolCreateInfo *pCreateInfo,
+                  const VkAllocationCallbacks *pAllocator,
+                  VkQueryPool *pQueryPool) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -659,8 +695,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateQueryPool(VkDevice device,
     return disp->CreateQueryPool(device, pCreateInfo, pAllocator, pQueryPool);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyQueryPool(VkDevice device, VkQueryPool queryPool,
+                   const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -668,17 +705,22 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyQueryPool(VkDevice device, VkQ
     disp->DestroyQueryPool(device, queryPool, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetQueryPoolResults(VkDevice device, VkQueryPool queryPool,
+                      uint32_t firstQuery, uint32_t queryCount, size_t dataSize,
+                      void *pData, VkDeviceSize stride,
+                      VkQueryResultFlags flags) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->GetQueryPoolResults(device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags);
+    return disp->GetQueryPoolResults(device, queryPool, firstQuery, queryCount,
+                                     dataSize, pData, stride, flags);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(VkDevice device, const VkBufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBuffer* pBuffer)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateBuffer(VkDevice device, const VkBufferCreateInfo *pCreateInfo,
+               const VkAllocationCallbacks *pAllocator, VkBuffer *pBuffer) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -686,8 +728,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateBuffer(VkDevice device, con
     return disp->CreateBuffer(device, pCreateInfo, pAllocator, pBuffer);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(VkDevice device, VkBuffer buffer, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyBuffer(VkDevice device, VkBuffer buffer,
+                const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -695,8 +738,10 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyBuffer(VkDevice device, VkBuff
     disp->DestroyBuffer(device, buffer, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkBufferView* pView)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateBufferView(VkDevice device, const VkBufferViewCreateInfo *pCreateInfo,
+                   const VkAllocationCallbacks *pAllocator,
+                   VkBufferView *pView) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -704,8 +749,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferView(VkDevice device,
     return disp->CreateBufferView(device, pCreateInfo, pAllocator, pView);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyBufferView(VkDevice device, VkBufferView bufferView,
+                    const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -713,8 +759,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyBufferView(VkDevice device, Vk
     disp->DestroyBufferView(device, bufferView, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(VkDevice device, const VkImageCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImage* pImage)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateImage(VkDevice device, const VkImageCreateInfo *pCreateInfo,
+              const VkAllocationCallbacks *pAllocator, VkImage *pImage) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -722,8 +769,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateImage(VkDevice device, cons
     return disp->CreateImage(device, pCreateInfo, pAllocator, pImage);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyImage(VkDevice device, VkImage image, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyImage(VkDevice device, VkImage image,
+               const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -731,8 +779,10 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyImage(VkDevice device, VkImage
     disp->DestroyImage(device, image, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(VkDevice device, VkImage image, const VkImageSubresource* pSubresource, VkSubresourceLayout* pLayout)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetImageSubresourceLayout(VkDevice device, VkImage image,
+                            const VkImageSubresource *pSubresource,
+                            VkSubresourceLayout *pLayout) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -740,8 +790,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetImageSubresourceLayout(VkDevice de
     disp->GetImageSubresourceLayout(device, image, pSubresource, pLayout);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(VkDevice device, const VkImageViewCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkImageView* pView)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateImageView(VkDevice device, const VkImageViewCreateInfo *pCreateInfo,
+                  const VkAllocationCallbacks *pAllocator, VkImageView *pView) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -749,8 +800,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateImageView(VkDevice device,
     return disp->CreateImageView(device, pCreateInfo, pAllocator, pView);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(VkDevice device, VkImageView imageView, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyImageView(VkDevice device, VkImageView imageView,
+                   const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -758,8 +810,11 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyImageView(VkDevice device, VkI
     disp->DestroyImageView(device, imageView, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(VkDevice device, const VkShaderModuleCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkShaderModule* pShader)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateShaderModule(VkDevice device,
+                     const VkShaderModuleCreateInfo *pCreateInfo,
+                     const VkAllocationCallbacks *pAllocator,
+                     VkShaderModule *pShader) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -767,8 +822,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateShaderModule(VkDevice devic
     return disp->CreateShaderModule(device, pCreateInfo, pAllocator, pShader);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyShaderModule(VkDevice device, VkShaderModule shaderModule,
+                      const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -776,17 +832,22 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyShaderModule(VkDevice device,
     disp->DestroyShaderModule(device, shaderModule, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineCache(VkDevice device, const VkPipelineCacheCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineCache* pPipelineCache)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreatePipelineCache(VkDevice device,
+                      const VkPipelineCacheCreateInfo *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkPipelineCache *pPipelineCache) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreatePipelineCache(device, pCreateInfo, pAllocator, pPipelineCache);
+    return disp->CreatePipelineCache(device, pCreateInfo, pAllocator,
+                                     pPipelineCache);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyPipelineCache(VkDevice device, VkPipelineCache pipelineCache,
+                       const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -794,8 +855,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineCache(VkDevice device,
     disp->DestroyPipelineCache(device, pipelineCache, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache, size_t* pDataSize, void* pData)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetPipelineCacheData(VkDevice device, VkPipelineCache pipelineCache,
+                       size_t *pDataSize, void *pData) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -803,35 +865,49 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPipelineCacheData(VkDevice dev
     return disp->GetPipelineCacheData(device, pipelineCache, pDataSize, pData);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache* pSrcCaches)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkMergePipelineCaches(VkDevice device, VkPipelineCache dstCache,
+                      uint32_t srcCacheCount,
+                      const VkPipelineCache *pSrcCaches) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->MergePipelineCaches(device, dstCache, srcCacheCount, pSrcCaches);
+    return disp->MergePipelineCaches(device, dstCache, srcCacheCount,
+                                     pSrcCaches);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkGraphicsPipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateGraphicsPipelines(VkDevice device, VkPipelineCache pipelineCache,
+                          uint32_t createInfoCount,
+                          const VkGraphicsPipelineCreateInfo *pCreateInfos,
+                          const VkAllocationCallbacks *pAllocator,
+                          VkPipeline *pPipelines) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreateGraphicsPipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
+    return disp->CreateGraphicsPipelines(device, pipelineCache, createInfoCount,
+                                         pCreateInfos, pAllocator, pPipelines);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache, uint32_t createInfoCount, const VkComputePipelineCreateInfo* pCreateInfos, const VkAllocationCallbacks* pAllocator, VkPipeline* pPipelines)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateComputePipelines(VkDevice device, VkPipelineCache pipelineCache,
+                         uint32_t createInfoCount,
+                         const VkComputePipelineCreateInfo *pCreateInfos,
+                         const VkAllocationCallbacks *pAllocator,
+                         VkPipeline *pPipelines) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreateComputePipelines(device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines);
+    return disp->CreateComputePipelines(device, pipelineCache, createInfoCount,
+                                        pCreateInfos, pAllocator, pPipelines);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyPipeline(VkDevice device, VkPipeline pipeline,
+                  const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -839,17 +915,22 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyPipeline(VkDevice device, VkPi
     disp->DestroyPipeline(device, pipeline, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreatePipelineLayout(VkDevice device, const VkPipelineLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkPipelineLayout* pPipelineLayout)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreatePipelineLayout(VkDevice device,
+                       const VkPipelineLayoutCreateInfo *pCreateInfo,
+                       const VkAllocationCallbacks *pAllocator,
+                       VkPipelineLayout *pPipelineLayout) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreatePipelineLayout(device, pCreateInfo, pAllocator, pPipelineLayout);
+    return disp->CreatePipelineLayout(device, pCreateInfo, pAllocator,
+                                      pPipelineLayout);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyPipelineLayout(VkDevice device, VkPipelineLayout pipelineLayout,
+                        const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -857,8 +938,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyPipelineLayout(VkDevice device
     disp->DestroyPipelineLayout(device, pipelineLayout, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(VkDevice device, const VkSamplerCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkSampler* pSampler)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateSampler(VkDevice device, const VkSamplerCreateInfo *pCreateInfo,
+                const VkAllocationCallbacks *pAllocator, VkSampler *pSampler) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -866,8 +948,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateSampler(VkDevice device, co
     return disp->CreateSampler(device, pCreateInfo, pAllocator, pSampler);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroySampler(VkDevice device, VkSampler sampler, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroySampler(VkDevice device, VkSampler sampler,
+                 const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -875,18 +958,23 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroySampler(VkDevice device, VkSam
     disp->DestroySampler(device, sampler, pAllocator);
 }
 
-
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorSetLayout(VkDevice device, const VkDescriptorSetLayoutCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorSetLayout* pSetLayout)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateDescriptorSetLayout(VkDevice device,
+                            const VkDescriptorSetLayoutCreateInfo *pCreateInfo,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkDescriptorSetLayout *pSetLayout) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreateDescriptorSetLayout(device, pCreateInfo, pAllocator, pSetLayout);
+    return disp->CreateDescriptorSetLayout(device, pCreateInfo, pAllocator,
+                                           pSetLayout);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(VkDevice device, VkDescriptorSetLayout descriptorSetLayout, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyDescriptorSetLayout(VkDevice device,
+                             VkDescriptorSetLayout descriptorSetLayout,
+                             const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -894,17 +982,22 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorSetLayout(VkDevice d
     disp->DestroyDescriptorSetLayout(device, descriptorSetLayout, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateDescriptorPool(VkDevice device, const VkDescriptorPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkDescriptorPool* pDescriptorPool)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateDescriptorPool(VkDevice device,
+                       const VkDescriptorPoolCreateInfo *pCreateInfo,
+                       const VkAllocationCallbacks *pAllocator,
+                       VkDescriptorPool *pDescriptorPool) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreateDescriptorPool(device, pCreateInfo, pAllocator, pDescriptorPool);
+    return disp->CreateDescriptorPool(device, pCreateInfo, pAllocator,
+                                      pDescriptorPool);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool,
+                        const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -912,9 +1005,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyDescriptorPool(VkDevice device
     disp->DestroyDescriptorPool(device, descriptorPool, pAllocator);
 }
 
-
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkResetDescriptorPool(VkDevice device, VkDescriptorPool descriptorPool,
+                      VkDescriptorPoolResetFlags flags) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -922,8 +1015,10 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetDescriptorPool(VkDevice devi
     return disp->ResetDescriptorPool(device, descriptorPool, flags);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(VkDevice device, const VkDescriptorSetAllocateInfo* pAllocateInfo, VkDescriptorSet* pDescriptorSets)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkAllocateDescriptorSets(VkDevice device,
+                         const VkDescriptorSetAllocateInfo *pAllocateInfo,
+                         VkDescriptorSet *pDescriptorSets) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -931,35 +1026,46 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAllocateDescriptorSets(VkDevice d
     return disp->AllocateDescriptorSets(device, pAllocateInfo, pDescriptorSets);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkFreeDescriptorSets(VkDevice device, VkDescriptorPool descriptorPool,
+                     uint32_t descriptorSetCount,
+                     const VkDescriptorSet *pDescriptorSets) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->FreeDescriptorSets(device, descriptorPool, descriptorSetCount, pDescriptorSets);
+    return disp->FreeDescriptorSets(device, descriptorPool, descriptorSetCount,
+                                    pDescriptorSets);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount, const VkWriteDescriptorSet* pDescriptorWrites, uint32_t descriptorCopyCount, const VkCopyDescriptorSet* pDescriptorCopies)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkUpdateDescriptorSets(VkDevice device, uint32_t descriptorWriteCount,
+                       const VkWriteDescriptorSet *pDescriptorWrites,
+                       uint32_t descriptorCopyCount,
+                       const VkCopyDescriptorSet *pDescriptorCopies) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    disp->UpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies);
+    disp->UpdateDescriptorSets(device, descriptorWriteCount, pDescriptorWrites,
+                               descriptorCopyCount, pDescriptorCopies);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkFramebuffer* pFramebuffer)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateFramebuffer(VkDevice device, const VkFramebufferCreateInfo *pCreateInfo,
+                    const VkAllocationCallbacks *pAllocator,
+                    VkFramebuffer *pFramebuffer) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreateFramebuffer(device, pCreateInfo, pAllocator, pFramebuffer);
+    return disp->CreateFramebuffer(device, pCreateInfo, pAllocator,
+                                   pFramebuffer);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyFramebuffer(VkDevice device, VkFramebuffer framebuffer,
+                     const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -967,8 +1073,10 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyFramebuffer(VkDevice device, V
     disp->DestroyFramebuffer(device, framebuffer, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkRenderPass* pRenderPass)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateRenderPass(VkDevice device, const VkRenderPassCreateInfo *pCreateInfo,
+                   const VkAllocationCallbacks *pAllocator,
+                   VkRenderPass *pRenderPass) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -976,8 +1084,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateRenderPass(VkDevice device,
     return disp->CreateRenderPass(device, pCreateInfo, pAllocator, pRenderPass);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyRenderPass(VkDevice device, VkRenderPass renderPass,
+                    const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -985,8 +1094,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyRenderPass(VkDevice device, Vk
     disp->DestroyRenderPass(device, renderPass, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass, VkExtent2D* pGranularity)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkGetRenderAreaGranularity(VkDevice device, VkRenderPass renderPass,
+                           VkExtent2D *pGranularity) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -994,17 +1104,21 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkGetRenderAreaGranularity(VkDevice dev
     disp->GetRenderAreaGranularity(device, renderPass, pGranularity);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkCommandPool* pCommandPool)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateCommandPool(VkDevice device, const VkCommandPoolCreateInfo *pCreateInfo,
+                    const VkAllocationCallbacks *pAllocator,
+                    VkCommandPool *pCommandPool) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    return disp->CreateCommandPool(device, pCreateInfo, pAllocator, pCommandPool);
+    return disp->CreateCommandPool(device, pCreateInfo, pAllocator,
+                                   pCommandPool);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks* pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroyCommandPool(VkDevice device, VkCommandPool commandPool,
+                     const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -1012,8 +1126,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroyCommandPool(VkDevice device, V
     disp->DestroyCommandPool(device, commandPool, pAllocator);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkResetCommandPool(VkDevice device, VkCommandPool commandPool,
+                   VkCommandPoolResetFlags flags) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
@@ -1021,11 +1136,10 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandPool(VkDevice device,
     return disp->ResetCommandPool(device, commandPool, flags);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
-        VkDevice device,
-        const VkCommandBufferAllocateInfo* pAllocateInfo,
-        VkCommandBuffer* pCommandBuffers)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkAllocateCommandBuffers(VkDevice device,
+                         const VkCommandBufferAllocateInfo *pAllocateInfo,
+                         VkCommandBuffer *pCommandBuffers) {
     const VkLayerDispatchTable *disp;
     VkResult res;
 
@@ -1033,7 +1147,7 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
 
     res = disp->AllocateCommandBuffers(device, pAllocateInfo, pCommandBuffers);
     if (res == VK_SUCCESS) {
-        for (uint32_t i =0; i < pAllocateInfo->commandBufferCount; i++) {
+        for (uint32_t i = 0; i < pAllocateInfo->commandBufferCount; i++) {
             if (pCommandBuffers[i]) {
                 loader_init_dispatch(pCommandBuffers[i], disp);
             }
@@ -1043,21 +1157,21 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAllocateCommandBuffers(
     return res;
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkFreeCommandBuffers(
-        VkDevice                                device,
-        VkCommandPool                               commandPool,
-        uint32_t                                commandBufferCount,
-        const VkCommandBuffer*                      pCommandBuffers)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkFreeCommandBuffers(VkDevice device, VkCommandPool commandPool,
+                     uint32_t commandBufferCount,
+                     const VkCommandBuffer *pCommandBuffers) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(device);
 
-    disp->FreeCommandBuffers(device, commandPool, commandBufferCount, pCommandBuffers);
+    disp->FreeCommandBuffers(device, commandPool, commandBufferCount,
+                             pCommandBuffers);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo* pBeginInfo)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkBeginCommandBuffer(VkCommandBuffer commandBuffer,
+                     const VkCommandBufferBeginInfo *pBeginInfo) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1065,8 +1179,8 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkBeginCommandBuffer(VkCommandBuffe
     return disp->BeginCommandBuffer(commandBuffer, pBeginInfo);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(VkCommandBuffer commandBuffer)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkEndCommandBuffer(VkCommandBuffer commandBuffer) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1074,8 +1188,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkEndCommandBuffer(VkCommandBuffer
     return disp->EndCommandBuffer(commandBuffer);
 }
 
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkResetCommandBuffer(VkCommandBuffer commandBuffer,
+                     VkCommandBufferResetFlags flags) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1083,8 +1198,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkResetCommandBuffer(VkCommandBuffe
     return disp->ResetCommandBuffer(commandBuffer, flags);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdBindPipeline(VkCommandBuffer commandBuffer,
+                  VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1092,17 +1208,20 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBindPipeline(VkCommandBuffer comma
     disp->CmdBindPipeline(commandBuffer, pipelineBindPoint, pipeline);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport* pViewports)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetViewport(VkCommandBuffer commandBuffer, uint32_t firstViewport,
+                 uint32_t viewportCount, const VkViewport *pViewports) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdSetViewport(commandBuffer, firstViewport, viewportCount, pViewports);
+    disp->CmdSetViewport(commandBuffer, firstViewport, viewportCount,
+                         pViewports);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D* pScissors)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetScissor(VkCommandBuffer commandBuffer, uint32_t firstScissor,
+                uint32_t scissorCount, const VkRect2D *pScissors) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1110,8 +1229,8 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetScissor(VkCommandBuffer command
     disp->CmdSetScissor(commandBuffer, firstScissor, scissorCount, pScissors);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetLineWidth(VkCommandBuffer commandBuffer, float lineWidth) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1119,17 +1238,20 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetLineWidth(VkCommandBuffer comma
     disp->CmdSetLineWidth(commandBuffer, lineWidth);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetDepthBias(VkCommandBuffer commandBuffer, float depthBiasConstantFactor,
+                  float depthBiasClamp, float depthBiasSlopeFactor) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdSetDepthBias(commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor);
+    disp->CmdSetDepthBias(commandBuffer, depthBiasConstantFactor,
+                          depthBiasClamp, depthBiasSlopeFactor);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(VkCommandBuffer commandBuffer, const float blendConstants[4])
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetBlendConstants(VkCommandBuffer commandBuffer,
+                       const float blendConstants[4]) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1137,8 +1259,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetBlendConstants(VkCommandBuffer
     disp->CmdSetBlendConstants(commandBuffer, blendConstants);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetDepthBounds(VkCommandBuffer commandBuffer, float minDepthBounds,
+                    float maxDepthBounds) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1146,8 +1269,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetDepthBounds(VkCommandBuffer com
     disp->CmdSetDepthBounds(commandBuffer, minDepthBounds, maxDepthBounds);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer,
+                           VkStencilFaceFlags faceMask, uint32_t compareMask) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1155,8 +1279,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilCompareMask(VkCommandBuf
     disp->CmdSetStencilCompareMask(commandBuffer, faceMask, compareMask);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer,
+                         VkStencilFaceFlags faceMask, uint32_t writeMask) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1164,8 +1289,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilWriteMask(VkCommandBuffe
     disp->CmdSetStencilWriteMask(commandBuffer, faceMask, writeMask);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetStencilReference(VkCommandBuffer commandBuffer,
+                         VkStencilFaceFlags faceMask, uint32_t reference) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1173,17 +1299,23 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetStencilReference(VkCommandBuffe
     disp->CmdSetStencilReference(commandBuffer, faceMask, reference);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const VkDescriptorSet* pDescriptorSets, uint32_t dynamicOffsetCount, const uint32_t* pDynamicOffsets)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBindDescriptorSets(
+    VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint,
+    VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount,
+    const VkDescriptorSet *pDescriptorSets, uint32_t dynamicOffsetCount,
+    const uint32_t *pDynamicOffsets) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
+    disp->CmdBindDescriptorSets(commandBuffer, pipelineBindPoint, layout,
+                                firstSet, descriptorSetCount, pDescriptorSets,
+                                dynamicOffsetCount, pDynamicOffsets);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                     VkDeviceSize offset, VkIndexType indexType) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1191,35 +1323,45 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBindIndexBuffer(VkCommandBuffer co
     disp->CmdBindIndexBuffer(commandBuffer, buffer, offset, indexType);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding, uint32_t bindingCount, const VkBuffer* pBuffers, const VkDeviceSize* pOffsets)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer, uint32_t firstBinding,
+                       uint32_t bindingCount, const VkBuffer *pBuffers,
+                       const VkDeviceSize *pOffsets) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets);
+    disp->CmdBindVertexBuffers(commandBuffer, firstBinding, bindingCount,
+                               pBuffers, pOffsets);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount,
+          uint32_t instanceCount, uint32_t firstVertex,
+          uint32_t firstInstance) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance);
+    disp->CmdDraw(commandBuffer, vertexCount, instanceCount, firstVertex,
+                  firstInstance);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount,
+                 uint32_t instanceCount, uint32_t firstIndex,
+                 int32_t vertexOffset, uint32_t firstInstance) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance);
+    disp->CmdDrawIndexed(commandBuffer, indexCount, instanceCount, firstIndex,
+                         vertexOffset, firstInstance);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdDrawIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                  VkDeviceSize offset, uint32_t drawCount, uint32_t stride) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1227,17 +1369,21 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndirect(VkCommandBuffer comma
     disp->CmdDrawIndirect(commandBuffer, buffer, offset, drawCount, stride);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                         VkDeviceSize offset, uint32_t drawCount,
+                         uint32_t stride) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount, stride);
+    disp->CmdDrawIndexedIndirect(commandBuffer, buffer, offset, drawCount,
+                                 stride);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t x, uint32_t y, uint32_t z)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdDispatch(VkCommandBuffer commandBuffer, uint32_t x, uint32_t y,
+              uint32_t z) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1245,8 +1391,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDispatch(VkCommandBuffer commandBu
     disp->CmdDispatch(commandBuffer, x, y, z);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdDispatchIndirect(VkCommandBuffer commandBuffer, VkBuffer buffer,
+                      VkDeviceSize offset) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1254,53 +1401,74 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdDispatchIndirect(VkCommandBuffer c
     disp->CmdDispatchIndirect(commandBuffer, buffer, offset);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdCopyBuffer(VkCommandBuffer commandBuffer, VkBuffer srcBuffer,
+                VkBuffer dstBuffer, uint32_t regionCount,
+                const VkBufferCopy *pRegions) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions);
+    disp->CmdCopyBuffer(commandBuffer, srcBuffer, dstBuffer, regionCount,
+                        pRegions);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageCopy* pRegions)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdCopyImage(VkCommandBuffer commandBuffer, VkImage srcImage,
+               VkImageLayout srcImageLayout, VkImage dstImage,
+               VkImageLayout dstImageLayout, uint32_t regionCount,
+               const VkImageCopy *pRegions) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
+    disp->CmdCopyImage(commandBuffer, srcImage, srcImageLayout, dstImage,
+                       dstImageLayout, regionCount, pRegions);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageBlit* pRegions, VkFilter filter)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdBlitImage(VkCommandBuffer commandBuffer, VkImage srcImage,
+               VkImageLayout srcImageLayout, VkImage dstImage,
+               VkImageLayout dstImageLayout, uint32_t regionCount,
+               const VkImageBlit *pRegions, VkFilter filter) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter);
+    disp->CmdBlitImage(commandBuffer, srcImage, srcImageLayout, dstImage,
+                       dstImageLayout, regionCount, pRegions, filter);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer, VkBuffer srcBuffer,
+                       VkImage dstImage, VkImageLayout dstImageLayout,
+                       uint32_t regionCount,
+                       const VkBufferImageCopy *pRegions) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions);
+    disp->CmdCopyBufferToImage(commandBuffer, srcBuffer, dstImage,
+                               dstImageLayout, regionCount, pRegions);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer, VkImage srcImage,
+                       VkImageLayout srcImageLayout, VkBuffer dstBuffer,
+                       uint32_t regionCount,
+                       const VkBufferImageCopy *pRegions) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions);
+    disp->CmdCopyImageToBuffer(commandBuffer, srcImage, srcImageLayout,
+                               dstBuffer, regionCount, pRegions);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const uint32_t* pData)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdUpdateBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer,
+                  VkDeviceSize dstOffset, VkDeviceSize dataSize,
+                  const uint32_t *pData) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1308,8 +1476,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdUpdateBuffer(VkCommandBuffer comma
     disp->CmdUpdateBuffer(commandBuffer, dstBuffer, dstOffset, dataSize, pData);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdFillBuffer(VkCommandBuffer commandBuffer, VkBuffer dstBuffer,
+                VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1317,44 +1486,61 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdFillBuffer(VkCommandBuffer command
     disp->CmdFillBuffer(commandBuffer, dstBuffer, dstOffset, size, data);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdClearColorImage(VkCommandBuffer commandBuffer, VkImage image,
+                     VkImageLayout imageLayout, const VkClearColorValue *pColor,
+                     uint32_t rangeCount,
+                     const VkImageSubresourceRange *pRanges) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdClearColorImage(commandBuffer, image, imageLayout, pColor, rangeCount, pRanges);
+    disp->CmdClearColorImage(commandBuffer, image, imageLayout, pColor,
+                             rangeCount, pRanges);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer, VkImage image,
+                            VkImageLayout imageLayout,
+                            const VkClearDepthStencilValue *pDepthStencil,
+                            uint32_t rangeCount,
+                            const VkImageSubresourceRange *pRanges) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdClearDepthStencilImage(commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges);
+    disp->CmdClearDepthStencilImage(commandBuffer, image, imageLayout,
+                                    pDepthStencil, rangeCount, pRanges);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkClearAttachment* pAttachments, uint32_t rectCount, const VkClearRect* pRects)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdClearAttachments(VkCommandBuffer commandBuffer, uint32_t attachmentCount,
+                      const VkClearAttachment *pAttachments, uint32_t rectCount,
+                      const VkClearRect *pRects) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdClearAttachments(commandBuffer, attachmentCount, pAttachments, rectCount, pRects);
+    disp->CmdClearAttachments(commandBuffer, attachmentCount, pAttachments,
+                              rectCount, pRects);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* pRegions)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdResolveImage(VkCommandBuffer commandBuffer, VkImage srcImage,
+                  VkImageLayout srcImageLayout, VkImage dstImage,
+                  VkImageLayout dstImageLayout, uint32_t regionCount,
+                  const VkImageResolve *pRegions) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions);
+    disp->CmdResolveImage(commandBuffer, srcImage, srcImageLayout, dstImage,
+                          dstImageLayout, regionCount, pRegions);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdSetEvent(VkCommandBuffer commandBuffer, VkEvent event,
+              VkPipelineStageFlags stageMask) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1362,8 +1548,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdSetEvent(VkCommandBuffer commandBu
     disp->CmdSetEvent(commandBuffer, event, stageMask);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdResetEvent(VkCommandBuffer commandBuffer, VkEvent event,
+                VkPipelineStageFlags stageMask) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1371,19 +1558,15 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdResetEvent(VkCommandBuffer command
     disp->CmdResetEvent(commandBuffer, event, stageMask);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
-                                VkCommandBuffer commandBuffer,
-                                uint32_t eventCount,
-                                const VkEvent* pEvents,
-                                VkPipelineStageFlags sourceStageMask,
-                                VkPipelineStageFlags dstStageMask,
-                                uint32_t memoryBarrierCount,
-                                const VkMemoryBarrier* pMemoryBarriers,
-                                uint32_t bufferMemoryBarrierCount,
-                                const VkBufferMemoryBarrier* pBufferMemoryBarriers,
-                                uint32_t imageMemoryBarrierCount,
-                                const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdWaitEvents(VkCommandBuffer commandBuffer, uint32_t eventCount,
+                const VkEvent *pEvents, VkPipelineStageFlags sourceStageMask,
+                VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount,
+                const VkMemoryBarrier *pMemoryBarriers,
+                uint32_t bufferMemoryBarrierCount,
+                const VkBufferMemoryBarrier *pBufferMemoryBarriers,
+                uint32_t imageMemoryBarrierCount,
+                const VkImageMemoryBarrier *pImageMemoryBarriers) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1395,29 +1578,26 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdWaitEvents(
 }
 
 LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdPipelineBarrier(
-                                VkCommandBuffer commandBuffer,
-                                VkPipelineStageFlags srcStageMask,
-                                VkPipelineStageFlags dstStageMask,
-                                VkDependencyFlags dependencyFlags,
-                                uint32_t memoryBarrierCount,
-                                const VkMemoryBarrier* pMemoryBarriers,
-                                uint32_t bufferMemoryBarrierCount,
-                                const VkBufferMemoryBarrier* pBufferMemoryBarriers,
-                                uint32_t imageMemoryBarrierCount,
-                                const VkImageMemoryBarrier* pImageMemoryBarriers)
-{
+    VkCommandBuffer commandBuffer, VkPipelineStageFlags srcStageMask,
+    VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags,
+    uint32_t memoryBarrierCount, const VkMemoryBarrier *pMemoryBarriers,
+    uint32_t bufferMemoryBarrierCount,
+    const VkBufferMemoryBarrier *pBufferMemoryBarriers,
+    uint32_t imageMemoryBarrierCount,
+    const VkImageMemoryBarrier *pImageMemoryBarriers) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdPipelineBarrier(commandBuffer, srcStageMask, dstStageMask,
-                             dependencyFlags, memoryBarrierCount, pMemoryBarriers,
-                             bufferMemoryBarrierCount, pBufferMemoryBarriers,
-                             imageMemoryBarrierCount, pImageMemoryBarriers);
+    disp->CmdPipelineBarrier(
+        commandBuffer, srcStageMask, dstStageMask, dependencyFlags,
+        memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount,
+        pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t slot, VkFlags flags)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdBeginQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool,
+                uint32_t slot, VkFlags flags) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1425,8 +1605,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBeginQuery(VkCommandBuffer command
     disp->CmdBeginQuery(commandBuffer, queryPool, slot, flags);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t slot)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdEndQuery(VkCommandBuffer commandBuffer, VkQueryPool queryPool,
+              uint32_t slot) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1434,8 +1615,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdEndQuery(VkCommandBuffer commandBu
     disp->CmdEndQuery(commandBuffer, queryPool, slot);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdResetQueryPool(VkCommandBuffer commandBuffer, VkQueryPool queryPool,
+                    uint32_t firstQuery, uint32_t queryCount) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1443,8 +1625,10 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdResetQueryPool(VkCommandBuffer com
     disp->CmdResetQueryPool(commandBuffer, queryPool, firstQuery, queryCount);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(VkCommandBuffer commandBuffer, VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t slot)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdWriteTimestamp(VkCommandBuffer commandBuffer,
+                    VkPipelineStageFlagBits pipelineStage,
+                    VkQueryPool queryPool, uint32_t slot) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1452,26 +1636,36 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdWriteTimestamp(VkCommandBuffer com
     disp->CmdWriteTimestamp(commandBuffer, pipelineStage, queryPool, slot);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkFlags flags)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VkQueryPool queryPool,
+                          uint32_t firstQuery, uint32_t queryCount,
+                          VkBuffer dstBuffer, VkDeviceSize dstOffset,
+                          VkDeviceSize stride, VkFlags flags) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags);
+    disp->CmdCopyQueryPoolResults(commandBuffer, queryPool, firstQuery,
+                                  queryCount, dstBuffer, dstOffset, stride,
+                                  flags);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const void* pValues)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdPushConstants(VkCommandBuffer commandBuffer, VkPipelineLayout layout,
+                   VkShaderStageFlags stageFlags, uint32_t offset,
+                   uint32_t size, const void *pValues) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdPushConstants(commandBuffer, layout, stageFlags, offset, size, pValues);
+    disp->CmdPushConstants(commandBuffer, layout, stageFlags, offset, size,
+                           pValues);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(VkCommandBuffer commandBuffer, const VkRenderPassBeginInfo* pRenderPassBegin, VkSubpassContents contents)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdBeginRenderPass(VkCommandBuffer commandBuffer,
+                     const VkRenderPassBeginInfo *pRenderPassBegin,
+                     VkSubpassContents contents) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1479,8 +1673,8 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdBeginRenderPass(VkCommandBuffer co
     disp->CmdBeginRenderPass(commandBuffer, pRenderPassBegin, contents);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdNextSubpass(VkCommandBuffer commandBuffer, VkSubpassContents contents) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1488,8 +1682,8 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdNextSubpass(VkCommandBuffer comman
     disp->CmdNextSubpass(commandBuffer, contents);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(VkCommandBuffer commandBuffer)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdEndRenderPass(VkCommandBuffer commandBuffer) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
@@ -1497,11 +1691,14 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdEndRenderPass(VkCommandBuffer comm
     disp->CmdEndRenderPass(commandBuffer);
 }
 
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkCmdExecuteCommands(VkCommandBuffer commandBuffer, uint32_t commandBuffersCount, const VkCommandBuffer* pCommandBuffers)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkCmdExecuteCommands(VkCommandBuffer commandBuffer,
+                     uint32_t commandBuffersCount,
+                     const VkCommandBuffer *pCommandBuffers) {
     const VkLayerDispatchTable *disp;
 
     disp = loader_get_dispatch(commandBuffer);
 
-    disp->CmdExecuteCommands(commandBuffer, commandBuffersCount, pCommandBuffers);
+    disp->CmdExecuteCommands(commandBuffer, commandBuffersCount,
+                             pCommandBuffers);
 }
index be04656..ee8a701 100755 (executable)
@@ -1,24 +1,31 @@
 #!/usr/bin/env python3
 #
-# Copyright (C) 2015 Valve Corporation
+# Copyright (c) 2015-2016 The Khronos Group Inc.
+# Copyright (c) 2015-2016 Valve Corporation
+# Copyright (c) 2015-2016 LunarG, Inc.
 #
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and/or associated documentation files (the "Materials"), to
+# deal in the Materials without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Materials, and to permit persons to whom the Materials are
+# furnished to do so, subject to the following conditions:
 #
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
+# The above copyright notice(s) and this permission notice shall be included in
+# all copies or substantial portions of the Materials.
 #
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# The Materials are Confidential Information as defined by the Khronos
+# Membership Agreement until designated non-confidential by Khronos, at which
+# point this condition clause shall be removed.
+#
+# THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-# DEALINGS IN THE SOFTWARE.
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+#
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+# OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+# USE OR OTHER DEALINGS IN THE MATERIALS.Copyright (C) 2015 Valve Corporation
 #
 # Author: Jon Ashburn <jon@lunarg.com>
 #
@@ -89,27 +96,32 @@ class Subcommand(object):
         return """/* THIS FILE IS GENERATED.  DO NOT EDIT. */
 
 /*
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
  *
- * Copyright (C) 2015 Valve Corporation
- * All Rights Reserved.
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
  * Author: Jon Ashburn <jon@lunarg.com>
  * Author: Chia-I Wu <olv@lunarg.com>
@@ -342,27 +354,33 @@ class WinDefFileSubcommand(Subcommand):
         return """; THIS FILE IS GENERATED.  DO NOT EDIT.
 
 ;;;; Begin Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Vulkan
+; Copyright (c) 2015-2016 The Khronos Group Inc.
+; Copyright (c) 2015-2016 Valve Corporation
+; Copyright (c) 2015-2016 LunarG, Inc.
 ;
-; Copyright (C) 2015 Valve Corporation
+; Permission is hereby granted, free of charge, to any person obtaining a copy
+; of this software and/or associated documentation files (the "Materials"), to
+; deal in the Materials without restriction, including without limitation the
+; rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+; sell copies of the Materials, and to permit persons to whom the Materials are
+; furnished to do so, subject to the following conditions:
 ;
-; Permission is hereby granted, free of charge, to any person obtaining a
-; copy of this software and associated documentation files (the "Software"),
-; to deal in the Software without restriction, including without limitation
-; the rights to use, copy, modify, merge, publish, distribute, sublicense,
-; and/or sell copies of the Software, and to permit persons to whom the
-; Software is furnished to do so, subject to the following conditions:
+; The above copyright notice(s) and this permission notice shall be included in
+; all copies or substantial portions of the Materials.
 ;
-; The above copyright notice and this permission notice shall be included
-; in all copies or substantial portions of the Software.
+; The Materials are Confidential Information as defined by the Khronos
+; Membership Agreement until designated non-confidential by Khronos, at which
+; point this condition clause shall be removed.
 ;
-; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+; THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 ; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-; THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-; DEALINGS IN THE SOFTWARE.
+; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+;
+; IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+; DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+; OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+; USE OR OTHER DEALINGS IN THE MATERIALS.
+;
 ;
 ;  Author: Jon Ashburn <jon@lunarg.com>
 ;;;;  End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"""
index 52d90a3..7a3f08c 100644 (file)
@@ -1,30 +1,34 @@
 /*
  *
- * Copyright (C) 2015 Valve Corporation
- * Copyright 2014 Valve Software
- * Copyright (C) 2015 Google Inc.
- * All Rights Reserved.
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
+ *
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
- * Author: James Jones <jajones@nvidia.com>
- * Author: Tobin Ehlis <tobin@lunarg.com>
+ * Author: Ian Elliot <ian@lunarg.com>
+ * Author: Jon Ashburn <jon@lunarg.com>
  *
  */
 #pragma once
 #define PATH_SEPERATOR ':'
 #define DIRECTORY_SYMBOL '/'
 
-#define VULKAN_ICDCONF_DIR "/" "vulkan" "/" "icd.d"
-#define VULKAN_ICD_DIR "/" "vulkan" "/" "icd"
-#define VULKAN_ELAYERCONF_DIR "/" "vulkan" "/" "explicit_layer.d"
-#define VULKAN_ILAYERCONF_DIR "/" "vulkan" "/" "implicit_layer.d"
-#define VULKAN_LAYER_DIR "/" "vulkan" "/" "layer"
+#define VULKAN_ICDCONF_DIR                                                     \
+    "/"                                                                        \
+    "vulkan"                                                                   \
+    "/"                                                                        \
+    "icd.d"
+#define VULKAN_ICD_DIR                                                         \
+    "/"                                                                        \
+    "vulkan"                                                                   \
+    "/"                                                                        \
+    "icd"
+#define VULKAN_ELAYERCONF_DIR                                                  \
+    "/"                                                                        \
+    "vulkan"                                                                   \
+    "/"                                                                        \
+    "explicit_layer.d"
+#define VULKAN_ILAYERCONF_DIR                                                  \
+    "/"                                                                        \
+    "vulkan"                                                                   \
+    "/"                                                                        \
+    "implicit_layer.d"
+#define VULKAN_LAYER_DIR                                                       \
+    "/"                                                                        \
+    "vulkan"                                                                   \
+    "/"                                                                        \
+    "layer"
 
 #if defined(LOCALPREFIX)
-#define LOCAL_DRIVERS_INFO \
-    LOCALPREFIX "/" SYSCONFDIR VULKAN_ICDCONF_DIR ":" \
-    LOCALPREFIX "/" DATADIR VULKAN_ICDCONF_DIR ":"
-#define LOCAL_ELAYERS_INFO \
-    LOCALPREFIX "/" SYSCONFDIR VULKAN_ELAYERCONF_DIR ":" \
-    LOCALPREFIX "/" DATADIR VULKAN_ELAYERCONF_DIR ":"
-#define LOCAL_ILAYERS_INFO \
-    LOCALPREFIX "/" SYSCONFDIR VULKAN_ILAYERCONF_DIR ":" \
-    LOCALPREFIX "/" DATADIR VULKAN_ILAYERCONF_DIR ":"
+#define LOCAL_DRIVERS_INFO                                                     \
+    LOCALPREFIX "/" SYSCONFDIR VULKAN_ICDCONF_DIR ":" LOCALPREFIX              \
+                "/" DATADIR VULKAN_ICDCONF_DIR ":"
+#define LOCAL_ELAYERS_INFO                                                     \
+    LOCALPREFIX "/" SYSCONFDIR VULKAN_ELAYERCONF_DIR ":" LOCALPREFIX           \
+                "/" DATADIR VULKAN_ELAYERCONF_DIR ":"
+#define LOCAL_ILAYERS_INFO                                                     \
+    LOCALPREFIX "/" SYSCONFDIR VULKAN_ILAYERCONF_DIR ":" LOCALPREFIX           \
+                "/" DATADIR VULKAN_ILAYERCONF_DIR ":"
 #else
 #define LOCAL_DRIVERS_INFO
 #define LOCAL_ELAYERS_INFO
 #define LOCAL_ILAYERS_INFO
 #endif
 
-#define DEFAULT_VK_DRIVERS_INFO \
-    LOCAL_DRIVERS_INFO \
-    "/" SYSCONFDIR VULKAN_ICDCONF_DIR ":" \
+#define DEFAULT_VK_DRIVERS_INFO                                                \
+    LOCAL_DRIVERS_INFO                                                         \
+    "/" SYSCONFDIR VULKAN_ICDCONF_DIR ":"                                      \
     "/usr/" DATADIR VULKAN_ICDCONF_DIR
 #define DEFAULT_VK_DRIVERS_PATH ""
-#define DEFAULT_VK_ELAYERS_INFO \
-    LOCAL_ELAYERS_INFO \
-    "/" SYSCONFDIR VULKAN_ELAYERCONF_DIR ":" \
+#define DEFAULT_VK_ELAYERS_INFO                                                \
+    LOCAL_ELAYERS_INFO                                                         \
+    "/" SYSCONFDIR VULKAN_ELAYERCONF_DIR ":"                                   \
     "/usr/" DATADIR VULKAN_ELAYERCONF_DIR ":"
-#define DEFAULT_VK_ILAYERS_INFO \
-    LOCAL_ILAYERS_INFO \
-    "/" SYSCONFDIR VULKAN_ILAYERCONF_DIR ":" \
+#define DEFAULT_VK_ILAYERS_INFO                                                \
+    LOCAL_ILAYERS_INFO                                                         \
+    "/" SYSCONFDIR VULKAN_ILAYERCONF_DIR ":"                                   \
     "/usr/" DATADIR VULKAN_ILAYERCONF_DIR
 #define DEFAULT_VK_LAYERS_PATH ""
 #define LAYERS_PATH_ENV "VK_LAYER_PATH"
 
 // C99:
-#define PRINTF_SIZE_T_SPECIFIER    "%zu"
+#define PRINTF_SIZE_T_SPECIFIER "%zu"
 
 // File IO
-static inline bool loader_platform_file_exists(const char *path)
-{
+static inline bool loader_platform_file_exists(const char *path) {
     if (access(path, F_OK))
         return false;
     else
         return true;
 }
 
-static inline bool loader_platform_is_path_absolute(const char *path)
-{
+static inline bool loader_platform_is_path_absolute(const char *path) {
     if (path[0] == '/')
         return true;
     else
         return false;
 }
 
-static inline char *loader_platform_dirname(char *path)
-{
+static inline char *loader_platform_dirname(char *path) {
     return dirname(path);
 }
 
 // Environment variables
 
-static inline char *loader_getenv(const char *name)
-{
-    return getenv(name);
-}
+static inline char *loader_getenv(const char *name) { return getenv(name); }
 
-static inline void loader_free_getenv(const char *val)
-{
-}
+static inline void loader_free_getenv(const char *val) {}
 
 // Dynamic Loading of libraries:
-typedef void * loader_platform_dl_handle;
-static inline loader_platform_dl_handle loader_platform_open_library(const char* libPath)
-{
+typedef void *loader_platform_dl_handle;
+static inline loader_platform_dl_handle
+loader_platform_open_library(const char *libPath) {
     return dlopen(libPath, RTLD_LAZY | RTLD_LOCAL);
 }
-static inline const char * loader_platform_open_library_error(const char* libPath)
-{
+static inline const char *
+loader_platform_open_library_error(const char *libPath) {
     return dlerror();
 }
-static inline void loader_platform_close_library(loader_platform_dl_handle library)
-{
+static inline void
+loader_platform_close_library(loader_platform_dl_handle library) {
     dlclose(library);
 }
-static inline void * loader_platform_get_proc_address(loader_platform_dl_handle library,
-                                                      const char *name)
-{
+static inline void *
+loader_platform_get_proc_address(loader_platform_dl_handle library,
+                                 const char *name) {
     assert(library);
     assert(name);
     return dlsym(library, name);
 }
-static inline const char * loader_platform_get_proc_address_error(const char *name)
-{
+static inline const char *
+loader_platform_get_proc_address_error(const char *name) {
     return dlerror();
 }
 
 // Threads:
 typedef pthread_t loader_platform_thread;
 #define THREAD_LOCAL_DECL __thread
-#define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var) \
+#define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var)                           \
     pthread_once_t var = PTHREAD_ONCE_INIT;
-#define LOADER_PLATFORM_THREAD_ONCE_DEFINITION(var) \
-    pthread_once_t var;
-static inline void loader_platform_thread_once(pthread_once_t *ctl, void (* func) (void))
-{
+#define LOADER_PLATFORM_THREAD_ONCE_DEFINITION(var) pthread_once_t var;
+static inline void loader_platform_thread_once(pthread_once_t *ctl,
+                                               void (*func)(void)) {
     assert(func != NULL);
     assert(ctl != NULL);
     pthread_once(ctl, func);
@@ -173,40 +188,40 @@ static inline void loader_platform_thread_once(pthread_once_t *ctl, void (* func
 
 // Thread IDs:
 typedef pthread_t loader_platform_thread_id;
-static inline loader_platform_thread_id loader_platform_get_thread_id()
-{
+static inline loader_platform_thread_id loader_platform_get_thread_id() {
     return pthread_self();
 }
 
 // Thread mutex:
 typedef pthread_mutex_t loader_platform_thread_mutex;
-static inline void loader_platform_thread_create_mutex(loader_platform_thread_mutex* pMutex)
-{
+static inline void
+loader_platform_thread_create_mutex(loader_platform_thread_mutex *pMutex) {
     pthread_mutex_init(pMutex, NULL);
 }
-static inline void loader_platform_thread_lock_mutex(loader_platform_thread_mutex* pMutex)
-{
+static inline void
+loader_platform_thread_lock_mutex(loader_platform_thread_mutex *pMutex) {
     pthread_mutex_lock(pMutex);
 }
-static inline void loader_platform_thread_unlock_mutex(loader_platform_thread_mutex* pMutex)
-{
+static inline void
+loader_platform_thread_unlock_mutex(loader_platform_thread_mutex *pMutex) {
     pthread_mutex_unlock(pMutex);
 }
-static inline void loader_platform_thread_delete_mutex(loader_platform_thread_mutex* pMutex)
-{
+static inline void
+loader_platform_thread_delete_mutex(loader_platform_thread_mutex *pMutex) {
     pthread_mutex_destroy(pMutex);
 }
 typedef pthread_cond_t loader_platform_thread_cond;
-static inline void loader_platform_thread_init_cond(loader_platform_thread_cond* pCond)
-{
+static inline void
+loader_platform_thread_init_cond(loader_platform_thread_cond *pCond) {
     pthread_cond_init(pCond, NULL);
 }
-static inline void loader_platform_thread_cond_wait(loader_platform_thread_cond* pCond, loader_platform_thread_mutex* pMutex)
-{
+static inline void
+loader_platform_thread_cond_wait(loader_platform_thread_cond *pCond,
+                                 loader_platform_thread_mutex *pMutex) {
     pthread_cond_wait(pCond, pMutex);
 }
-static inline void loader_platform_thread_cond_broadcast(loader_platform_thread_cond* pCond)
-{
+static inline void
+loader_platform_thread_cond_broadcast(loader_platform_thread_cond *pCond) {
     pthread_cond_broadcast(pCond);
 }
 
@@ -246,25 +261,22 @@ using namespace std;
 #define DEFAULT_VK_LAYERS_PATH "C:\\Windows\\System32;C:\\Windows\\SysWow64"
 #define LAYERS_PATH_ENV "VK_LAYER_PATH"
 
-#define PRINTF_SIZE_T_SPECIFIER    "%Iu"
+#define PRINTF_SIZE_T_SPECIFIER "%Iu"
 
 // File IO
-static bool loader_platform_file_exists(const char *path)
-{
+static bool loader_platform_file_exists(const char *path) {
     if ((_access(path, 0)) == -1)
         return false;
     else
         return true;
 }
 
-static bool loader_platform_is_path_absolute(const char *path)
-{
+static bool loader_platform_is_path_absolute(const char *path) {
     return !PathIsRelative(path);
 }
 
 // WIN32 runtime doesn't have dirname().
-static inline char *loader_platform_dirname(char *path)
-{
+static inline char *loader_platform_dirname(char *path) {
     char *current, *next;
 
     // TODO/TBD: Do we need to deal with the Windows's ":" character?
@@ -287,13 +299,12 @@ static inline char *loader_platform_dirname(char *path)
 // Microsoft also doesn't have basename().  Paths are different on Windows, and
 // so this is just a temporary solution in order to get us compiling, so that we
 // can test some scenarios, and develop the correct solution for Windows.
-  // TODO: Develop a better, permanent solution for Windows, to replace this
-  // temporary code:
-static char *loader_platform_basename(char *pathname)
-{
+// TODO: Develop a better, permanent solution for Windows, to replace this
+// temporary code:
+static char *loader_platform_basename(char *pathname) {
     char *current, *next;
 
-// TODO/TBD: Do we need to deal with the Windows's ":" character?
+    // TODO/TBD: Do we need to deal with the Windows's ":" character?
 
     for (current = pathname; *current != '\0'; current = next) {
         next = strchr(current, DIRECTORY_SYMBOL);
@@ -311,8 +322,7 @@ static char *loader_platform_basename(char *pathname)
 
 // Environment variables
 
-static inline char *loader_getenv(const char *name)
-{
+static inline char *loader_getenv(const char *name) {
     char *retVal;
     DWORD valSize;
 
@@ -323,7 +333,7 @@ static inline char *loader_getenv(const char *name)
     if (valSize == 0)
         return NULL;
 
-    //TODO; FIXME This should be using any app defined memory allocation
+    // TODO; FIXME This should be using any app defined memory allocation
     retVal = (char *)malloc(valSize);
 
     GetEnvironmentVariableA(name, retVal, valSize);
@@ -331,104 +341,95 @@ static inline char *loader_getenv(const char *name)
     return retVal;
 }
 
-static inline void loader_free_getenv(const char *val)
-{
-    free((void *)val);
-}
+static inline void loader_free_getenv(const char *val) { free((void *)val); }
 
 // Dynamic Loading:
 typedef HMODULE loader_platform_dl_handle;
-static loader_platform_dl_handle loader_platform_open_library(const char* libPath)
-{
+static loader_platform_dl_handle
+loader_platform_open_library(const char *libPath) {
     return LoadLibrary(libPath);
 }
-static char * loader_platform_open_library_error(const char* libPath)
-{
+static char *loader_platform_open_library_error(const char *libPath) {
     static char errorMsg[120];
     snprintf(errorMsg, 119, "Failed to open dynamic library \"%s\"", libPath);
     return errorMsg;
 }
-static void loader_platform_close_library(loader_platform_dl_handle library)
-{
+static void loader_platform_close_library(loader_platform_dl_handle library) {
     FreeLibrary(library);
 }
-static void * loader_platform_get_proc_address(loader_platform_dl_handle library,
-                                               const char *name)
-{
+static void *loader_platform_get_proc_address(loader_platform_dl_handle library,
+                                              const char *name) {
     assert(library);
     assert(name);
     return GetProcAddress(library, name);
 }
-static char * loader_platform_get_proc_address_error(const char *name)
-{
+static char *loader_platform_get_proc_address_error(const char *name) {
     static char errorMsg[120];
-    snprintf(errorMsg, 119, "Failed to find function \"%s\" in dynamic library", name);
+    snprintf(errorMsg, 119, "Failed to find function \"%s\" in dynamic library",
+             name);
     return errorMsg;
 }
 
 // Threads:
 typedef HANDLE loader_platform_thread;
 #define THREAD_LOCAL_DECL __declspec(thread)
-#define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var) \
+#define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var)                           \
     INIT_ONCE var = INIT_ONCE_STATIC_INIT;
-#define LOADER_PLATFORM_THREAD_ONCE_DEFINITION(var) \
-    INIT_ONCE var;
-static BOOL CALLBACK InitFuncWrapper(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context)
-{
+#define LOADER_PLATFORM_THREAD_ONCE_DEFINITION(var) INIT_ONCE var;
+static BOOL CALLBACK
+InitFuncWrapper(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context) {
     void (*func)(void) = (void (*)(void))Parameter;
     func();
     return TRUE;
 }
 
-static void loader_platform_thread_once(void *ctl, void (* func) (void))
-{
+static void loader_platform_thread_once(void *ctl, void (*func)(void)) {
     assert(func != NULL);
     assert(ctl != NULL);
-    InitOnceExecuteOnce((PINIT_ONCE) ctl, InitFuncWrapper, func, NULL);
+    InitOnceExecuteOnce((PINIT_ONCE)ctl, InitFuncWrapper, func, NULL);
 }
 
 // Thread IDs:
 typedef DWORD loader_platform_thread_id;
-static loader_platform_thread_id loader_platform_get_thread_id()
-{
+static loader_platform_thread_id loader_platform_get_thread_id() {
     return GetCurrentThreadId();
 }
 
 // Thread mutex:
 typedef CRITICAL_SECTION loader_platform_thread_mutex;
-static void loader_platform_thread_create_mutex(loader_platform_thread_mutex* pMutex)
-{
+static void
+loader_platform_thread_create_mutex(loader_platform_thread_mutex *pMutex) {
     InitializeCriticalSection(pMutex);
 }
-static void loader_platform_thread_lock_mutex(loader_platform_thread_mutex* pMutex)
-{
+static void
+loader_platform_thread_lock_mutex(loader_platform_thread_mutex *pMutex) {
     EnterCriticalSection(pMutex);
 }
-static void loader_platform_thread_unlock_mutex(loader_platform_thread_mutex* pMutex)
-{
+static void
+loader_platform_thread_unlock_mutex(loader_platform_thread_mutex *pMutex) {
     LeaveCriticalSection(pMutex);
 }
-static void loader_platform_thread_delete_mutex(loader_platform_thread_mutex* pMutex)
-{
+static void
+loader_platform_thread_delete_mutex(loader_platform_thread_mutex *pMutex) {
     DeleteCriticalSection(pMutex);
 }
 typedef CONDITION_VARIABLE loader_platform_thread_cond;
-static void loader_platform_thread_init_cond(loader_platform_thread_cond* pCond)
-{
+static void
+loader_platform_thread_init_cond(loader_platform_thread_cond *pCond) {
     InitializeConditionVariable(pCond);
 }
-static void loader_platform_thread_cond_wait(loader_platform_thread_cond* pCond, loader_platform_thread_mutex* pMutex)
-{
+static void
+loader_platform_thread_cond_wait(loader_platform_thread_cond *pCond,
+                                 loader_platform_thread_mutex *pMutex) {
     SleepConditionVariableCS(pCond, pMutex, INFINITE);
 }
-static void loader_platform_thread_cond_broadcast(loader_platform_thread_cond* pCond)
-{
+static void
+loader_platform_thread_cond_broadcast(loader_platform_thread_cond *pCond) {
     WakeAllConditionVariable(pCond);
 }
 
 // Windows Registry:
-char *loader_get_registry_string(const HKEY hive,
-                                 const LPCTSTR sub_key,
+char *loader_get_registry_string(const HKEY hive, const LPCTSTR sub_key,
                                  const char *value);
 
 #define loader_stack_alloc(size) _alloca(size)
@@ -447,7 +448,6 @@ char *loader_get_registry_string(const HKEY hive,
 
 // returns true if the given string appears to be a relative or absolute
 // path, as opposed to a bare filename.
-static inline bool loader_platform_is_path(const char *path)
-{
+static inline bool loader_platform_is_path(const char *path) {
     return strchr(path, DIRECTORY_SYMBOL) != NULL;
 }
index d482d54..43ca83f 100644 (file)
@@ -1,27 +1,35 @@
 /*
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
  *
- * Copyright (C) 2015 Valve Corporation
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
  * Author: Ian Elliott <ian@lunarg.com>
+ * Author: Jon Ashburn <jon@lunarg.com>
  * Author: Ian Elliott <ianelliott@google.com>
+ * Author: Mark Lobodzinski <mark@lunarg.com>
  */
 
 //#define _ISOC11_SOURCE /* for aligned_alloc() */
 #include <vulkan/vk_icd.h>
 
 static const VkExtensionProperties wsi_surface_extension_info = {
-        .extensionName = VK_KHR_SURFACE_EXTENSION_NAME,
-        .specVersion = VK_KHR_SURFACE_SPEC_VERSION,
+    .extensionName = VK_KHR_SURFACE_EXTENSION_NAME,
+    .specVersion = VK_KHR_SURFACE_SPEC_VERSION,
 };
 
 #ifdef VK_USE_PLATFORM_WIN32_KHR
 static const VkExtensionProperties wsi_win32_surface_extension_info = {
-        .extensionName = VK_KHR_WIN32_SURFACE_EXTENSION_NAME,
-        .specVersion = VK_KHR_WIN32_SURFACE_SPEC_VERSION,
+    .extensionName = VK_KHR_WIN32_SURFACE_EXTENSION_NAME,
+    .specVersion = VK_KHR_WIN32_SURFACE_SPEC_VERSION,
 };
 #endif // VK_USE_PLATFORM_WIN32_KHR
 
 #ifdef VK_USE_PLATFORM_MIR_KHR
 static const VkExtensionProperties wsi_mir_surface_extension_info = {
-        .extensionName = VK_KHR_MIR_SURFACE_EXTENSION_NAME,
-        .specVersion = VK_KHR_MIR_SURFACE_SPEC_VERSION,
+    .extensionName = VK_KHR_MIR_SURFACE_EXTENSION_NAME,
+    .specVersion = VK_KHR_MIR_SURFACE_SPEC_VERSION,
 };
 #endif // VK_USE_PLATFORM_MIR_KHR
 
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
 static const VkExtensionProperties wsi_wayland_surface_extension_info = {
-        .extensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
-        .specVersion = VK_KHR_WAYLAND_SURFACE_SPEC_VERSION,
+    .extensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
+    .specVersion = VK_KHR_WAYLAND_SURFACE_SPEC_VERSION,
 };
 #endif // VK_USE_PLATFORM_WAYLAND_KHR
 
 #ifdef VK_USE_PLATFORM_XCB_KHR
 static const VkExtensionProperties wsi_xcb_surface_extension_info = {
-        .extensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME,
-        .specVersion = VK_KHR_XCB_SURFACE_SPEC_VERSION,
+    .extensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME,
+    .specVersion = VK_KHR_XCB_SURFACE_SPEC_VERSION,
 };
 #endif // VK_USE_PLATFORM_XCB_KHR
 
 #ifdef VK_USE_PLATFORM_XLIB_KHR
 static const VkExtensionProperties wsi_xlib_surface_extension_info = {
-        .extensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
-        .specVersion = VK_KHR_XLIB_SURFACE_SPEC_VERSION,
+    .extensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
+    .specVersion = VK_KHR_XLIB_SURFACE_SPEC_VERSION,
 };
 #endif // VK_USE_PLATFORM_XLIB_KHR
 
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
 static const VkExtensionProperties wsi_android_surface_extension_info = {
-        .extensionName = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,
-        .specVersion = VK_KHR_ANDROID_SURFACE_REVISION,
+    .extensionName = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME,
+    .specVersion = VK_KHR_ANDROID_SURFACE_REVISION,
 };
 #endif // VK_USE_PLATFORM_ANDROID_KHR
 
-void wsi_add_instance_extensions(
-        const struct loader_instance *inst,
-        struct loader_extension_list *ext_list)
-{
+void wsi_add_instance_extensions(const struct loader_instance *inst,
+                                 struct loader_extension_list *ext_list) {
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_surface_extension_info);
 #ifdef VK_USE_PLATFORM_WIN32_KHR
-    loader_add_to_ext_list(inst, ext_list, 1, &wsi_win32_surface_extension_info);
+    loader_add_to_ext_list(inst, ext_list, 1,
+                           &wsi_win32_surface_extension_info);
 #endif // VK_USE_PLATFORM_WIN32_KHR
 #ifdef VK_USE_PLATFORM_MIR_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_mir_surface_extension_info);
 #endif // VK_USE_PLATFORM_MIR_KHR
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    loader_add_to_ext_list(inst, ext_list, 1, &wsi_wayland_surface_extension_info);
+    loader_add_to_ext_list(inst, ext_list, 1,
+                           &wsi_wayland_surface_extension_info);
 #endif // VK_USE_PLATFORM_WAYLAND_KHR
 #ifdef VK_USE_PLATFORM_XCB_KHR
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_xcb_surface_extension_info);
@@ -101,14 +109,13 @@ void wsi_add_instance_extensions(
     loader_add_to_ext_list(inst, ext_list, 1, &wsi_xlib_surface_extension_info);
 #endif // VK_USE_PLATFORM_XLIB_KHR
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
-    loader_add_to_ext_list(inst, ext_list, 1, &wsi_android_surface_extension_info);
+    loader_add_to_ext_list(inst, ext_list, 1,
+                           &wsi_android_surface_extension_info);
 #endif // VK_USE_PLATFORM_ANDROID_KHR
 }
 
-void wsi_create_instance(
-        struct loader_instance *ptr_instance,
-        const VkInstanceCreateInfo *pCreateInfo)
-{
+void wsi_create_instance(struct loader_instance *ptr_instance,
+                         const VkInstanceCreateInfo *pCreateInfo) {
     ptr_instance->wsi_surface_enabled = false;
 
 #ifdef VK_USE_PLATFORM_WIN32_KHR
@@ -131,42 +138,49 @@ void wsi_create_instance(
 #endif // VK_USE_PLATFORM_ANDROID_KHR
 
     for (uint32_t i = 0; i < pCreateInfo->enabledExtensionCount; i++) {
-        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_SURFACE_EXTENSION_NAME) == 0) {
+        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
+                   VK_KHR_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_surface_enabled = true;
             continue;
         }
 #ifdef VK_USE_PLATFORM_WIN32_KHR
-        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_WIN32_SURFACE_EXTENSION_NAME) == 0) {
+        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
+                   VK_KHR_WIN32_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_win32_surface_enabled = true;
             continue;
         }
 #endif // VK_USE_PLATFORM_WIN32_KHR
 #ifdef VK_USE_PLATFORM_MIR_KHR
-        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_MIR_SURFACE_EXTENSION_NAME) == 0) {
+        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
+                   VK_KHR_MIR_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_mir_surface_enabled = true;
             continue;
         }
 #endif // VK_USE_PLATFORM_MIR_KHR
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
-        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME) == 0) {
+        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
+                   VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_wayland_surface_enabled = true;
             continue;
         }
 #endif // VK_USE_PLATFORM_WAYLAND_KHR
 #ifdef VK_USE_PLATFORM_XCB_KHR
-        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XCB_SURFACE_EXTENSION_NAME) == 0) {
+        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
+                   VK_KHR_XCB_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_xcb_surface_enabled = true;
             continue;
         }
 #endif // VK_USE_PLATFORM_XCB_KHR
 #ifdef VK_USE_PLATFORM_XLIB_KHR
-        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_XLIB_SURFACE_EXTENSION_NAME) == 0) {
+        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
+                   VK_KHR_XLIB_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_xlib_surface_enabled = true;
             continue;
         }
 #endif // VK_USE_PLATFORM_XLIB_KHR
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
-        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i], VK_KHR_ANDROID_SURFACE_EXTENSION_NAME) == 0) {
+        if (strcmp(pCreateInfo->ppEnabledExtensionNames[i],
+                   VK_KHR_ANDROID_SURFACE_EXTENSION_NAME) == 0) {
             ptr_instance->wsi_android_surface_enabled = true;
             continue;
         }
@@ -182,11 +196,9 @@ void wsi_create_instance(
  * This is the trampoline entrypoint
  * for DestroySurfaceKHR
  */
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
-    VkInstance                                   instance,
-    VkSurfaceKHR                                 surface,
-    const VkAllocationCallbacks*                 pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface,
+                    const VkAllocationCallbacks *pAllocator) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(instance);
     disp->DestroySurfaceKHR(instance, surface, pAllocator);
@@ -196,11 +208,9 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroySurfaceKHR(
  * This is the instance chain terminator function
  * for DestroySurfaceKHR
  */
-VKAPI_ATTR void VKAPI_CALL loader_DestroySurfaceKHR(
-    VkInstance                                   instance,
-    VkSurfaceKHR                                 surface,
-    const VkAllocationCallbacks*                 pAllocator)
-{
+VKAPI_ATTR void VKAPI_CALL
+loader_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface,
+                         const VkAllocationCallbacks *pAllocator) {
     struct loader_instance *ptr_instance = loader_get_instance(instance);
 
     loader_heap_free(ptr_instance, (void *)surface);
@@ -210,19 +220,15 @@ VKAPI_ATTR void VKAPI_CALL loader_DestroySurfaceKHR(
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceSurfaceSupportKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    VkSurfaceKHR                                surface,
-    VkBool32*                                   pSupported)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,
+                                     uint32_t queueFamilyIndex,
+                                     VkSurfaceKHR surface,
+                                     VkBool32 *pSupported) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkResult res = disp->GetPhysicalDeviceSurfaceSupportKHR(
-                                                      physicalDevice,
-                                                      queueFamilyIndex,
-                                                      surface,
-                                                      pSupported);
+        physicalDevice, queueFamilyIndex, surface, pSupported);
     return res;
 }
 
@@ -230,41 +236,38 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceSupportKH
  * This is the instance chain terminator function
  * for GetPhysicalDeviceSurfaceSupportKHR
  */
-VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    VkSurfaceKHR                                surface,
-    VkBool32*                                   pSupported)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,
+                                          uint32_t queueFamilyIndex,
+                                          VkSurfaceKHR surface,
+                                          VkBool32 *pSupported) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(pSupported && "GetPhysicalDeviceSurfaceSupportKHR: Error, null pSupported");
+    assert(pSupported &&
+           "GetPhysicalDeviceSurfaceSupportKHR: Error, null pSupported");
     *pSupported = false;
 
-    assert(icd->GetPhysicalDeviceSurfaceSupportKHR && "loader: null GetPhysicalDeviceSurfaceSupportKHR ICD pointer");
+    assert(icd->GetPhysicalDeviceSurfaceSupportKHR &&
+           "loader: null GetPhysicalDeviceSurfaceSupportKHR ICD pointer");
 
-    return icd->GetPhysicalDeviceSurfaceSupportKHR(phys_dev->phys_dev,
-                                                   queueFamilyIndex,
-                                                   surface,
-                                                   pSupported);
+    return icd->GetPhysicalDeviceSurfaceSupportKHR(
+        phys_dev->phys_dev, queueFamilyIndex, surface, pSupported);
 }
 
 /*
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceSurfaceCapabilitiesKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    VkSurfaceCapabilitiesKHR*                   pSurfaceCapabilities)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
+    VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+    VkSurfaceCapabilitiesKHR *pSurfaceCapabilities) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkResult res = disp->GetPhysicalDeviceSurfaceCapabilitiesKHR(
-                                                      physicalDevice,
-                                                      surface,
-                                                      pSurfaceCapabilities);
+        physicalDevice, surface, pSurfaceCapabilities);
     return res;
 }
 
@@ -273,39 +276,35 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceCapabilit
  * for GetPhysicalDeviceSurfaceCapabilitiesKHR
  */
 VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceCapabilitiesKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    VkSurfaceCapabilitiesKHR*                   pSurfaceCapabilities)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+    VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+    VkSurfaceCapabilitiesKHR *pSurfaceCapabilities) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(pSurfaceCapabilities && "GetPhysicalDeviceSurfaceCapabilitiesKHR: Error, null pSurfaceCapabilities");
+    assert(pSurfaceCapabilities && "GetPhysicalDeviceSurfaceCapabilitiesKHR: "
+                                   "Error, null pSurfaceCapabilities");
 
-    assert(icd->GetPhysicalDeviceSurfaceCapabilitiesKHR && "loader: null GetPhysicalDeviceSurfaceCapabilitiesKHR ICD pointer");
+    assert(icd->GetPhysicalDeviceSurfaceCapabilitiesKHR &&
+           "loader: null GetPhysicalDeviceSurfaceCapabilitiesKHR ICD pointer");
 
-    return icd->GetPhysicalDeviceSurfaceCapabilitiesKHR(phys_dev->phys_dev,
-                                                      surface,
-                                                      pSurfaceCapabilities);
+    return icd->GetPhysicalDeviceSurfaceCapabilitiesKHR(
+        phys_dev->phys_dev, surface, pSurfaceCapabilities);
 }
 
 /*
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceSurfaceFormatsKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    uint32_t*                                   pSurfaceFormatCount,
-    VkSurfaceFormatKHR*                         pSurfaceFormats)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,
+                                     VkSurfaceKHR surface,
+                                     uint32_t *pSurfaceFormatCount,
+                                     VkSurfaceFormatKHR *pSurfaceFormats) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkResult res = disp->GetPhysicalDeviceSurfaceFormatsKHR(
-                                                      physicalDevice,
-                                                      surface,
-                                                      pSurfaceFormatCount,
-                                                      pSurfaceFormats);
+        physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats);
     return res;
 }
 
@@ -313,42 +312,39 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfaceFormatsKH
  * This is the instance chain terminator function
  * for GetPhysicalDeviceSurfaceFormatsKHR
  */
-VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceFormatsKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    uint32_t*                                   pSurfaceFormatCount,
-    VkSurfaceFormatKHR*                         pSurfaceFormats)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,
+                                          VkSurfaceKHR surface,
+                                          uint32_t *pSurfaceFormatCount,
+                                          VkSurfaceFormatKHR *pSurfaceFormats) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(pSurfaceFormatCount && "GetPhysicalDeviceSurfaceFormatsKHR: Error, null pSurfaceFormatCount");
+    assert(
+        pSurfaceFormatCount &&
+        "GetPhysicalDeviceSurfaceFormatsKHR: Error, null pSurfaceFormatCount");
 
-    assert(icd->GetPhysicalDeviceSurfaceFormatsKHR && "loader: null GetPhysicalDeviceSurfaceFormatsKHR ICD pointer");
+    assert(icd->GetPhysicalDeviceSurfaceFormatsKHR &&
+           "loader: null GetPhysicalDeviceSurfaceFormatsKHR ICD pointer");
 
-    return icd->GetPhysicalDeviceSurfaceFormatsKHR(phys_dev->phys_dev,
-                                                      surface,
-                                                      pSurfaceFormatCount,
-                                                      pSurfaceFormats);
+    return icd->GetPhysicalDeviceSurfaceFormatsKHR(
+        phys_dev->phys_dev, surface, pSurfaceFormatCount, pSurfaceFormats);
 }
 
 /*
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceSurfacePresentModesKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentModesKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    uint32_t*                                   pPresentModeCount,
-    VkPresentModeKHR*                           pPresentModes)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,
+                                          VkSurfaceKHR surface,
+                                          uint32_t *pPresentModeCount,
+                                          VkPresentModeKHR *pPresentModes) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkResult res = disp->GetPhysicalDeviceSurfacePresentModesKHR(
-                                                      physicalDevice,
-                                                      surface,
-                                                      pPresentModeCount,
-                                                      pPresentModes);
+        physicalDevice, surface, pPresentModeCount, pPresentModes);
     return res;
 }
 
@@ -357,25 +353,22 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetPhysicalDeviceSurfacePresentMo
  * for GetPhysicalDeviceSurfacePresentModesKHR
  */
 VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfacePresentModesKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    uint32_t*                                   pPresentModeCount,
-    VkPresentModeKHR*                           pPresentModes)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+    VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+    uint32_t *pPresentModeCount, VkPresentModeKHR *pPresentModes) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(pPresentModeCount && "GetPhysicalDeviceSurfacePresentModesKHR: Error, null pPresentModeCount");
+    assert(pPresentModeCount && "GetPhysicalDeviceSurfacePresentModesKHR: "
+                                "Error, null pPresentModeCount");
 
-    assert(icd->GetPhysicalDeviceSurfacePresentModesKHR && "loader: null GetPhysicalDeviceSurfacePresentModesKHR ICD pointer");
+    assert(icd->GetPhysicalDeviceSurfacePresentModesKHR &&
+           "loader: null GetPhysicalDeviceSurfacePresentModesKHR ICD pointer");
 
-    return icd->GetPhysicalDeviceSurfacePresentModesKHR(phys_dev->phys_dev,
-                                                      surface,
-                                                      pPresentModeCount,
-                                                      pPresentModes);
+    return icd->GetPhysicalDeviceSurfacePresentModesKHR(
+        phys_dev->phys_dev, surface, pPresentModeCount, pPresentModes);
 }
 
-
 /*
  * Functions for the VK_KHR_swapchain extension:
  */
@@ -384,19 +377,15 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfacePresentModesKHR(
  * This is the trampoline entrypoint
  * for CreateSwapchainKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
-    VkDevice                                     device,
-    const VkSwapchainCreateInfoKHR*              pCreateInfo,
-    const VkAllocationCallbacks*                 pAllocator,
-    VkSwapchainKHR*                              pSwapchain)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateSwapchainKHR(VkDevice device,
+                     const VkSwapchainCreateInfoKHR *pCreateInfo,
+                     const VkAllocationCallbacks *pAllocator,
+                     VkSwapchainKHR *pSwapchain) {
     const VkLayerDispatchTable *disp;
     disp = loader_get_dispatch(device);
-    VkResult res = disp->CreateSwapchainKHR(
-                                            device,
-                                            pCreateInfo,
-                                            pAllocator,
-                                            pSwapchain);
+    VkResult res =
+        disp->CreateSwapchainKHR(device, pCreateInfo, pAllocator, pSwapchain);
     return res;
 }
 
@@ -404,11 +393,9 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateSwapchainKHR(
  * This is the trampoline entrypoint
  * for DestroySwapchainKHR
  */
-LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
-    VkDevice                                     device,
-    VkSwapchainKHR                               swapchain,
-    const VkAllocationCallbacks*                 pAllocator)
-{
+LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL
+vkDestroySwapchainKHR(VkDevice device, VkSwapchainKHR swapchain,
+                      const VkAllocationCallbacks *pAllocator) {
     const VkLayerDispatchTable *disp;
     disp = loader_get_dispatch(device);
     disp->DestroySwapchainKHR(device, swapchain, pAllocator);
@@ -418,19 +405,14 @@ LOADER_EXPORT VKAPI_ATTR void VKAPI_CALL vkDestroySwapchainKHR(
  * This is the trampoline entrypoint
  * for GetSwapchainImagesKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
-    VkDevice                                     device,
-    VkSwapchainKHR                               swapchain,
-    uint32_t*                                    pSwapchainImageCount,
-    VkImage*                                     pSwapchainImages)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkGetSwapchainImagesKHR(VkDevice device, VkSwapchainKHR swapchain,
+                        uint32_t *pSwapchainImageCount,
+                        VkImage *pSwapchainImages) {
     const VkLayerDispatchTable *disp;
     disp = loader_get_dispatch(device);
     VkResult res = disp->GetSwapchainImagesKHR(
-                                            device,
-                                            swapchain,
-                                            pSwapchainImageCount,
-                                            pSwapchainImages);
+        device, swapchain, pSwapchainImageCount, pSwapchainImages);
     return res;
 }
 
@@ -438,23 +420,14 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkGetSwapchainImagesKHR(
  * This is the trampoline entrypoint
  * for AcquireNextImageKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
-    VkDevice                                     device,
-    VkSwapchainKHR                               swapchain,
-    uint64_t                                     timeout,
-    VkSemaphore                                  semaphore,
-    VkFence                                      fence,
-    uint32_t*                                    pImageIndex)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkAcquireNextImageKHR(VkDevice device, VkSwapchainKHR swapchain,
+                      uint64_t timeout, VkSemaphore semaphore, VkFence fence,
+                      uint32_t *pImageIndex) {
     const VkLayerDispatchTable *disp;
     disp = loader_get_dispatch(device);
-    VkResult res = disp->AcquireNextImageKHR(
-                                            device,
-                                            swapchain,
-                                            timeout,
-                                            semaphore,
-                                            fence,
-                                            pImageIndex);
+    VkResult res = disp->AcquireNextImageKHR(device, swapchain, timeout,
+                                             semaphore, fence, pImageIndex);
     return res;
 }
 
@@ -462,17 +435,14 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkAcquireNextImageKHR(
  * This is the trampoline entrypoint
  * for QueuePresentKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
-    VkQueue                                      queue,
-    const VkPresentInfoKHR*                      pPresentInfo)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *pPresentInfo) {
     const VkLayerDispatchTable *disp;
     disp = loader_get_dispatch(queue);
     VkResult res = disp->QueuePresentKHR(queue, pPresentInfo);
     return res;
 }
 
-
 #ifdef VK_USE_PLATFORM_WIN32_KHR
 
 /*
@@ -483,17 +453,17 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkQueuePresentKHR(
  * This is the trampoline entrypoint
  * for CreateWin32SurfaceKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
-    VkInstance                                  instance,
-    const VkWin32SurfaceCreateInfoKHR*          pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateWin32SurfaceKHR(VkInstance instance,
+                        const VkWin32SurfaceCreateInfoKHR *pCreateInfo,
+                        const VkAllocationCallbacks *pAllocator,
+                        VkSurfaceKHR *pSurface) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(instance);
     VkResult res;
 
-    res = disp->CreateWin32SurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+    res = disp->CreateWin32SurfaceKHR(instance, pCreateInfo, pAllocator,
+                                      pSurface);
     return res;
 }
 
@@ -501,17 +471,15 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateWin32SurfaceKHR(
  * This is the instance chain terminator function
  * for CreateWin32SurfaceKHR
  */
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateWin32SurfaceKHR(
-    VkInstance                                  instance,
-    const VkWin32SurfaceCreateInfoKHR*          pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateWin32SurfaceKHR(VkInstance instance,
+                             const VkWin32SurfaceCreateInfoKHR *pCreateInfo,
+                             const VkAllocationCallbacks *pAllocator,
+                             VkSurfaceKHR *pSurface) {
     struct loader_instance *ptr_instance = loader_get_instance(instance);
     VkIcdSurfaceWin32 *pIcdSurface = NULL;
 
-    pIcdSurface = loader_heap_alloc(ptr_instance,
-                                    sizeof(VkIcdSurfaceWin32),
+    pIcdSurface = loader_heap_alloc(ptr_instance, sizeof(VkIcdSurfaceWin32),
                                     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (pIcdSurface == NULL) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -521,7 +489,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateWin32SurfaceKHR(
     pIcdSurface->hinstance = pCreateInfo->hinstance;
     pIcdSurface->hwnd = pCreateInfo->hwnd;
 
-    *pSurface = (VkSurfaceKHR) pIcdSurface;
+    *pSurface = (VkSurfaceKHR)pIcdSurface;
 
     return VK_SUCCESS;
 }
@@ -530,34 +498,33 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateWin32SurfaceKHR(
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceWin32PresentationSupportKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWin32PresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex)
-{
+LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL
+vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,
+                                               uint32_t queueFamilyIndex) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkBool32 res = disp->GetPhysicalDeviceWin32PresentationSupportKHR(
-                                                physicalDevice,
-                                                queueFamilyIndex);
+        physicalDevice, queueFamilyIndex);
     return res;
 }
 
-
 /*
  * This is the instance chain terminator function
  * for GetPhysicalDeviceWin32PresentationSupportKHR
  */
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceWin32PresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceWin32PresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(icd->GetPhysicalDeviceWin32PresentationSupportKHR && "loader: null GetPhysicalDeviceWin32PresentationSupportKHR ICD pointer");
+    assert(icd->GetPhysicalDeviceWin32PresentationSupportKHR &&
+           "loader: null GetPhysicalDeviceWin32PresentationSupportKHR ICD "
+           "pointer");
 
     return icd->GetPhysicalDeviceWin32PresentationSupportKHR(phys_dev->phys_dev,
-                                                queueFamilyIndex);
+                                                             queueFamilyIndex);
 }
 #endif // VK_USE_PLATFORM_WIN32_KHR
 
@@ -571,17 +538,17 @@ VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceWin32PresentationSupportK
  * This is the trampoline entrypoint
  * for CreateMirSurfaceKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(
-    VkInstance                                  instance,
-    const VkMirSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateMirSurfaceKHR(VkInstance instance,
+                      const VkMirSurfaceCreateInfoKHR *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkSurfaceKHR *pSurface) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(instance);
     VkResult res;
 
-    res = disp->CreateMirSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+    res =
+        disp->CreateMirSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
     return res;
 }
 
@@ -589,17 +556,15 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateMirSurfaceKHR(
  * This is the instance chain terminator function
  * for CreateMirSurfaceKHR
  */
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateMirSurfaceKHR(
-    VkInstance                                  instance,
-    const VkMirSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateMirSurfaceKHR(VkInstance instance,
+                           const VkMirSurfaceCreateInfoKHR *pCreateInfo,
+                           const VkAllocationCallbacks *pAllocator,
+                           VkSurfaceKHR *pSurface) {
     struct loader_instance *ptr_instance = loader_get_instance(instance);
     VkIcdSurfaceMir *pIcdSurface = NULL;
 
-    pIcdSurface = loader_heap_alloc(ptr_instance,
-                                    sizeof(VkIcdSurfaceMir),
+    pIcdSurface = loader_heap_alloc(ptr_instance, sizeof(VkIcdSurfaceMir),
                                     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (pIcdSurface == NULL) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -609,7 +574,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateMirSurfaceKHR(
     pIcdSurface->connection = pCreateInfo->connection;
     pIcdSurface->mirSurface = pCreateInfo->mirSurface;
 
-    *pSurface = (VkSurfaceKHR) pIcdSurface;
+    *pSurface = (VkSurfaceKHR)pIcdSurface;
 
     return VK_SUCCESS;
 }
@@ -618,38 +583,35 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateMirSurfaceKHR(
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceMirPresentationSupportKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceMirPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    MirConnection*                              connection)
-{
+LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL
+vkGetPhysicalDeviceMirPresentationSupportKHR(VkPhysicalDevice physicalDevice,
+                                             uint32_t queueFamilyIndex,
+                                             MirConnection *connection) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkBool32 res = disp->GetPhysicalDeviceMirPresentationSupportKHR(
-                                                physicalDevice,
-                                                queueFamilyIndex,
-                                                connection);
+        physicalDevice, queueFamilyIndex, connection);
     return res;
 }
 
-
 /*
  * This is the instance chain terminator function
  * for GetPhysicalDeviceMirPresentationSupportKHR
  */
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceMirPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    MirConnection*                              connection)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceMirPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+    MirConnection *connection) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(icd->GetPhysicalDeviceMirPresentationSupportKHR && "loader: null GetPhysicalDeviceMirPresentationSupportKHR ICD pointer");
+    assert(
+        icd->GetPhysicalDeviceMirPresentationSupportKHR &&
+        "loader: null GetPhysicalDeviceMirPresentationSupportKHR ICD pointer");
 
-    return icd->GetPhysicalDeviceMirPresentationSupportKHR(phys_dev->phys_dev,
-                                                queueFamilyIndex,
-                                                connection);
+    return icd->GetPhysicalDeviceMirPresentationSupportKHR(
+        phys_dev->phys_dev, queueFamilyIndex, connection);
 }
 #endif // VK_USE_PLATFORM_MIR_KHR
 
@@ -663,17 +625,17 @@ VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceMirPresentationSupportKHR
  * This is the trampoline entrypoint
  * for CreateWaylandSurfaceKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
-    VkInstance                                  instance,
-    const VkMirSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateWaylandSurfaceKHR(VkInstance instance,
+                          const VkMirSurfaceCreateInfoKHR *pCreateInfo,
+                          const VkAllocationCallbacks *pAllocator,
+                          VkSurfaceKHR *pSurface) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(instance);
     VkResult res;
 
-    res = disp->CreateWaylandSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+    res = disp->CreateWaylandSurfaceKHR(instance, pCreateInfo, pAllocator,
+                                        pSurface);
     return res;
 }
 
@@ -681,17 +643,15 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateWaylandSurfaceKHR(
  * This is the instance chain terminator function
  * for CreateXlibSurfaceKHR
  */
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateWaylandSurfaceKHR(
-    VkInstance                                  instance,
-    const VkMirSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateWaylandSurfaceKHR(VkInstance instance,
+                               const VkMirSurfaceCreateInfoKHR *pCreateInfo,
+                               const VkAllocationCallbacks *pAllocator,
+                               VkSurfaceKHR *pSurface) {
     struct loader_instance *ptr_instance = loader_get_instance(instance);
     VkIcdSurfaceWayland *pIcdSurface = NULL;
 
-    pIcdSurface = loader_heap_alloc(ptr_instance,
-                                    sizeof(VkIcdSurfaceWayland),
+    pIcdSurface = loader_heap_alloc(ptr_instance, sizeof(VkIcdSurfaceWayland),
                                     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (pIcdSurface == NULL) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -701,7 +661,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateWaylandSurfaceKHR(
     pIcdSurface->display = pCreateInfo->display;
     pIcdSurface->surface = pCreateInfo->surface;
 
-    *pSurface = (VkSurfaceKHR) pIcdSurface;
+    *pSurface = (VkSurfaceKHR)pIcdSurface;
 
     return VK_SUCCESS;
 }
@@ -710,38 +670,35 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateWaylandSurfaceKHR(
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceWaylandPresentationSupportKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceWaylandPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    struct wl_display*                          display)
-{
+LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL
+vkGetPhysicalDeviceWaylandPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+    struct wl_display *display) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkBool32 res = disp->GetPhysicalDeviceWaylandPresentationSupportKHR(
-                                                physicalDevice,
-                                                queueFamilyIndex,
-                                                display);
+        physicalDevice, queueFamilyIndex, display);
     return res;
 }
 
-
 /*
  * This is the instance chain terminator function
  * for GetPhysicalDeviceWaylandPresentationSupportKHR
  */
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceWaylandPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    struct wl_display*                          display)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceWaylandPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+    struct wl_display *display) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(icd->GetPhysicalDeviceWaylandPresentationSupportKHR && "loader: null GetPhysicalDeviceWaylandPresentationSupportKHR ICD pointer");
+    assert(icd->GetPhysicalDeviceWaylandPresentationSupportKHR &&
+           "loader: null GetPhysicalDeviceWaylandPresentationSupportKHR ICD "
+           "pointer");
 
-    return icd->GetPhysicalDeviceWaylandPresentationSupportKHR(phys_dev->phys_dev,
-                                                queueFamilyIndex,
-                                                display);
+    return icd->GetPhysicalDeviceWaylandPresentationSupportKHR(
+        phys_dev->phys_dev, queueFamilyIndex, display);
 }
 #endif // VK_USE_PLATFORM_WAYLAND_KHR
 
@@ -755,17 +712,17 @@ VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceWaylandPresentationSuppor
  * This is the trampoline entrypoint
  * for CreateXcbSurfaceKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
-    VkInstance                                  instance,
-    const VkXcbSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateXcbSurfaceKHR(VkInstance instance,
+                      const VkXcbSurfaceCreateInfoKHR *pCreateInfo,
+                      const VkAllocationCallbacks *pAllocator,
+                      VkSurfaceKHR *pSurface) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(instance);
     VkResult res;
 
-    res = disp->CreateXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+    res =
+        disp->CreateXcbSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
     return res;
 }
 
@@ -773,17 +730,15 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateXcbSurfaceKHR(
  * This is the instance chain terminator function
  * for CreateXcbSurfaceKHR
  */
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateXcbSurfaceKHR(
-    VkInstance                                  instance,
-    const VkXcbSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateXcbSurfaceKHR(VkInstance instance,
+                           const VkXcbSurfaceCreateInfoKHR *pCreateInfo,
+                           const VkAllocationCallbacks *pAllocator,
+                           VkSurfaceKHR *pSurface) {
     struct loader_instance *ptr_instance = loader_get_instance(instance);
     VkIcdSurfaceXcb *pIcdSurface = NULL;
 
-    pIcdSurface = loader_heap_alloc(ptr_instance,
-                                    sizeof(VkIcdSurfaceXcb),
+    pIcdSurface = loader_heap_alloc(ptr_instance, sizeof(VkIcdSurfaceXcb),
                                     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (pIcdSurface == NULL) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -793,7 +748,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateXcbSurfaceKHR(
     pIcdSurface->connection = pCreateInfo->connection;
     pIcdSurface->window = pCreateInfo->window;
 
-    *pSurface = (VkSurfaceKHR) pIcdSurface;
+    *pSurface = (VkSurfaceKHR)pIcdSurface;
 
     return VK_SUCCESS;
 }
@@ -802,42 +757,36 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateXcbSurfaceKHR(
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceXcbPresentationSupportKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXcbPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    xcb_connection_t*                           connection,
-    xcb_visualid_t                              visual_id)
-{
+LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL
+vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice,
+                                             uint32_t queueFamilyIndex,
+                                             xcb_connection_t *connection,
+                                             xcb_visualid_t visual_id) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkBool32 res = disp->GetPhysicalDeviceXcbPresentationSupportKHR(
-                                                physicalDevice,
-                                                queueFamilyIndex,
-                                                connection,
-                                                visual_id);
+        physicalDevice, queueFamilyIndex, connection, visual_id);
     return res;
 }
 
-
 /*
  * This is the instance chain terminator function
  * for GetPhysicalDeviceXcbPresentationSupportKHR
  */
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceXcbPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    xcb_connection_t*                           connection,
-    xcb_visualid_t                              visual_id)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceXcbPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+    xcb_connection_t *connection, xcb_visualid_t visual_id) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(icd->GetPhysicalDeviceXcbPresentationSupportKHR && "loader: null GetPhysicalDeviceXcbPresentationSupportKHR ICD pointer");
+    assert(
+        icd->GetPhysicalDeviceXcbPresentationSupportKHR &&
+        "loader: null GetPhysicalDeviceXcbPresentationSupportKHR ICD pointer");
 
-    return icd->GetPhysicalDeviceXcbPresentationSupportKHR(phys_dev->phys_dev,
-                                                queueFamilyIndex,
-                                                connection,
-                                                visual_id);
+    return icd->GetPhysicalDeviceXcbPresentationSupportKHR(
+        phys_dev->phys_dev, queueFamilyIndex, connection, visual_id);
 }
 #endif // VK_USE_PLATFORM_XCB_KHR
 
@@ -851,17 +800,17 @@ VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceXcbPresentationSupportKHR
  * This is the trampoline entrypoint
  * for CreateXlibSurfaceKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
-    VkInstance                                  instance,
-    const VkXlibSurfaceCreateInfoKHR*           pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateXlibSurfaceKHR(VkInstance instance,
+                       const VkXlibSurfaceCreateInfoKHR *pCreateInfo,
+                       const VkAllocationCallbacks *pAllocator,
+                       VkSurfaceKHR *pSurface) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(instance);
     VkResult res;
 
-    res = disp->CreateXlibSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
+    res =
+        disp->CreateXlibSurfaceKHR(instance, pCreateInfo, pAllocator, pSurface);
     return res;
 }
 
@@ -869,17 +818,15 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateXlibSurfaceKHR(
  * This is the instance chain terminator function
  * for CreateXlibSurfaceKHR
  */
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateXlibSurfaceKHR(
-    VkInstance                                  instance,
-    const VkXlibSurfaceCreateInfoKHR*           pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateXlibSurfaceKHR(VkInstance instance,
+                            const VkXlibSurfaceCreateInfoKHR *pCreateInfo,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkSurfaceKHR *pSurface) {
     struct loader_instance *ptr_instance = loader_get_instance(instance);
     VkIcdSurfaceXlib *pIcdSurface = NULL;
 
-    pIcdSurface = loader_heap_alloc(ptr_instance,
-                                    sizeof(VkIcdSurfaceXlib),
+    pIcdSurface = loader_heap_alloc(ptr_instance, sizeof(VkIcdSurfaceXlib),
                                     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (pIcdSurface == NULL) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -889,7 +836,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateXlibSurfaceKHR(
     pIcdSurface->dpy = pCreateInfo->dpy;
     pIcdSurface->window = pCreateInfo->window;
 
-    *pSurface = (VkSurfaceKHR) pIcdSurface;
+    *pSurface = (VkSurfaceKHR)pIcdSurface;
 
     return VK_SUCCESS;
 }
@@ -898,42 +845,35 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateXlibSurfaceKHR(
  * This is the trampoline entrypoint
  * for GetPhysicalDeviceXlibPresentationSupportKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL vkGetPhysicalDeviceXlibPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    Display*                                    dpy,
-    VisualID                                    visualID)
-{
+LOADER_EXPORT VKAPI_ATTR VkBool32 VKAPI_CALL
+vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice,
+                                              uint32_t queueFamilyIndex,
+                                              Display *dpy, VisualID visualID) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(physicalDevice);
     VkBool32 res = disp->GetPhysicalDeviceXlibPresentationSupportKHR(
-                                                physicalDevice,
-                                                queueFamilyIndex,
-                                                dpy,
-                                                visualID);
+        physicalDevice, queueFamilyIndex, dpy, visualID);
     return res;
 }
 
-
 /*
  * This is the instance chain terminator function
  * for GetPhysicalDeviceXlibPresentationSupportKHR
  */
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceXlibPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    Display*                                    dpy,
-    VisualID                                    visualID)
-{
-    struct loader_physical_device *phys_dev = (struct loader_physical_device *) physicalDevice;
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceXlibPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display *dpy,
+    VisualID visualID) {
+    struct loader_physical_device *phys_dev =
+        (struct loader_physical_device *)physicalDevice;
     struct loader_icd *icd = phys_dev->this_icd;
 
-    assert(icd->GetPhysicalDeviceXlibPresentationSupportKHR && "loader: null GetPhysicalDeviceXlibPresentationSupportKHR ICD pointer");
+    assert(
+        icd->GetPhysicalDeviceXlibPresentationSupportKHR &&
+        "loader: null GetPhysicalDeviceXlibPresentationSupportKHR ICD pointer");
 
-    return icd->GetPhysicalDeviceXlibPresentationSupportKHR(phys_dev->phys_dev,
-                                                queueFamilyIndex,
-                                                dpy,
-                                                visualID);
+    return icd->GetPhysicalDeviceXlibPresentationSupportKHR(
+        phys_dev->phys_dev, queueFamilyIndex, dpy, visualID);
 }
 #endif // VK_USE_PLATFORM_XLIB_KHR
 
@@ -947,12 +887,10 @@ VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceXlibPresentationSupportKH
  * This is the trampoline entrypoint
  * for CreateAndroidSurfaceKHR
  */
-LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
-    VkInstance                                  instance,
-    ANativeWindow*                              window,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL
+vkCreateAndroidSurfaceKHR(VkInstance instance, ANativeWindow *window,
+                          const VkAllocationCallbacks *pAllocator,
+                          VkSurfaceKHR *pSurface) {
     const VkLayerInstanceDispatchTable *disp;
     disp = loader_get_instance_dispatch(instance);
     VkResult res;
@@ -965,17 +903,14 @@ LOADER_EXPORT VKAPI_ATTR VkResult VKAPI_CALL vkCreateAndroidSurfaceKHR(
  * This is the instance chain terminator function
  * for CreateAndroidSurfaceKHR
  */
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateAndroidSurfaceKHR(
-    VkInstance                                  instance,
-    Window                                      window,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface)
-{
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateAndroidSurfaceKHR(VkInstance instance, Window window,
+                               const VkAllocationCallbacks *pAllocator,
+                               VkSurfaceKHR *pSurface) {
     struct loader_instance *ptr_instance = loader_get_instance(instance);
     VkIcdSurfaceAndroid *pIcdSurface = NULL;
 
-    pIcdSurface = loader_heap_alloc(ptr_instance,
-                                    sizeof(VkIcdSurfaceAndroid),
+    pIcdSurface = loader_heap_alloc(ptr_instance, sizeof(VkIcdSurfaceAndroid),
                                     VK_SYSTEM_ALLOCATION_SCOPE_INSTANCE);
     if (pIcdSurface == NULL) {
         return VK_ERROR_OUT_OF_HOST_MEMORY;
@@ -985,7 +920,7 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateAndroidSurfaceKHR(
     pIcdSurface->dpy = dpy;
     pIcdSurface->window = window;
 
-    *pSurface = (VkSurfaceKHR) pIcdSurface;
+    *pSurface = (VkSurfaceKHR)pIcdSurface;
 
     return VK_SUCCESS;
 }
@@ -993,31 +928,39 @@ VKAPI_ATTR VkResult VKAPI_CALL loader_CreateAndroidSurfaceKHR(
 #endif // VK_USE_PLATFORM_ANDROID_KHR
 
 bool wsi_swapchain_instance_gpa(struct loader_instance *ptr_instance,
-                                 const char* name, void **addr)
-{
+                                const char *name, void **addr) {
     *addr = NULL;
 
     /*
      * Functions for the VK_KHR_surface extension:
      */
     if (!strcmp("vkDestroySurfaceKHR", name)) {
-        *addr = ptr_instance->wsi_surface_enabled ? (void *) vkDestroySurfaceKHR : NULL;
+        *addr = ptr_instance->wsi_surface_enabled ? (void *)vkDestroySurfaceKHR
+                                                  : NULL;
         return true;
     }
     if (!strcmp("vkGetPhysicalDeviceSurfaceSupportKHR", name)) {
-        *addr = ptr_instance->wsi_surface_enabled ? (void *) vkGetPhysicalDeviceSurfaceSupportKHR : NULL;
+        *addr = ptr_instance->wsi_surface_enabled
+                    ? (void *)vkGetPhysicalDeviceSurfaceSupportKHR
+                    : NULL;
         return true;
     }
     if (!strcmp("vkGetPhysicalDeviceSurfaceCapabilitiesKHR", name)) {
-        *addr = ptr_instance->wsi_surface_enabled ? (void *) vkGetPhysicalDeviceSurfaceCapabilitiesKHR : NULL;
+        *addr = ptr_instance->wsi_surface_enabled
+                    ? (void *)vkGetPhysicalDeviceSurfaceCapabilitiesKHR
+                    : NULL;
         return true;
     }
     if (!strcmp("vkGetPhysicalDeviceSurfaceFormatsKHR", name)) {
-        *addr = ptr_instance->wsi_surface_enabled ? (void *) vkGetPhysicalDeviceSurfaceFormatsKHR : NULL;
+        *addr = ptr_instance->wsi_surface_enabled
+                    ? (void *)vkGetPhysicalDeviceSurfaceFormatsKHR
+                    : NULL;
         return true;
     }
     if (!strcmp("vkGetPhysicalDeviceSurfacePresentModesKHR", name)) {
-        *addr = ptr_instance->wsi_surface_enabled ? (void *) vkGetPhysicalDeviceSurfacePresentModesKHR : NULL;
+        *addr = ptr_instance->wsi_surface_enabled
+                    ? (void *)vkGetPhysicalDeviceSurfacePresentModesKHR
+                    : NULL;
         return true;
     }
 
@@ -1030,23 +973,23 @@ bool wsi_swapchain_instance_gpa(struct loader_instance *ptr_instance,
      * functions, regardless of whether the extension has been enabled.
      */
     if (!strcmp("vkCreateSwapchainKHR", name)) {
-        *addr = (void *) vkCreateSwapchainKHR;
+        *addr = (void *)vkCreateSwapchainKHR;
         return true;
     }
     if (!strcmp("vkDestroySwapchainKHR", name)) {
-        *addr = (void *) vkDestroySwapchainKHR;
+        *addr = (void *)vkDestroySwapchainKHR;
         return true;
     }
     if (!strcmp("vkGetSwapchainImagesKHR", name)) {
-        *addr = (void *) vkGetSwapchainImagesKHR;
+        *addr = (void *)vkGetSwapchainImagesKHR;
         return true;
     }
     if (!strcmp("vkAcquireNextImageKHR", name)) {
-        *addr = (void *) vkAcquireNextImageKHR;
+        *addr = (void *)vkAcquireNextImageKHR;
         return true;
     }
     if (!strcmp("vkQueuePresentKHR", name)) {
-        *addr = (void *) vkQueuePresentKHR;
+        *addr = (void *)vkQueuePresentKHR;
         return true;
     }
 
@@ -1055,11 +998,15 @@ bool wsi_swapchain_instance_gpa(struct loader_instance *ptr_instance,
      * Functions for the VK_KHR_win32_surface extension:
      */
     if (!strcmp("vkCreateWin32SurfaceKHR", name)) {
-        *addr = ptr_instance->wsi_win32_surface_enabled ? (void *) vkCreateWin32SurfaceKHR : NULL;
+        *addr = ptr_instance->wsi_win32_surface_enabled
+                    ? (void *)vkCreateWin32SurfaceKHR
+                    : NULL;
         return true;
     }
     if (!strcmp("vkGetPhysicalDeviceWin32PresentationSupportKHR", name)) {
-        *addr = ptr_instance->wsi_win32_surface_enabled ? (void *) vkGetPhysicalDeviceWin32PresentationSupportKHR : NULL;
+        *addr = ptr_instance->wsi_win32_surface_enabled
+                    ? (void *)vkGetPhysicalDeviceWin32PresentationSupportKHR
+                    : NULL;
         return true;
     }
 #endif // VK_USE_PLATFORM_WIN32_KHR
@@ -1068,60 +1015,82 @@ bool wsi_swapchain_instance_gpa(struct loader_instance *ptr_instance,
      * Functions for the VK_KHR_mir_surface extension:
      */
     if (!strcmp("vkCreateMirSurfaceKHR", name)) {
-        *addr = ptr_instance->wsi_mir_surface_enabled ? (void *) vkCreateMirSurfaceKHR : NULL;
+        *addr = ptr_instance->wsi_mir_surface_enabled
+                    ? (void *)vkCreateMirSurfaceKHR
+                    : NULL;
         return true;
     }
     if (!strcmp("vkGetPhysicalDeviceMirPresentationSupportKHR", name)) {
-        *addr = ptr_instance->wsi_mir_surface_enabled ? (void *) vkGetPhysicalDeviceMirPresentationSupportKHR : NULL;
+        *addr = ptr_instance->wsi_mir_surface_enabled
+                    ? (void *)vkGetPhysicalDeviceMirPresentationSupportKHR
+                    : NULL;
         return true;
 #endif // VK_USE_PLATFORM_MIR_KHR
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
-    /*
-     * Functions for the VK_KHR_wayland_surface extension:
-     */
-    if (!strcmp("vkCreateWaylandSurfaceKHR", name)) {
-        *addr = ptr_instance->wsi_wayland_surface_enabled ? (void *) vkCreateWaylandSurfaceKHR : NULL;
-        return true;
-    }
-    if (!strcmp("vkGetPhysicalDeviceWaylandPresentationSupportKHR", name)) {
-        *addr = ptr_instance->wsi_wayland_surface_enabled ? (void *) vkGetPhysicalDeviceWaylandPresentationSupportKHR : NULL;
-        return true;
+        /*
+         * Functions for the VK_KHR_wayland_surface extension:
+         */
+        if (!strcmp("vkCreateWaylandSurfaceKHR", name)) {
+            *addr = ptr_instance->wsi_wayland_surface_enabled
+                        ? (void *)vkCreateWaylandSurfaceKHR
+                        : NULL;
+            return true;
+        }
+        if (!strcmp("vkGetPhysicalDeviceWaylandPresentationSupportKHR", name)) {
+            *addr =
+                ptr_instance->wsi_wayland_surface_enabled
+                    ? (void *)vkGetPhysicalDeviceWaylandPresentationSupportKHR
+                    : NULL;
+            return true;
 #endif // VK_USE_PLATFORM_WAYLAND_KHR
 #ifdef VK_USE_PLATFORM_XCB_KHR
-    /*
-     * Functions for the VK_KHR_xcb_surface extension:
-     */
-    if (!strcmp("vkCreateXcbSurfaceKHR", name)) {
-        *addr = ptr_instance->wsi_xcb_surface_enabled ? (void *) vkCreateXcbSurfaceKHR : NULL;
-        return true;
-    }
-    if (!strcmp("vkGetPhysicalDeviceXcbPresentationSupportKHR", name)) {
-        *addr = ptr_instance->wsi_xcb_surface_enabled ? (void *) vkGetPhysicalDeviceXcbPresentationSupportKHR : NULL;
-        return true;
-    }
+            /*
+             * Functions for the VK_KHR_xcb_surface extension:
+             */
+            if (!strcmp("vkCreateXcbSurfaceKHR", name)) {
+                *addr = ptr_instance->wsi_xcb_surface_enabled
+                            ? (void *)vkCreateXcbSurfaceKHR
+                            : NULL;
+                return true;
+            }
+            if (!strcmp("vkGetPhysicalDeviceXcbPresentationSupportKHR", name)) {
+                *addr =
+                    ptr_instance->wsi_xcb_surface_enabled
+                        ? (void *)vkGetPhysicalDeviceXcbPresentationSupportKHR
+                        : NULL;
+                return true;
+            }
 #endif // VK_USE_PLATFORM_XCB_KHR
 #ifdef VK_USE_PLATFORM_XLIB_KHR
-    /*
-     * Functions for the VK_KHR_xlib_surface extension:
-     */
-    if (!strcmp("vkCreateXlibSurfaceKHR", name)) {
-        *addr = ptr_instance->wsi_xlib_surface_enabled ? (void *) vkCreateXlibSurfaceKHR : NULL;
-        return true;
-    }
-    if (!strcmp("vkGetPhysicalDeviceXlibPresentationSupportKHR", name)) {
-        *addr = ptr_instance->wsi_xlib_surface_enabled ? (void *) vkGetPhysicalDeviceXlibPresentationSupportKHR : NULL;
-        return true;
-    }
+            /*
+             * Functions for the VK_KHR_xlib_surface extension:
+             */
+            if (!strcmp("vkCreateXlibSurfaceKHR", name)) {
+                *addr = ptr_instance->wsi_xlib_surface_enabled
+                            ? (void *)vkCreateXlibSurfaceKHR
+                            : NULL;
+                return true;
+            }
+            if (!strcmp("vkGetPhysicalDeviceXlibPresentationSupportKHR",
+                        name)) {
+                *addr =
+                    ptr_instance->wsi_xlib_surface_enabled
+                        ? (void *)vkGetPhysicalDeviceXlibPresentationSupportKHR
+                        : NULL;
+                return true;
+            }
 #endif // VK_USE_PLATFORM_XLIB_KHR
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
-    /*
-     * Functions for the VK_KHR_android_surface extension:
-     */
-    if (!strcmp("vkCreateAndroidSurfaceKHR", name)) {
-        *addr = ptr_instance->wsi_xlib_surface_enabled ? (void *) vkCreateAndroidSurfaceKHR : NULL;
-        return true;
-    }
+            /*
+             * Functions for the VK_KHR_android_surface extension:
+             */
+            if (!strcmp("vkCreateAndroidSurfaceKHR", name)) {
+                *addr = ptr_instance->wsi_xlib_surface_enabled
+                            ? (void *)vkCreateAndroidSurfaceKHR
+                            : NULL;
+                return true;
+            }
 #endif // VK_USE_PLATFORM_ANDROID_KHR
 
-    return false;
-}
+            return false;
+        }
index f8bf31f..927b96e 100644 (file)
@@ -1,24 +1,30 @@
 /*
+ * Copyright (c) 2015-2016 The Khronos Group Inc.
+ * Copyright (c) 2015-2016 Valve Corporation
+ * Copyright (c) 2015-2016 LunarG, Inc.
  *
- * Copyright (C) 2015 Valve Corporation
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and/or associated documentation files (the "Materials"), to
+ * deal in the Materials without restriction, including without limitation the
+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ * sell copies of the Materials, and to permit persons to whom the Materials are
+ * furnished to do so, subject to the following conditions:
  *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
+ * The above copyright notice(s) and this permission notice shall be included in
+ * all copies or substantial portions of the Materials.
  *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
+ * The Materials are Confidential Information as defined by the Khronos
+ * Membership Agreement until designated non-confidential by Khronos, at which
+ * point this condition clause shall be removed.
  *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ *
+ * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE
+ * USE OR OTHER DEALINGS IN THE MATERIALS.
  *
  * Author: Ian Elliott <ian@lunarg.com>
  *
 #include "loader.h"
 
 bool wsi_swapchain_instance_gpa(struct loader_instance *ptr_instance,
-                                 const char* name, void **addr);
-void wsi_add_instance_extensions(
-        const struct loader_instance *inst,
-        struct loader_extension_list *ext_list);
-
-void wsi_create_instance(
-        struct loader_instance *ptr_instance,
-        const VkInstanceCreateInfo *pCreateInfo);
+                                const char *name, void **addr);
+void wsi_add_instance_extensions(const struct loader_instance *inst,
+                                 struct loader_extension_list *ext_list);
 
+void wsi_create_instance(struct loader_instance *ptr_instance,
+                         const VkInstanceCreateInfo *pCreateInfo);
 
-VKAPI_ATTR void VKAPI_CALL loader_DestroySurfaceKHR(
-    VkInstance                                   instance,
-    VkSurfaceKHR                                 surface,
-    const VkAllocationCallbacks*                 pAllocator);
+VKAPI_ATTR void VKAPI_CALL
+loader_DestroySurfaceKHR(VkInstance instance, VkSurfaceKHR surface,
+                         const VkAllocationCallbacks *pAllocator);
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    VkSurfaceKHR                                surface,
-    VkBool32*                                   pSupported);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_GetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,
+                                          uint32_t queueFamilyIndex,
+                                          VkSurfaceKHR surface,
+                                          VkBool32 *pSupported);
 
 VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceCapabilitiesKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    VkSurfaceCapabilitiesKHR*                   pSurfaceCapabilities);
+    VkPhysicalDevice physicalDevice, VkSurfaceKHR surface,
+    VkSurfaceCapabilitiesKHR *pSurfaceCapabilities);
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfaceFormatsKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    uint32_t*                                   pSurfaceFormatCount,
-    VkSurfaceFormatKHR*                         pSurfaceFormats);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_GetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,
+                                          VkSurfaceKHR surface,
+                                          uint32_t *pSurfaceFormatCount,
+                                          VkSurfaceFormatKHR *pSurfaceFormats);
 
-VKAPI_ATTR VkResult VKAPI_CALL loader_GetPhysicalDeviceSurfacePresentModesKHR(
-    VkPhysicalDevice                            physicalDevice,
-    VkSurfaceKHR                                surface,
-    uint32_t*                                   pPresentModeCount,
-    VkPresentModeKHR*                           pPresentModes);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_GetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,
+                                               VkSurfaceKHR surface,
+                                               uint32_t *pPresentModeCount,
+                                               VkPresentModeKHR *pPresentModes);
 
 #ifdef VK_USE_PLATFORM_WIN32_KHR
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateWin32SurfaceKHR(
-    VkInstance                                  instance,
-    const VkWin32SurfaceCreateInfoKHR*          pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface);
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceWin32PresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateWin32SurfaceKHR(VkInstance instance,
+                             const VkWin32SurfaceCreateInfoKHR *pCreateInfo,
+                             const VkAllocationCallbacks *pAllocator,
+                             VkSurfaceKHR *pSurface);
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceWin32PresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex);
 #endif
 #ifdef VK_USE_PLATFORM_MIR_KHR
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateMirSurfaceKHR(
-    VkInstance                                  instance,
-    const VkMirSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface);
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceMirPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    MirConnection*                              connection);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateMirSurfaceKHR(VkInstance instance,
+                           const VkMirSurfaceCreateInfoKHR *pCreateInfo,
+                           const VkAllocationCallbacks *pAllocator,
+                           VkSurfaceKHR *pSurface);
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceMirPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+    MirConnection *connection);
 #endif
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateWaylandSurfaceKHR(
-    VkInstance                                  instance,
-    const VkWaylandSurfaceCreateInfoKHR*        pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface);
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceWaylandPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    struct wl_display*                          display);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateWaylandSurfaceKHR(VkInstance instance,
+                               const VkWaylandSurfaceCreateInfoKHR *pCreateInfo,
+                               const VkAllocationCallbacks *pAllocator,
+                               VkSurfaceKHR *pSurface);
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceWaylandPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+    struct wl_display *display);
 #endif
 #ifdef VK_USE_PLATFORM_XCB_KHR
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateXcbSurfaceKHR(
-    VkInstance                                  instance,
-    const VkXcbSurfaceCreateInfoKHR*            pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateXcbSurfaceKHR(VkInstance instance,
+                           const VkXcbSurfaceCreateInfoKHR *pCreateInfo,
+                           const VkAllocationCallbacks *pAllocator,
+                           VkSurfaceKHR *pSurface);
 
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceXcbPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    xcb_connection_t*                           connection,
-    xcb_visualid_t                              visual_id);
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceXcbPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex,
+    xcb_connection_t *connection, xcb_visualid_t visual_id);
 #endif
 #ifdef VK_USE_PLATFORM_XLIB_KHR
-VKAPI_ATTR VkResult VKAPI_CALL loader_CreateXlibSurfaceKHR(
-    VkInstance                                  instance,
-    const VkXlibSurfaceCreateInfoKHR*           pCreateInfo,
-    const VkAllocationCallbacks*                pAllocator,
-    VkSurfaceKHR*                               pSurface);
-VKAPI_ATTR VkBool32 VKAPI_CALL loader_GetPhysicalDeviceXlibPresentationSupportKHR(
-    VkPhysicalDevice                            physicalDevice,
-    uint32_t                                    queueFamilyIndex,
-    Display*                                    dpy,
-    VisualID                                    visualID);
+VKAPI_ATTR VkResult VKAPI_CALL
+loader_CreateXlibSurfaceKHR(VkInstance instance,
+                            const VkXlibSurfaceCreateInfoKHR *pCreateInfo,
+                            const VkAllocationCallbacks *pAllocator,
+                            VkSurfaceKHR *pSurface);
+VKAPI_ATTR VkBool32 VKAPI_CALL
+loader_GetPhysicalDeviceXlibPresentationSupportKHR(
+    VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, Display *dpy,
+    VisualID visualID);
 #endif