Adding Queue::WriteTexture

Added Queue::WriteTexture with validation but no actual
implementation. Tests were mostly taken from validation tests
for copying buffer to texture. Validation tests for CopyB2T
and WriteTexture do not cover 2d-array textures yet.

Bug: dawn:483
Change-Id: I9027eb615c02fe2265cde912f6ba17a235b94728
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/24440
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Tomek Ponitka <tommek@google.com>
diff --git a/dawn_wire.json b/dawn_wire.json
index 87063e0..6279f05 100644
--- a/dawn_wire.json
+++ b/dawn_wire.json
@@ -54,6 +54,14 @@
             {"name": "buffer offset", "type": "uint64_t"},
             {"name": "data", "type": "uint8_t", "annotation": "const*", "length": "size"},
             {"name": "size", "type": "size_t"}
+        ],
+        "queue write texture internal": [
+            {"name": "queue id", "type": "ObjectId" },
+            {"name": "destination", "type": "texture copy view", "annotation": "const*"},
+            {"name": "data", "type": "uint8_t", "annotation": "const*"},
+            {"name": "data size", "type": "size_t"},
+            {"name": "data layout", "type": "texture data layout", "annotation": "const*"},
+            {"name": "writeSize", "type": "extent 3D", "annotation": "const*"}
         ]
     },
     "return commands": {
@@ -104,7 +112,8 @@
             "DeviceSetUncapturedErrorCallback",
             "FenceGetCompletedValue",
             "FenceOnCompletion",
-            "QueueWriteBuffer"
+            "QueueWriteBuffer",
+            "QueueWriteTexture"
         ],
         "client_handwritten_commands": [
             "BufferDestroy",