aboutsummaryrefslogtreecommitdiff
path: root/layers/core_validation.cpp
diff options
context:
space:
mode:
authorMark Young <marky@lunarg.com>2016-03-30 01:17:08 -0600
committerTobin Ehlis <tobine@google.com>2016-03-31 16:33:50 -0600
commit27d5956706f35ec88865a7e37f1363d588d4d2e3 (patch)
tree1ee4f1dcfb5d44f50ea58742344ee4f74882b1f9 /layers/core_validation.cpp
parent49f4fedd0bf98e3927dcd10cde514f20a2ab0437 (diff)
downloadusermoji-27d5956706f35ec88865a7e37f1363d588d4d2e3.tar.xz
layers: LX265 Error if color blend attch count != subpass attch.
Spec states that the VkPilelineColorBlendAttachmentState attachmentCount must be equal to the subpass' colorAttachmentCount. Change-Id: I2b281cda2c12f2003d8ee68b326d78a9aaadf573
Diffstat (limited to 'layers/core_validation.cpp')
-rw-r--r--layers/core_validation.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index 8ebc10b9..7235fd5e 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -3409,6 +3409,14 @@ static VkBool32 validatePipelineState(layer_data *my_data, const GLOBAL_CB_NODE
VkSampleCountFlagBits subpassNumSamples = (VkSampleCountFlagBits)0;
uint32_t i;
+ if (pPipeline->cbStateCI.attachmentCount != pSD->colorAttachmentCount) {
+ return log_msg(my_data->report_data, VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT,
+ reinterpret_cast<const uint64_t &>(pipeline), __LINE__, DRAWSTATE_INVALID_RENDERPASS, "DS",
+ "Render pass subpass %u mismatch between blend state attachment count %u and "
+ "sub-pass color attachment count %u! These must be the same.",
+ pCB->activeSubpass, pPipeline->cbStateCI.attachmentCount, pSD->colorAttachmentCount);
+ }
+
for (i = 0; i < pSD->colorAttachmentCount; i++) {
VkSampleCountFlagBits samples;