diff --git a/src/dawn/native/vulkan/SharedTextureMemoryVk.cpp b/src/dawn/native/vulkan/SharedTextureMemoryVk.cpp index f1b2462b208..8e2e43b2aa8 100644 --- a/src/dawn/native/vulkan/SharedTextureMemoryVk.cpp +++ b/src/dawn/native/vulkan/SharedTextureMemoryVk.cpp @@ -228,6 +228,16 @@ ResultOrError> SharedTextureMemory::Create( DAWN_INVALID_IF(descriptor->size.depthOrArrayLayers != 1, "depthOrArrayLayers was not 1."); + const CombinedLimits& limits = device->GetLimits(); + DAWN_INVALID_IF(descriptor->size.width == 0 || + descriptor->size.width > limits.v1.maxTextureDimension2D, + "Resource width (%u) is zero or exceeds maxTextureDimension2D (%u).", + descriptor->size.width, limits.v1.maxTextureDimension2D); + DAWN_INVALID_IF(descriptor->size.height == 0 || + descriptor->size.height > limits.v1.maxTextureDimension2D, + "Resource height (%u) is zero or exceeds maxTextureDimension2D (%u).", + descriptor->size.height, limits.v1.maxTextureDimension2D); + SharedTextureMemoryProperties properties; properties.size = {descriptor->size.width, descriptor->size.height, descriptor->size.depthOrArrayLayers};