From b74c683ea7e241d0592138db5f32f260fd95d8a4 Mon Sep 17 00:00:00 2001 From: Mark Lobodzinski Date: Wed, 1 Mar 2017 15:01:45 -0700 Subject: layers: Add alphaToOne device feature validation Change-Id: I1633cf7a8a5ebeed797cdb5373e5eb2533ce6887 --- layers/core_validation.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'layers/core_validation.cpp') diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 5c8b7948..e5765aa5 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -3253,6 +3253,15 @@ static bool verifyPipelineCreateState(layer_data *dev_data, std::vectorgraphicsPipelineCI.pRasterizationState->rasterizerDiscardEnable == VK_FALSE) { auto subpass_desc = renderPass ? &renderPass->createInfo.pSubpasses[pPipeline->graphicsPipelineCI.subpass] : nullptr; + if ((pPipeline->graphicsPipelineCI.pMultisampleState->alphaToOneEnable == VK_TRUE) && + (!dev_data->enabled_features.alphaToOne)) { + skip_call |= log_msg(dev_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, + 0, __LINE__, VALIDATION_ERROR_01464, "DS", + "vkCreateGraphicsPipelines(): the alphaToOne device feature is disabled: the alphaToOneEnable " + "member of the VkPipelineMultisampleStateCreateInfo structure must be set to VK_FALSE.", + validation_error_map[VALIDATION_ERROR_01464]); + } + // If subpass uses a depth/stencil attachment, pDepthStencilState must be a pointer to a valid structure if (subpass_desc && subpass_desc->pDepthStencilAttachment && subpass_desc->pDepthStencilAttachment->attachment != VK_ATTACHMENT_UNUSED) { -- cgit v1.2.3