Add validation policy for MoltenVK development to README.md document.

Remove unnecessary image view format validation.
This commit is contained in:
Bill Hollings 2020-10-02 12:22:32 -04:00
parent 0673e63b18
commit 78c58cc026
2 changed files with 12 additions and 5 deletions

View File

@ -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;

View File

@ -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.