Revert "[dawn] Promote ExternalTexture to Core" This reverts commit b66000dd386d69b2bab339b53c90198e87e56132. Reason for revert: broke build https://ci.chromium.org/ui/p/dawn/builders/ci/dawn-win-x64-builder-rel/976/overview Original change's description: > [dawn] Promote ExternalTexture to Core > > These became standard/stable in > https://github.com/webgpu-native/webgpu-headers/pull/570 > > Bug: 462477379, 465339954 > Change-Id: I5f1405df128401f97e9a26fb781d56097e13787f > Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/276941 > Commit-Queue: Brandon Jones <bajones@chromium.org> > Reviewed-by: Brandon Jones <bajones@chromium.org> > Commit-Queue: Kai Ninomiya <kainino@chromium.org> > Auto-Submit: Kai Ninomiya <kainino@chromium.org> TBR=kainino@chromium.org,bajones@chromium.org,dawn-scoped@luci-project-accounts.iam.gserviceaccount.com No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 462477379, 465339954 Change-Id: I30a7d0af67256fdc9ed69ea805216bfbb7c581bd Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/277918 Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Kai Ninomiya <kainino@chromium.org> Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
diff --git a/src/dawn/dawn.json b/src/dawn/dawn.json index da62966..fe09850 100644 --- a/src/dawn/dawn.json +++ b/src/dawn/dawn.json
@@ -515,6 +515,7 @@ "category": "structure", "chained": "in", "chain roots": ["bind group entry"], + "tags": ["dawn", "emscripten"], "members": [ {"name": "external texture", "type": "external texture"} ] @@ -534,6 +535,7 @@ "category": "structure", "chained": "in", "chain roots": ["bind group layout entry"], + "tags": ["dawn", "emscripten"], "members": [] }, @@ -1835,6 +1837,7 @@ }, "external texture": { "category": "object", + "tags": ["dawn", "emscripten"], "methods": [ { "name": "set label", @@ -3935,8 +3938,6 @@ {"value": 10, "name": "surface color management"}, {"value": 11, "name": "request adapter WebXR options"}, {"value": 12, "name": "texture component swizzle descriptor"}, - {"value": 13, "name": "external texture binding layout"}, - {"value": 14, "name": "external texture binding entry"}, {"value": 0, "name": "compatibility mode limits", "tags": ["compat"]}, {"value": 1, "name": "texture binding view dimension descriptor", "tags": ["compat"]}, @@ -3944,6 +3945,8 @@ {"value": 0, "name": "emscripten surface source canvas HTML selector", "tags": ["emscripten"]}, {"value": 0, "name": "surface descriptor from windows core window", "tags": ["dawn"]}, + {"value": 1, "name": "external texture binding entry", "tags": ["dawn", "emscripten"]}, + {"value": 2, "name": "external texture binding layout", "tags": ["dawn", "emscripten"]}, {"value": 3, "name": "surface descriptor from windows UWP swap chain panel", "tags": ["dawn"]}, {"value": 4, "name": "dawn texture internal usage descriptor", "tags": ["dawn"]}, {"value": 5, "name": "dawn encoder internal usage descriptor", "tags": ["dawn"]},
diff --git a/third_party/webgpu-headers/webgpu.h.diff b/third_party/webgpu-headers/webgpu.h.diff index 2820e7b..5ed30df 100644 --- a/third_party/webgpu-headers/webgpu.h.diff +++ b/third_party/webgpu-headers/webgpu.h.diff
@@ -1,14 +1,47 @@ --- webgpu_header +++ dawn_header @@ + typedef struct WGPUComputePassEncoderImpl* WGPUComputePassEncoder WGPU_OBJECT_ATTRIBUTE; + typedef struct WGPUComputePipelineImpl* WGPUComputePipeline WGPU_OBJECT_ATTRIBUTE; + typedef struct WGPUDeviceImpl* WGPUDevice WGPU_OBJECT_ATTRIBUTE; +-typedef struct WGPUExternalTextureImpl* WGPUExternalTexture WGPU_OBJECT_ATTRIBUTE; + typedef struct WGPUInstanceImpl* WGPUInstance WGPU_OBJECT_ATTRIBUTE; + typedef struct WGPUPipelineLayoutImpl* WGPUPipelineLayout WGPU_OBJECT_ATTRIBUTE; + typedef struct WGPUQuerySetImpl* WGPUQuerySet WGPU_OBJECT_ATTRIBUTE; +@@ + typedef struct WGPUTextureViewImpl* WGPUTextureView WGPU_OBJECT_ATTRIBUTE; + + struct WGPUAdapterInfo; ++struct WGPUBindGroupEntry; + struct WGPUBlendComponent; + struct WGPUBufferBindingLayout; + struct WGPUBufferDescriptor; +@@ + struct WGPUCompilationMessage; + struct WGPUConstantEntry; + struct WGPUExtent3D; +-struct WGPUExternalTextureBindingEntry; +-struct WGPUExternalTextureBindingLayout; + struct WGPUFuture; + struct WGPUInstanceLimits; + struct WGPULimits; +@@ struct WGPUTexelCopyBufferLayout; struct WGPUTextureBindingLayout; struct WGPUTextureComponentSwizzle; -struct WGPUTextureViewDescriptor; struct WGPUVertexAttribute; - struct WGPUBindGroupEntry; +-struct WGPUBindGroupEntry; ++struct WGPUBindGroupDescriptor; struct WGPUBindGroupLayoutEntry; + struct WGPUBlendState; + struct WGPUCompilationInfo; @@ + struct WGPUTextureComponentSwizzleDescriptor; + struct WGPUTextureDescriptor; + struct WGPUVertexBufferLayout; +-struct WGPUBindGroupDescriptor; + struct WGPUBindGroupLayoutDescriptor; struct WGPUColorTargetState; struct WGPUComputePipelineDescriptor; struct WGPURenderPassDescriptor; @@ -17,6 +50,73 @@ struct WGPUFragmentState; struct WGPURenderPipelineDescriptor; @@ + WGPUSType_SurfaceColorManagement = 0x0000000A, + WGPUSType_RequestAdapterWebXROptions = 0x0000000B, + WGPUSType_TextureComponentSwizzleDescriptor = 0x0000000C, +- WGPUSType_ExternalTextureBindingLayout = 0x0000000D, +- WGPUSType_ExternalTextureBindingEntry = 0x0000000E, + WGPUSType_Force32 = 0x7FFFFFFF + } WGPUSType WGPU_ENUM_ATTRIBUTE; + +@@ + /*.subgroupMaxSize=*/0 _wgpu_COMMA \ + }) + ++typedef struct WGPUBindGroupEntry { ++ WGPUChainedStruct * nextInChain; ++ uint32_t binding; ++ WGPU_NULLABLE WGPUBuffer buffer; ++ uint64_t offset; ++ uint64_t size; ++ WGPU_NULLABLE WGPUSampler sampler; ++ WGPU_NULLABLE WGPUTextureView textureView; ++} WGPUBindGroupEntry WGPU_STRUCTURE_ATTRIBUTE; ++ ++#define WGPU_BIND_GROUP_ENTRY_INIT _wgpu_MAKE_INIT_STRUCT(WGPUBindGroupEntry, { \ ++ /*.nextInChain=*/NULL _wgpu_COMMA \ ++ /*.binding=*/0 _wgpu_COMMA \ ++ /*.buffer=*/NULL _wgpu_COMMA \ ++ /*.offset=*/0 _wgpu_COMMA \ ++ /*.size=*/WGPU_WHOLE_SIZE _wgpu_COMMA \ ++ /*.sampler=*/NULL _wgpu_COMMA \ ++ /*.textureView=*/NULL _wgpu_COMMA \ ++}) ++ + typedef struct WGPUBlendComponent { + WGPUBlendOperation operation; + WGPUBlendFactor srcFactor; +@@ + /*.width=*/0 _wgpu_COMMA \ + /*.height=*/1 _wgpu_COMMA \ + /*.depthOrArrayLayers=*/1 _wgpu_COMMA \ +-}) +- +-typedef struct WGPUExternalTextureBindingEntry { +- WGPUChainedStruct chain; +- WGPUExternalTexture externalTexture; +-} WGPUExternalTextureBindingEntry WGPU_STRUCTURE_ATTRIBUTE; +- +-#define WGPU_EXTERNAL_TEXTURE_BINDING_ENTRY_INIT _wgpu_MAKE_INIT_STRUCT(WGPUExternalTextureBindingEntry, { \ +- /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \ +- /*.next=*/NULL _wgpu_COMMA \ +- /*.sType=*/WGPUSType_ExternalTextureBindingEntry _wgpu_COMMA \ +- }) _wgpu_COMMA \ +- /*.externalTexture=*/NULL _wgpu_COMMA \ +-}) +- +-typedef struct WGPUExternalTextureBindingLayout { +- WGPUChainedStruct chain; +-} WGPUExternalTextureBindingLayout WGPU_STRUCTURE_ATTRIBUTE; +- +-#define WGPU_EXTERNAL_TEXTURE_BINDING_LAYOUT_INIT _wgpu_MAKE_INIT_STRUCT(WGPUExternalTextureBindingLayout, { \ +- /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \ +- /*.next=*/NULL _wgpu_COMMA \ +- /*.sType=*/WGPUSType_ExternalTextureBindingLayout _wgpu_COMMA \ +- }) _wgpu_COMMA \ + }) + + typedef struct WGPUFuture { +@@ /*.a=*/WGPUComponentSwizzle_Undefined _wgpu_COMMA \ }) @@ -50,6 +150,68 @@ WGPUChainedStruct * nextInChain; WGPUVertexFormat format; @@ + /*.shaderLocation=*/0 _wgpu_COMMA \ + }) + +-typedef struct WGPUBindGroupEntry { +- WGPUChainedStruct * nextInChain; +- uint32_t binding; +- WGPU_NULLABLE WGPUBuffer buffer; +- uint64_t offset; +- uint64_t size; +- WGPU_NULLABLE WGPUSampler sampler; +- WGPU_NULLABLE WGPUTextureView textureView; +-} WGPUBindGroupEntry WGPU_STRUCTURE_ATTRIBUTE; +- +-#define WGPU_BIND_GROUP_ENTRY_INIT _wgpu_MAKE_INIT_STRUCT(WGPUBindGroupEntry, { \ +- /*.nextInChain=*/NULL _wgpu_COMMA \ +- /*.binding=*/0 _wgpu_COMMA \ +- /*.buffer=*/NULL _wgpu_COMMA \ +- /*.offset=*/0 _wgpu_COMMA \ +- /*.size=*/WGPU_WHOLE_SIZE _wgpu_COMMA \ +- /*.sampler=*/NULL _wgpu_COMMA \ +- /*.textureView=*/NULL _wgpu_COMMA \ ++typedef struct WGPUBindGroupDescriptor { ++ WGPUChainedStruct * nextInChain; ++ WGPUStringView label; ++ WGPUBindGroupLayout layout; ++ size_t entryCount; ++ WGPUBindGroupEntry const * entries; ++} WGPUBindGroupDescriptor WGPU_STRUCTURE_ATTRIBUTE; ++ ++#define WGPU_BIND_GROUP_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUBindGroupDescriptor, { \ ++ /*.nextInChain=*/NULL _wgpu_COMMA \ ++ /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \ ++ /*.layout=*/NULL _wgpu_COMMA \ ++ /*.entryCount=*/0 _wgpu_COMMA \ ++ /*.entries=*/NULL _wgpu_COMMA \ + }) + + typedef struct WGPUBindGroupLayoutEntry { +@@ + /*.attributes=*/NULL _wgpu_COMMA \ + }) + +-typedef struct WGPUBindGroupDescriptor { +- WGPUChainedStruct * nextInChain; +- WGPUStringView label; +- WGPUBindGroupLayout layout; +- size_t entryCount; +- WGPUBindGroupEntry const * entries; +-} WGPUBindGroupDescriptor WGPU_STRUCTURE_ATTRIBUTE; +- +-#define WGPU_BIND_GROUP_DESCRIPTOR_INIT _wgpu_MAKE_INIT_STRUCT(WGPUBindGroupDescriptor, { \ +- /*.nextInChain=*/NULL _wgpu_COMMA \ +- /*.label=*/WGPU_STRING_VIEW_INIT _wgpu_COMMA \ +- /*.layout=*/NULL _wgpu_COMMA \ +- /*.entryCount=*/0 _wgpu_COMMA \ +- /*.entries=*/NULL _wgpu_COMMA \ +-}) +- + typedef struct WGPUBindGroupLayoutDescriptor { + WGPUChainedStruct * nextInChain; + WGPUStringView label; +@@ /*.depthStencilAttachment=*/NULL _wgpu_COMMA \ /*.occlusionQuerySet=*/NULL _wgpu_COMMA \ /*.timestampWrites=*/NULL _wgpu_COMMA \ @@ -82,3 +244,25 @@ }) typedef struct WGPUVertexState { +@@ + typedef void (*WGPUProcDeviceAddRef)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; + typedef void (*WGPUProcDeviceRelease)(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; + +-typedef void (*WGPUProcExternalTextureSetLabel)(WGPUExternalTexture externalTexture, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +-typedef void (*WGPUProcExternalTextureAddRef)(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +-typedef void (*WGPUProcExternalTextureRelease)(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +- + typedef WGPUSurface (*WGPUProcInstanceCreateSurface)(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; + typedef void (*WGPUProcInstanceGetWGSLLanguageFeatures)(WGPUInstance instance, WGPUSupportedWGSLLanguageFeatures * features) WGPU_FUNCTION_ATTRIBUTE; + typedef WGPUBool (*WGPUProcInstanceHasWGSLLanguageFeature)(WGPUInstance instance, WGPUWGSLLanguageFeatureName feature) WGPU_FUNCTION_ATTRIBUTE; +@@ + WGPU_EXPORT void wgpuDeviceAddRef(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; + WGPU_EXPORT void wgpuDeviceRelease(WGPUDevice device) WGPU_FUNCTION_ATTRIBUTE; + +-WGPU_EXPORT void wgpuExternalTextureSetLabel(WGPUExternalTexture externalTexture, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; +-WGPU_EXPORT void wgpuExternalTextureAddRef(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +-WGPU_EXPORT void wgpuExternalTextureRelease(WGPUExternalTexture externalTexture) WGPU_FUNCTION_ATTRIBUTE; +- + WGPU_EXPORT WGPUSurface wgpuInstanceCreateSurface(WGPUInstance instance, WGPUSurfaceDescriptor const * descriptor) WGPU_FUNCTION_ATTRIBUTE; + WGPU_EXPORT void wgpuInstanceGetWGSLLanguageFeatures(WGPUInstance instance, WGPUSupportedWGSLLanguageFeatures * features) WGPU_FUNCTION_ATTRIBUTE; + WGPU_EXPORT WGPUBool wgpuInstanceHasWGSLLanguageFeature(WGPUInstance instance, WGPUWGSLLanguageFeatureName feature) WGPU_FUNCTION_ATTRIBUTE;