diff --git a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm index 11e293fb..7e62de29 100644 --- a/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm +++ b/MoltenVK/MoltenVK/GPUObjects/MVKImage.mm @@ -1564,11 +1564,6 @@ MVKImageView::MVKImageView(MVKDevice* device, } } - // Validate whether the image view configuration can be supported - if ( !_image->getIsValidViewFormat(pCreateInfo->format) ) { - setConfigurationResult(reportError(VK_ERROR_FORMAT_NOT_SUPPORTED, "vkCreateImageView(): The format is not in the list of allowed view formats declared in the VkImageFormatListCreateInfo provided in vkCreateImage().")); - } - VkImageType imgType = _image->getImageType(); VkImageViewType viewType = pCreateInfo->viewType; diff --git a/README.md b/README.md index a546e3cc..ec547490 100644 --- a/README.md +++ b/README.md @@ -349,6 +349,18 @@ encumbrances. In submitting code to this repository, you are agreeing that the c Property claims. +### *Vulkan* Validation + +Despite running on top of *Metal*, **MoltenVK** operates as a *Vulkan* core layer. As such, as per the +error handling guidelines of the [*Vulkan* specification](https://www.khronos.org/registry/vulkan/specs/1.1/html/vkspec.html#fundamentals-errors), **MoltenVK** should not perform *Vulkan* validation. When adding functionality +to **MoltenVK**, avoid adding unnecessary validation code. + +Validation and error generation **_is_** appropriate within **MoltenVK** in cases where **MoltenVK** deviates +from behavior defined by the *Vulkan* specification. This most commonly occurs when required behavior cannot +be mapped to functionality available within *Metal*. In that situation, it is important to provide feedback to +the application developer to that effect, by performing the necessary validation, and reporting an error. + + ### Memory Management *Metal*, and other *Objective-C* objects in *Apple's SDK* frameworks, use reference counting for memory management.