Updates for upstream webgpu.h

 - Adds SurfaceDescriptorFromXcbWindow
 - Adds ShaderModuleCompilationHint (and ShaderModuleDescriptor::hints)

Bug: dawn:22
Change-Id: I68089801f59c0eeff4ba7fcf513044196ca9e51c
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/84201
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/dawn.json b/dawn.json
index ecc20c5..54d75ad 100644
--- a/dawn.json
+++ b/dawn.json
@@ -2259,7 +2259,18 @@
         "category": "structure",
         "extensible": "in",
         "members": [
-            {"name": "label", "type": "char", "annotation": "const*", "length": "strlen", "optional": true}
+            {"name": "label", "type": "char", "annotation": "const*", "length": "strlen", "optional": true},
+            {"name": "hint count", "type": "uint32_t", "default": 0, "tags": ["upstream"]},
+            {"name": "hints", "type": "shader module compilation hint", "annotation": "const*", "length": "hint count", "tags": ["upstream"]}
+        ]
+    },
+    "shader module compilation hint": {
+        "category": "structure",
+        "extensible": "in",
+        "tags": ["upstream"],
+        "members": [
+            {"name": "entry point", "type": "char", "annotation": "const*", "length": "strlen"},
+            {"name": "layout", "type": "pipeline layout"}
         ]
     },
     "shader module SPIRV descriptor": {
@@ -2362,6 +2373,15 @@
             {"name": "hwnd", "type": "void", "annotation": "*"}
         ]
     },
+    "surface descriptor from xcb window": {
+        "category": "structure",
+        "chained": "in",
+        "tags": ["upstream"],
+        "members": [
+            {"name": "connection", "type": "void", "annotation": "*"},
+            {"name": "window", "type": "uint32_t"}
+        ]
+    },
     "surface descriptor from xlib window": {
         "category": "structure",
         "chained": "in",
@@ -2440,10 +2460,11 @@
             {"value": 7, "name": "primitive depth clip control", "tags": ["upstream", "emscripten"]},
             {"value": 8, "name": "surface descriptor from wayland surface", "tags": ["native"]},
             {"value": 9, "name": "surface descriptor from android native window", "tags": ["native"]},
-            {"value": 10, "name": "surface descriptor from windows core window", "tags": ["dawn"]},
-            {"value": 11, "name": "external texture binding entry", "tags": ["dawn"]},
-            {"value": 12, "name": "external texture binding layout", "tags": ["dawn"]},
-            {"value": 13, "name": "surface descriptor from windows swap chain panel", "tags": ["dawn"]},
+            {"value": 10, "name": "surface descriptor from xcb window", "tags": ["upstream"]},
+            {"value": 11, "name": "surface descriptor from windows core window", "tags": ["dawn"]},
+            {"value": 12, "name": "external texture binding entry", "tags": ["dawn"]},
+            {"value": 13, "name": "external texture binding layout", "tags": ["dawn"]},
+            {"value": 14, "name": "surface descriptor from windows swap chain panel", "tags": ["dawn"]},
             {"value": 1000, "name": "dawn texture internal usage descriptor", "tags": ["dawn"]},
             {"value": 1001, "name": "primitive depth clamping state", "tags": ["dawn", "emscripten"]},
             {"value": 1002, "name": "dawn toggles device descriptor", "tags": ["dawn", "native"]},