Bug 211363
| Summary: | GPUTexture objects are returned with “null” native Metal textures backing them when the “usage” flag is not set correctly. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | gvinals |
| Component: | WebGPU | Assignee: | Nobody <webkit-unassigned> |
| Status: | NEW | ||
| Severity: | Normal | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
gvinals
GPUTexture objects are returned with “null” native Metal textures backing them when the “usage” flag is not set correctly. For example, you can set usage to 0 or a random number and a GPUTexture will still be returned by device.createTexture(…). This texture is also able to create a GPUTextureView.
Unfortunately after that many internal errors may happen that can be very tricky to debug for application developers.
For example if we always return a null GPUTexture with no Metal texture backing it:
Ref<WebGPUTexture> WebGPUDevice::createTexture(const GPUTextureDescriptor& descriptor) const
{
auto texture = m_device->tryCreateTexture(descriptor);
return WebGPUTexture::create(nullptr);
}
The tests under LayoutTests/webgpu/textures-textureviews.html will still all pass.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/62822180>