Remove deprecated ExternalImageAccessDescriptorDXGIKeyedMutex behavior
Previously Dawn was using acquireKey + 1 for the releaseKey but we
changed the code transition to requiring a specific key. We supported
both options for a time but now that Chromium uses a releaseKey, we can
remove the deprecated option.
Bug: chromium:1213977
Change-Id: Iab253673c15b83b107dcc3635ee165cfa09efeb6
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/58383
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Auto-Submit: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
diff --git a/src/dawn_native/d3d12/D3D12Backend.cpp b/src/dawn_native/d3d12/D3D12Backend.cpp
index a363757..fc10fe3 100644
--- a/src/dawn_native/d3d12/D3D12Backend.cpp
+++ b/src/dawn_native/d3d12/D3D12Backend.cpp
@@ -84,16 +84,10 @@
textureDescriptor.mipLevelCount = mMipLevelCount;
textureDescriptor.sampleCount = mSampleCount;
- // Set the release key to acquire key + 1 if not set. This allows supporting the old keyed
- // mutex protocol during the transition to making this a required parameter.
- ExternalMutexSerial releaseMutexKey =
- (descriptor->releaseMutexKey != UINT64_MAX)
- ? ExternalMutexSerial(descriptor->releaseMutexKey)
- : ExternalMutexSerial(descriptor->acquireMutexKey + 1);
-
Ref<TextureBase> texture = backendDevice->CreateExternalTexture(
&textureDescriptor, mD3D12Resource, ExternalMutexSerial(descriptor->acquireMutexKey),
- releaseMutexKey, descriptor->isSwapChainTexture, descriptor->isInitialized);
+ ExternalMutexSerial(descriptor->releaseMutexKey), descriptor->isSwapChainTexture,
+ descriptor->isInitialized);
return reinterpret_cast<WGPUTexture>(texture.Detach());
}
diff --git a/src/include/dawn_native/D3D12Backend.h b/src/include/dawn_native/D3D12Backend.h
index e545ee1..cfddcc2 100644
--- a/src/include/dawn_native/D3D12Backend.h
+++ b/src/include/dawn_native/D3D12Backend.h
@@ -56,8 +56,7 @@
: ExternalImageAccessDescriptor {
public:
uint64_t acquireMutexKey;
- // Release key will be set to acquireMutexKey + 1 if set to sentinel value UINT64_MAX.
- uint64_t releaseMutexKey = UINT64_MAX;
+ uint64_t releaseMutexKey;
bool isSwapChainTexture = false;
};
diff --git a/src/tests/end2end/D3D12ResourceWrappingTests.cpp b/src/tests/end2end/D3D12ResourceWrappingTests.cpp
index ce92a10..7050dfe 100644
--- a/src/tests/end2end/D3D12ResourceWrappingTests.cpp
+++ b/src/tests/end2end/D3D12ResourceWrappingTests.cpp
@@ -122,6 +122,7 @@
dawn_native::d3d12::ExternalImageAccessDescriptorDXGIKeyedMutex externalAccessDesc;
externalAccessDesc.acquireMutexKey = 0;
+ externalAccessDesc.releaseMutexKey = 1;
externalAccessDesc.usage = static_cast<WGPUTextureUsageFlags>(dawnDesc->usage);
*dawnTexture = wgpu::Texture::Acquire(
@@ -361,6 +362,7 @@
dawn_native::d3d12::ExternalImageAccessDescriptorDXGIKeyedMutex externalAccessDesc;
externalAccessDesc.acquireMutexKey = 1;
+ externalAccessDesc.releaseMutexKey = 2;
externalAccessDesc.isInitialized = isInitialized;
externalAccessDesc.usage = static_cast<WGPUTextureUsageFlags>(dawnDescriptor->usage);
@@ -582,6 +584,7 @@
// Create another Dawn texture then clear it with another color.
dawn_native::d3d12::ExternalImageAccessDescriptorDXGIKeyedMutex externalAccessDesc;
externalAccessDesc.acquireMutexKey = 1;
+ externalAccessDesc.releaseMutexKey = 2;
externalAccessDesc.isInitialized = true;
externalAccessDesc.usage = static_cast<WGPUTextureUsageFlags>(baseDawnDescriptor.usage);
@@ -607,6 +610,7 @@
dawn_native::d3d12::ExternalImageAccessDescriptorDXGIKeyedMutex externalAccessDesc;
externalAccessDesc.acquireMutexKey = 1;
+ externalAccessDesc.releaseMutexKey = 2;
externalAccessDesc.isInitialized = true;
wgpu::Texture texture;
diff --git a/src/tests/end2end/D3D12VideoViewsTests.cpp b/src/tests/end2end/D3D12VideoViewsTests.cpp
index 187cbb7..165b700 100644
--- a/src/tests/end2end/D3D12VideoViewsTests.cpp
+++ b/src/tests/end2end/D3D12VideoViewsTests.cpp
@@ -221,6 +221,7 @@
dawn_native::d3d12::ExternalImageAccessDescriptorDXGIKeyedMutex externalAccessDesc;
externalAccessDesc.acquireMutexKey = 1;
+ externalAccessDesc.releaseMutexKey = 2;
externalAccessDesc.isInitialized = true;
externalAccessDesc.usage = static_cast<WGPUTextureUsageFlags>(textureDesc.usage);