Lines Matching +full:- +full:- +full:devsim
2 * Copyright (c) 2015-2019 The Khronos Group Inc.
3 * Copyright (c) 2015-2019 Valve Corporation
4 * Copyright (c) 2015-2019 LunarG, Inc.
5 * Copyright (c) 2015-2019 Google, Inc.
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Author: Chia-I Wu <olvaffe@gmail.com>
46 // Set polygonMode to POINT while the non-solid fill mode feature is disabled. in TEST_F()
52 // Set polygonMode to LINE while the non-solid fill mode feature is disabled. in TEST_F()
62 … "VUID-VkPipelineRasterizationStateCreateInfo-polygonMode-01414"); in TEST_F()
68 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdBindPipeline-pipeli… in TEST_F()
75 m_commandBuffer->begin(); in TEST_F()
76 vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, badPipeline); in TEST_F()
78 m_errorMonitor->VerifyFound(); in TEST_F()
84 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdBindPipeline-pipeli… in TEST_F()
94 m_commandBuffer->begin(); in TEST_F()
95 vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe.pipeline_); in TEST_F()
97 m_errorMonitor->VerifyFound(); in TEST_F()
103 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdBindPipeline-pipeli… in TEST_F()
113 m_commandBuffer->begin(); in TEST_F()
114 vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_COMPUTE, pipe.pipeline_); in TEST_F()
116 m_errorMonitor->VerifyFound(); in TEST_F()
120 TEST_DESCRIPTION("Bind a graphics pipeline in the ray-tracing bind point"); in TEST_F()
139 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdBindPipeline-pipeli… in TEST_F()
153 m_commandBuffer->begin(); in TEST_F()
154 …vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_RAY_TRACING_NV, pipe.pipeline_… in TEST_F()
156 m_errorMonitor->VerifyFound(); in TEST_F()
173 VkFormatProperties format_props = m_device->format_properties(input_attribs.format); in TEST_F()
188 "VUID-VkVertexInputAttributeDescription-format-00623"); in TEST_F()
199 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
237 vkCreateRenderPass(m_device->device(), &rpci, NULL, &renderpass); in TEST_F()
249 m_errorMonitor->VerifyFound(); in TEST_F()
250 vkDestroyRenderPass(m_device->device(), renderpass, NULL); in TEST_F()
269 … "VUID-VkGraphicsPipelineCreateInfo-rasterizerDiscardEnable-00753"); in TEST_F()
289 " vertices[0] = vec2(-1.0, -1.0);\n" in TEST_F()
290 " vertices[1] = vec2( 1.0, -1.0);\n" in TEST_F()
301 helper.shader_stages_ = {vs.GetStageCreateInfo(), helper.fs_->GetStageCreateInfo()}; in TEST_F()
323 helper.shader_stages_ = {vs.GetStageCreateInfo(), helper.fs_->GetStageCreateInfo()}; in TEST_F()
328 "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428"); in TEST_F()
332 "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428"); in TEST_F()
336 "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428"); in TEST_F()
340 … std::vector<string>{"VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428", in TEST_F()
341 … "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00429"}); in TEST_F()
345 … std::vector<string>{"VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428", in TEST_F()
346 … "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00429"}); in TEST_F()
350 … std::vector<string>{"VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428", in TEST_F()
351 … "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00430", in TEST_F()
352 … "VUID-VkGraphicsPipelineCreateInfo-topology-00737"}); in TEST_F()
356 "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00429"); in TEST_F()
360 "VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00429"); in TEST_F()
369 …if ((!m_device->phy().features().geometryShader) || (!m_device->phy().features().shaderTessellatio… in TEST_F()
392 …helper.shader_stages_ = {vs.GetStageCreateInfo(), gs.GetStageCreateInfo(), helper.fs_->GetStageCre… in TEST_F()
403 if (!m_device->phy().features().geometryShader) { in TEST_F()
485 …helper.shader_stages_ = {vs.GetStageCreateInfo(), gs.GetStageCreateInfo(), helper.fs_->GetStageCre… in TEST_F()
496 if (!m_device->phy().features().geometryShader) { in TEST_F()
527 …helper.shader_stages_ = {vs.GetStageCreateInfo(), gs.GetStageCreateInfo(), helper.fs_->GetStageCre… in TEST_F()
550 VkResult err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
554 const auto excess_layouts = 1 + m_device->phy().properties().limits.maxBoundDescriptorSets; in TEST_F()
563 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
565 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
566 m_errorMonitor->VerifyFound(); in TEST_F()
569 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
573 …TEST_DESCRIPTION("Attempt to create a pipeline layout where total descriptors exceed per-stage lim… in TEST_F()
577 …uint32_t max_uniform_buffers = m_device->phy().properties().limits.maxPerStageDescriptorUniformBuf… in TEST_F()
578 …uint32_t max_storage_buffers = m_device->phy().properties().limits.maxPerStageDescriptorStorageBuf… in TEST_F()
579 …uint32_t max_sampled_images = m_device->phy().properties().limits.maxPerStageDescriptorSampledImag… in TEST_F()
580 …uint32_t max_storage_images = m_device->phy().properties().limits.maxPerStageDescriptorStorageImag… in TEST_F()
581 uint32_t max_samplers = m_device->phy().properties().limits.maxPerStageDescriptorSamplers; in TEST_F()
583 …uint32_t max_input_attachments = m_device->phy().properties().limits.maxPerStageDescriptorInputAtt… in TEST_F()
585 …uint32_t sum_dyn_uniform_buffers = m_device->phy().properties().limits.maxDescriptorSetUniformBuff… in TEST_F()
586 … uint32_t sum_uniform_buffers = m_device->phy().properties().limits.maxDescriptorSetUniformBuffers; in TEST_F()
587 …uint32_t sum_dyn_storage_buffers = m_device->phy().properties().limits.maxDescriptorSetStorageBuff… in TEST_F()
588 … uint32_t sum_storage_buffers = m_device->phy().properties().limits.maxDescriptorSetStorageBuffers; in TEST_F()
589 uint32_t sum_sampled_images = m_device->phy().properties().limits.maxDescriptorSetSampledImages; in TEST_F()
590 uint32_t sum_storage_images = m_device->phy().properties().limits.maxDescriptorSetStorageImages; in TEST_F()
591 uint32_t sum_samplers = m_device->phy().properties().limits.maxDescriptorSetSamplers; in TEST_F()
592 …uint32_t sum_input_attachments = m_device->phy().properties().limits.maxDescriptorSetInputAttachme… in TEST_F()
596 printf("%s Physical device limits report as 2^32-1. Skipping test.\n", kSkipPrefix); in TEST_F()
613 // VU 0fe0023e - too many sampler type descriptors in fragment stage in TEST_F()
629 VkResult err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
632 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
634 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
635 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01677"); // expect all-stages sum too in TEST_F()
638 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
639 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01682"); // expect all-stages sum too in TEST_F()
641 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
642 m_errorMonitor->VerifyFound(); in TEST_F()
643 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
645 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
647 // VU 0fe00240 - too many uniform buffer type descriptors in vertex stage in TEST_F()
661 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
664 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
666 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
667 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01678"); // expect all-stages sum too in TEST_F()
670 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
671 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01679"); // expect all-stages sum too in TEST_F()
673 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
674 m_errorMonitor->VerifyFound(); in TEST_F()
675 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
677 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
679 // VU 0fe00242 - too many storage buffer type descriptors in compute stage in TEST_F()
696 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
699 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
701 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
702 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01681"); // expect all-stages sum too in TEST_F()
705 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
706 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01680"); // expect all-stages sum too in TEST_F()
708 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
709 m_errorMonitor->VerifyFound(); in TEST_F()
710 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
712 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
714 // VU 0fe00244 - too many sampled image type descriptors in multiple stages in TEST_F()
732 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
735 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
737 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
738 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01682"); // expect all-stages sum too in TEST_F()
741 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
742 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01677"); // expect all-stages sum too in TEST_F()
744 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
745 m_errorMonitor->VerifyFound(); in TEST_F()
746 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
748 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
750 // VU 0fe00246 - too many storage image type descriptors in fragment stage in TEST_F()
764 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
767 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
769 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
770 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01683"); // expect all-stages sum too in TEST_F()
772 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
773 m_errorMonitor->VerifyFound(); in TEST_F()
774 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
776 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
778 // VU 0fe00d18 - too many input attachments in fragment stage in TEST_F()
788 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
791 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
793 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
794 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01684"); // expect all-stages sum too in TEST_F()
796 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
797 m_errorMonitor->VerifyFound(); in TEST_F()
798 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
800 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
808 …uint32_t max_uniform_buffers = m_device->phy().properties().limits.maxPerStageDescriptorUniformBuf… in TEST_F()
809 …uint32_t max_storage_buffers = m_device->phy().properties().limits.maxPerStageDescriptorStorageBuf… in TEST_F()
810 …uint32_t max_sampled_images = m_device->phy().properties().limits.maxPerStageDescriptorSampledImag… in TEST_F()
811 …uint32_t max_storage_images = m_device->phy().properties().limits.maxPerStageDescriptorStorageImag… in TEST_F()
812 uint32_t max_samplers = m_device->phy().properties().limits.maxPerStageDescriptorSamplers; in TEST_F()
813 …uint32_t max_input_attachments = m_device->phy().properties().limits.maxPerStageDescriptorInputAtt… in TEST_F()
815 …uint32_t sum_dyn_uniform_buffers = m_device->phy().properties().limits.maxDescriptorSetUniformBuff… in TEST_F()
816 … uint32_t sum_uniform_buffers = m_device->phy().properties().limits.maxDescriptorSetUniformBuffers; in TEST_F()
817 …uint32_t sum_dyn_storage_buffers = m_device->phy().properties().limits.maxDescriptorSetStorageBuff… in TEST_F()
818 … uint32_t sum_storage_buffers = m_device->phy().properties().limits.maxDescriptorSetStorageBuffers; in TEST_F()
819 uint32_t sum_sampled_images = m_device->phy().properties().limits.maxDescriptorSetSampledImages; in TEST_F()
820 uint32_t sum_storage_images = m_device->phy().properties().limits.maxDescriptorSetStorageImages; in TEST_F()
821 uint32_t sum_samplers = m_device->phy().properties().limits.maxDescriptorSetSamplers; in TEST_F()
822 …uint32_t sum_input_attachments = m_device->phy().properties().limits.maxDescriptorSetInputAttachme… in TEST_F()
827 printf("%s Physical device limits report as 2^32-1. Skipping test.\n", kSkipPrefix); in TEST_F()
844 // VU 0fe00d1a - too many sampler type descriptors overall in TEST_F()
854 dslb.descriptorCount = sum_samplers - dslb.descriptorCount + 1; in TEST_F()
860 VkResult err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
863 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
865 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
867 …"VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00287"); // Expect max-per-stage samplers exceeds li… in TEST_F()
870 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
872 …"VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01682"); // Expect max overall sampled image count e… in TEST_F()
875 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
877 …"VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00290"); // Expect max per-stage sampled image count… in TEST_F()
879 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
880 m_errorMonitor->VerifyFound(); in TEST_F()
881 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
883 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
885 // VU 0fe00d1c - too many uniform buffer type descriptors overall in TEST_F()
896 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
899 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
901 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
902 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00288"); // expect max-per-stage too in TEST_F()
904 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
905 m_errorMonitor->VerifyFound(); in TEST_F()
906 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
908 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
910 // VU 0fe00d1e - too many dynamic uniform buffer type descriptors overall in TEST_F()
921 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
924 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
926 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
927 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00288"); // expect max-per-stage too in TEST_F()
929 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
930 m_errorMonitor->VerifyFound(); in TEST_F()
931 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
933 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
935 // VU 0fe00d20 - too many storage buffer type descriptors overall in TEST_F()
946 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
949 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
951 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
952 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00289"); // expect max-per-stage too in TEST_F()
954 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
955 m_errorMonitor->VerifyFound(); in TEST_F()
956 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
958 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
960 // VU 0fe00d22 - too many dynamic storage buffer type descriptors overall in TEST_F()
971 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
974 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
976 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
977 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00289"); // expect max-per-stage too in TEST_F()
979 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
980 m_errorMonitor->VerifyFound(); in TEST_F()
981 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
983 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
985 // VU 0fe00d24 - too many sampled image type descriptors overall in TEST_F()
996 …uint32_t remaining = (max_samplers > sum_sampled_images ? 0 : (sum_sampled_images - max_samplers) … in TEST_F()
1007 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
1010 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
1012 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
1014 …"VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00290"); // Expect max-per-stage sampled images to e… in TEST_F()
1016 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
1017 m_errorMonitor->VerifyFound(); in TEST_F()
1018 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
1020 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
1022 // VU 0fe00d26 - too many storage image type descriptors overall in TEST_F()
1032 dslb.descriptorCount = sum_storage_images - dslb.descriptorCount + 1; in TEST_F()
1038 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
1041 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
1043 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
1044 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00291"); // expect max-per-stage too in TEST_F()
1046 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
1047 m_errorMonitor->VerifyFound(); in TEST_F()
1048 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
1050 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
1052 // VU 0fe00d28 - too many input attachment type descriptors overall in TEST_F()
1063 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL, &ds_layout); in TEST_F()
1066 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
1068 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
1069 … "VUID-VkPipelineLayoutCreateInfo-pSetLayouts-01676"); // expect max-per-stage too in TEST_F()
1071 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
1072 m_errorMonitor->VerifyFound(); in TEST_F()
1073 …vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL); // Unnecessary but harmless i… in TEST_F()
1075 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL); in TEST_F()
1091 m_commandBuffer->begin(); in TEST_F()
1092 … vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, helper.pipeline_); in TEST_F()
1093 m_commandBuffer->end(); in TEST_F()
1099 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
1100 … "UNASSIGNED-CoreValidation-DrawState-InvalidCommandBuffer-VkPipeline"); in TEST_F()
1101 m_commandBuffer->QueueCommandBuffer(false); in TEST_F()
1102 m_errorMonitor->VerifyFound(); in TEST_F()
1119 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdBindPipeline-pipeli… in TEST_F()
1120 m_commandBuffer->begin(); in TEST_F()
1121 vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, bad_pipeline); in TEST_F()
1122 m_errorMonitor->VerifyFound(); in TEST_F()
1125 …m_commandBuffer->BeginRenderPass(m_renderPassBeginInfo); // Draw*() calls must be submitted withi… in TEST_F()
1127 … m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDraw-None-02700"); in TEST_F()
1128 m_commandBuffer->Draw(1, 0, 0, 0); in TEST_F()
1129 m_errorMonitor->VerifyFound(); in TEST_F()
1131 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDrawIndexed-None-02… in TEST_F()
1132 m_commandBuffer->DrawIndexed(1, 1, 0, 0, 0); in TEST_F()
1133 m_errorMonitor->VerifyFound(); in TEST_F()
1141 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDrawIndirect-None-0… in TEST_F()
1142 vkCmdDrawIndirect(m_commandBuffer->handle(), buffer.handle(), 0, 1, 0); in TEST_F()
1143 m_errorMonitor->VerifyFound(); in TEST_F()
1145 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDrawIndexedIndirect… in TEST_F()
1146 vkCmdDrawIndexedIndirect(m_commandBuffer->handle(), buffer.handle(), 0, 1, 0); in TEST_F()
1147 m_errorMonitor->VerifyFound(); in TEST_F()
1151 …(PFN_vkCmdDrawIndirectCountKHR)vkGetDeviceProcAddr(m_device->device(), "vkCmdDrawIndirectCountKHR"… in TEST_F()
1154 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDrawIndirectCountKH… in TEST_F()
1156 …fpCmdDrawIndirectCountKHR(m_commandBuffer->handle(), buffer.handle(), 0, buffer.handle(), 512, 1, … in TEST_F()
1157 m_errorMonitor->VerifyFound(); in TEST_F()
1160 …(PFN_vkCmdDrawIndexedIndirectCountKHR)vkGetDeviceProcAddr(m_device->device(), "vkCmdDrawIndexedInd… in TEST_F()
1162 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDrawIndexedIndirect… in TEST_F()
1164 …fpCmdDrawIndexedIndirectCountKHR(m_commandBuffer->handle(), buffer.handle(), 0, buffer.handle(), 5… in TEST_F()
1165 m_errorMonitor->VerifyFound(); in TEST_F()
1169 …vkCmdEndRenderPass(m_commandBuffer->handle()); // Compute submissions must be outside a renderpass in TEST_F()
1171 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatch-None-02700… in TEST_F()
1172 vkCmdDispatch(m_commandBuffer->handle(), 0, 0, 0); in TEST_F()
1173 m_errorMonitor->VerifyFound(); in TEST_F()
1175 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatchIndirect-No… in TEST_F()
1176 vkCmdDispatchIndirect(m_commandBuffer->handle(), buffer.handle(), 0); in TEST_F()
1177 m_errorMonitor->VerifyFound(); in TEST_F()
1195 uint32_t x_count_limit = m_device->props.limits.maxComputeWorkGroupCount[0]; in TEST_F()
1196 uint32_t y_count_limit = m_device->props.limits.maxComputeWorkGroupCount[1]; in TEST_F()
1197 uint32_t z_count_limit = m_device->props.limits.maxComputeWorkGroupCount[2]; in TEST_F()
1203 uint32_t x_size_limit = m_device->props.limits.maxComputeWorkGroupSize[0]; in TEST_F()
1204 uint32_t y_size_limit = m_device->props.limits.maxComputeWorkGroupSize[1]; in TEST_F()
1205 uint32_t z_size_limit = m_device->props.limits.maxComputeWorkGroupSize[2]; in TEST_F()
1227 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "exceeds device limit maxCompu… in TEST_F()
1228 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "exceeds device limit maxCompu… in TEST_F()
1229 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "exceeds device limit maxCompu… in TEST_F()
1230 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "features-limits-maxComputeWor… in TEST_F()
1232 m_errorMonitor->VerifyFound(); in TEST_F()
1239 uint32_t invocations_limit = m_device->props.limits.maxComputeWorkGroupInvocations; in TEST_F()
1255 m_commandBuffer->begin(); in TEST_F()
1256 vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_COMPUTE, pipe.pipeline_); in TEST_F()
1259 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatch-groupCount… in TEST_F()
1260 vkCmdDispatch(m_commandBuffer->handle(), x_count_limit + 1, y_count_limit, z_count_limit); in TEST_F()
1261 m_errorMonitor->VerifyFound(); in TEST_F()
1263 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatch-groupCount… in TEST_F()
1264 vkCmdDispatch(m_commandBuffer->handle(), x_count_limit, y_count_limit + 1, z_count_limit); in TEST_F()
1265 m_errorMonitor->VerifyFound(); in TEST_F()
1267 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatch-groupCount… in TEST_F()
1268 vkCmdDispatch(m_commandBuffer->handle(), x_count_limit, y_count_limit, z_count_limit + 1); in TEST_F()
1269 m_errorMonitor->VerifyFound(); in TEST_F()
1276 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatchBase-baseGr… in TEST_F()
1277 …fp_vkCmdDispatchBaseKHR(m_commandBuffer->handle(), x_count_limit, y_count_limit - 1, z_count_limit… in TEST_F()
1278 m_errorMonitor->VerifyFound(); in TEST_F()
1280 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatchBase-baseGr… in TEST_F()
1281 …fp_vkCmdDispatchBaseKHR(m_commandBuffer->handle(), x_count_limit - 1, y_count_limit, z_count_limit… in TEST_F()
1282 m_errorMonitor->VerifyFound(); in TEST_F()
1284 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatchBase-baseGr… in TEST_F()
1285 …fp_vkCmdDispatchBaseKHR(m_commandBuffer->handle(), x_count_limit - 1, y_count_limit - 1, z_count_l… in TEST_F()
1286 m_errorMonitor->VerifyFound(); in TEST_F()
1292 x_count_limit -= x_base; in TEST_F()
1293 y_count_limit -= y_base; in TEST_F()
1294 z_count_limit -= z_base; in TEST_F()
1296 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatchBase-groupC… in TEST_F()
1297 …fp_vkCmdDispatchBaseKHR(m_commandBuffer->handle(), x_base, y_base, z_base, x_count_limit + 1, y_co… in TEST_F()
1298 m_errorMonitor->VerifyFound(); in TEST_F()
1300 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatchBase-groupC… in TEST_F()
1301 …fp_vkCmdDispatchBaseKHR(m_commandBuffer->handle(), x_base, y_base, z_base, x_count_limit, y_count_… in TEST_F()
1302 m_errorMonitor->VerifyFound(); in TEST_F()
1304 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdDispatchBase-groupC… in TEST_F()
1305 …fp_vkCmdDispatchBaseKHR(m_commandBuffer->handle(), x_base, y_base, z_base, x_count_limit, y_count_… in TEST_F()
1306 m_errorMonitor->VerifyFound(); in TEST_F()
1352 … "VUID-VkPipelineMultisampleStateCreateInfo-sampleShadingEnable-00784"); in TEST_F()
1363 … printf("%s SampleRateShading feature is disabled -- skipping related checks.\n", kSkipPrefix); in TEST_F()
1376 … "VUID-VkPipelineMultisampleStateCreateInfo-minSampleShading-00786", positive_test); in TEST_F()
1413 printf("%s Required extension not present -- skipping positive checks.\n", kSkipPrefix); in TEST_F()
1419 "VUID-VkPipelineMultisampleStateCreateInfo-pNext-pNext"); in TEST_F()
1449 const VkPhysicalDeviceLimits &dev_limits = m_device->props.limits; in TEST_F()
1481 // clang-format off in TEST_F()
1487 {"VUID-VkVertexInputBindingDivisorDescriptionEXT-inputRate-01871"} in TEST_F()
1493 {"VUID-VkVertexInputBindingDivisorDescriptionEXT-binding-01869", in TEST_F()
1494 "VUID-VkVertexInputBindingDivisorDescriptionEXT-inputRate-01871"} in TEST_F()
1504 {"VUID-VkVertexInputBindingDivisorDescriptionEXT-divisor-01870"} in TEST_F()
1507 // clang-format on in TEST_F()
1580 … "VUID-VkVertexInputBindingDivisorDescriptionEXT-vertexAttributeInstanceRateDivisor-02229"); in TEST_F()
1628 … "VUID-VkVertexInputBindingDivisorDescriptionEXT-vertexAttributeInstanceRateZeroDivisor-02228"); in TEST_F()
1637 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT,
1655 err = vkCreateDescriptorPool(m_device->device(),
1674 err = vkCreateDescriptorSetLayout(m_device->device(), &ds_layout_ci, NULL,
1679 err = vkAllocateDescriptorSets(m_device->device(), ds_pool,
1691 err = vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL,
1757 err = vkCreatePipelineCache(m_device->device(), &pc_ci, NULL,
1760 err = vkCreateGraphicsPipelines(m_device->device(), pipelineCache, 1,
1763 m_errorMonitor->VerifyFound();
1765 vkDestroyPipelineCache(m_device->device(), pipelineCache, NULL);
1766 vkDestroyPipelineLayout(m_device->device(), pipeline_layout, NULL);
1767 vkDestroyDescriptorSetLayout(m_device->device(), ds_layout, NULL);
1768 vkDestroyDescriptorPool(m_device->device(), ds_pool, NULL);
1773 …st VkPipelineViewportStateCreateInfo viewport and scissor count validation for non-multiViewport"); in TEST_F()
1784 … "VUID-VkGraphicsPipelineCreateInfo-rasterizerDiscardEnable-00750"); in TEST_F()
1807 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1808 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1813 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1814 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1819 {"VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217", in TEST_F()
1820 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1825 {"VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217", in TEST_F()
1826 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1831 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1832 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217"}}, in TEST_F()
1837 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1838 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217"}}, in TEST_F()
1843 …{"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", "VUID-VkPipelineViewportStateCreate… in TEST_F()
1844 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1849 …{"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", "VUID-VkPipelineViewportStateCreate… in TEST_F()
1850 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1851 {1, nullptr, 1, scissors, {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00747"}}, in TEST_F()
1852 {1, viewports, 1, nullptr, {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00748"}}, in TEST_F()
1857 …{"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00747", "VUID-VkGraphicsPipelineCreateInfo-pDyn… in TEST_F()
1862 …{"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", "VUID-VkPipelineViewportStateCreate… in TEST_F()
1863 …"VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220", "VUID-VkGraphicsPipelineCreateInfo-pD… in TEST_F()
1864 "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00748"}}, in TEST_F()
1869 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1870 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217"}}, in TEST_F()
1888 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1889 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1894 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1895 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1900 {"VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217", in TEST_F()
1901 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1906 {"VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217", in TEST_F()
1907 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1912 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1913 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217"}}, in TEST_F()
1918 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1919 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217"}}, in TEST_F()
1924 …{"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", "VUID-VkPipelineViewportStateCreate… in TEST_F()
1925 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1930 …{"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", "VUID-VkPipelineViewportStateCreate… in TEST_F()
1931 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1936 …{"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", "VUID-VkPipelineViewportStateCreate… in TEST_F()
1937 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
1942 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01216", in TEST_F()
1943 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01217"}}, in TEST_F()
2007 if (!m_device->phy().features().multiViewport) { in TEST_F()
2008 …printf("%s VkPhysicalDeviceFeatures::multiViewport is not supported -- skipping test.\n", kSkipPre… in TEST_F()
2035 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-arraylength", in TEST_F()
2036 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
2041 {"VUID-VkPipelineViewportStateCreateInfo-scissorCount-arraylength", in TEST_F()
2042 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
2047 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-arraylength", in TEST_F()
2048 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-arraylength"}}, in TEST_F()
2049 {2, nullptr, 2, scissors, {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00747"}}, in TEST_F()
2050 {2, viewports, 2, nullptr, {"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00748"}}, in TEST_F()
2055 …{"VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00747", "VUID-VkGraphicsPipelineCreateInfo-pDyn… in TEST_F()
2060 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-arraylength", in TEST_F()
2061 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-arraylength"}}, in TEST_F()
2064 const auto max_viewports = m_device->phy().properties().limits.maxViewports; in TEST_F()
2067 …printf("%s VkPhysicalDeviceLimits::maxViewports is UINT32_MAX -- skipping part of test requiring t… in TEST_F()
2076 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01218", in TEST_F()
2077 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220", in TEST_F()
2078 "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00747"}}); in TEST_F()
2083 {"VUID-VkPipelineViewportStateCreateInfo-scissorCount-01219", in TEST_F()
2084 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220", in TEST_F()
2085 "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00748"}}); in TEST_F()
2091 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01218", in TEST_F()
2092 …"VUID-VkPipelineViewportStateCreateInfo-scissorCount-01219", "VUID-VkGraphicsPipelineCreateInfo-pD… in TEST_F()
2093 "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00748"}}); in TEST_F()
2111 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-arraylength", in TEST_F()
2112 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
2117 {"VUID-VkPipelineViewportStateCreateInfo-scissorCount-arraylength", in TEST_F()
2118 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}, in TEST_F()
2123 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-arraylength", in TEST_F()
2124 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-arraylength"}}, in TEST_F()
2129 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-arraylength", in TEST_F()
2130 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-arraylength"}}, in TEST_F()
2140 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01218", in TEST_F()
2141 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}); in TEST_F()
2146 {"VUID-VkPipelineViewportStateCreateInfo-scissorCount-01219", in TEST_F()
2147 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01220"}}); in TEST_F()
2152 {"VUID-VkPipelineViewportStateCreateInfo-viewportCount-01218", in TEST_F()
2153 "VUID-VkPipelineViewportStateCreateInfo-scissorCount-01219"}}); in TEST_F()
2181 if (!m_device->phy().features().multiViewport) { in TEST_F()
2210 m_commandBuffer->begin(); in TEST_F()
2211 m_commandBuffer->BeginRenderPass(m_renderPassBeginInfo); in TEST_F()
2213 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
2215 …vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_dyn_vp.hand… in TEST_F()
2216 vkCmdSetViewport(m_commandBuffer->handle(), 1, 1, in TEST_F()
2218 m_commandBuffer->Draw(1, 0, 0, 0); in TEST_F()
2219 m_errorMonitor->VerifyFound(); in TEST_F()
2221 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Dynamic scissor(s) 0 are used… in TEST_F()
2222 …vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipeline_dyn_sc.hand… in TEST_F()
2223 vkCmdSetScissor(m_commandBuffer->handle(), 1, 1, in TEST_F()
2225 m_commandBuffer->Draw(1, 0, 0, 0); in TEST_F()
2226 m_errorMonitor->VerifyFound(); in TEST_F()
2228 m_commandBuffer->EndRenderPass(); in TEST_F()
2229 m_commandBuffer->end(); in TEST_F()
2233 …TEST_DESCRIPTION("Test non-1.0 lineWidth errors when pipeline is created and in vkCmdSetLineWidth"… in TEST_F()
2238 …const std::vector<float> test_cases = {-1.0f, 0.0f, NearestSmaller(1.0f), NearestGreater(1.0f), NA… in TEST_F()
2244 "VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00749"); in TEST_F()
2248 m_commandBuffer->begin(); in TEST_F()
2251 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetLineWidth-lineWi… in TEST_F()
2252 vkCmdSetLineWidth(m_commandBuffer->handle(), test_case); in TEST_F()
2253 m_errorMonitor->VerifyFound(); in TEST_F()
2259 "Test VUID-VkVertexInputBindingDescription-binding-00618: binding must be less than " in TEST_F()
2267 vertex_input_binding_description.binding = m_device->props.limits.maxVertexInputBindings; in TEST_F()
2274 "VUID-VkVertexInputBindingDescription-binding-00618"); in TEST_F()
2279 … "Test VUID-VkVertexInputBindingDescription-stride-00619: stride must be less than or equal to " in TEST_F()
2287 … vertex_input_binding_description.stride = m_device->props.limits.maxVertexInputBindingStride + 1; in TEST_F()
2294 "VUID-VkVertexInputBindingDescription-stride-00619"); in TEST_F()
2299 "Test VUID-VkVertexInputAttributeDescription-location-00620: location must be less than " in TEST_F()
2307 vertex_input_attribute_description.location = m_device->props.limits.maxVertexInputAttributes; in TEST_F()
2314 … vector<string>{"VUID-VkVertexInputAttributeDescription-location-00620", in TEST_F()
2315 … "VUID-VkPipelineVertexInputStateCreateInfo-binding-00615"}); in TEST_F()
2320 "Test VUID-VkVertexInputAttributeDescription-binding-00621: binding must be less than " in TEST_F()
2328 vertex_input_attribute_description.binding = m_device->props.limits.maxVertexInputBindings; in TEST_F()
2335 … vector<string>{"VUID-VkVertexInputAttributeDescription-binding-00621", in TEST_F()
2336 … "VUID-VkPipelineVertexInputStateCreateInfo-binding-00615"}); in TEST_F()
2341 … "Test VUID-VkVertexInputAttributeDescription-offset-00622: offset must be less than or equal to " in TEST_F()
2361 …e_props.limits.maxVertexInputAttributeOffset = device_props.limits.maxVertexInputBindingStride - 2; in TEST_F()
2371 vertex_input_binding_description.stride = m_device->props.limits.maxVertexInputBindingStride; in TEST_F()
2385 "VUID-VkVertexInputAttributeDescription-offset-00622"); in TEST_F()
2391 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Num samples mismatch! "); in TEST_F()
2419 m_errorMonitor->SetUnexpectedError("VUID-VkGraphicsPipelineCreateInfo-subpass-00757"); in TEST_F()
2422 m_commandBuffer->begin(); in TEST_F()
2423 m_commandBuffer->BeginRenderPass(m_renderPassBeginInfo); in TEST_F()
2424 vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe.handle()); in TEST_F()
2427 vkCmdSetViewport(m_commandBuffer->handle(), 0, 1, &viewport); in TEST_F()
2429 vkCmdSetScissor(m_commandBuffer->handle(), 0, 1, &scissor); in TEST_F()
2432 m_commandBuffer->Draw(3, 1, 0, 0); in TEST_F()
2435 m_commandBuffer->EndRenderPass(); in TEST_F()
2436 m_commandBuffer->end(); in TEST_F()
2438 m_errorMonitor->VerifyFound(); in TEST_F()
2462 "VUID-VkGraphicsPipelineCreateInfo-attachmentCount-00746"); in TEST_F()
2471 m_commandBuffer->begin(); in TEST_F()
2472 m_commandBuffer->BeginRenderPass(m_renderPassBeginInfo); in TEST_F()
2486 // Call for full-sized FB Color attachment prior to issuing a Draw in TEST_F()
2487 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, in TEST_F()
2488 "UNASSIGNED-CoreValidation-DrawState-ClearCmdBeforeDraw"); in TEST_F()
2489 vkCmdClearAttachments(m_commandBuffer->handle(), 1, &color_attachment, 1, &clear_rect); in TEST_F()
2490 m_errorMonitor->VerifyFound(); in TEST_F()
2494 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdClearAttachments-pR… in TEST_F()
2495 vkCmdClearAttachments(m_commandBuffer->handle(), 1, &color_attachment, 1, &clear_rect); in TEST_F()
2496 m_errorMonitor->VerifyFound(); in TEST_F()
2502 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdClearAttachments-pR… in TEST_F()
2503 vkCmdClearAttachments(m_commandBuffer->handle(), 1, &color_attachment, 1, &clear_rect); in TEST_F()
2504 m_errorMonitor->VerifyFound(); in TEST_F()
2510 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdClearAttachments-pR… in TEST_F()
2511 vkCmdClearAttachments(m_commandBuffer->handle(), 1, &color_attachment, 1, &clear_rect); in TEST_F()
2512 m_errorMonitor->VerifyFound(); in TEST_F()
2514 m_commandBuffer->EndRenderPass(); in TEST_F()
2515 m_commandBuffer->end(); in TEST_F()
2519 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_PERFORMANCE_WARNING_BIT_EXT, in TEST_F()
2520 "UNASSIGNED-CoreValidation-DrawState-VtxIndexOutOfBounds"); in TEST_F()
2540 m_commandBuffer->begin(); in TEST_F()
2541 m_commandBuffer->BeginRenderPass(m_renderPassBeginInfo); in TEST_F()
2542 vkCmdBindPipeline(m_commandBuffer->handle(), VK_PIPELINE_BIND_POINT_GRAPHICS, pipe.pipeline_); in TEST_F()
2546 m_commandBuffer->BindVertexBuffer(&vbo, (VkDeviceSize)0, 1); // VBO idx 1, but no VBO in PSO in TEST_F()
2547 m_commandBuffer->Draw(1, 0, 0, 0); in TEST_F()
2549 m_errorMonitor->VerifyFound(); in TEST_F()
2551 m_commandBuffer->EndRenderPass(); in TEST_F()
2552 m_commandBuffer->end(); in TEST_F()
2564 const uint32_t binding_count = m_device->props.limits.maxVertexInputBindings + 1; in TEST_F()
2573 input_bindings[binding_count - 1].binding = 0; in TEST_F()
2589 … vector<string>{"VUID-VkPipelineVertexInputStateCreateInfo-vertexBindingDescriptionCount-00613", in TEST_F()
2590 … "VUID-VkPipelineVertexInputStateCreateInfo-pVertexBindingDescriptions-00616"}); in TEST_F()
2608 const uint32_t attribute_count = m_device->props.limits.maxVertexInputAttributes + 1; in TEST_F()
2617 input_attribs[attribute_count - 1].location = 0; in TEST_F()
2619 input_attribs[attribute_count - 1].binding = 1; in TEST_F()
2629 … vector<string>{"VUID-VkPipelineVertexInputStateCreateInfo-vertexAttributeDescriptionCount-00614", in TEST_F()
2630 "VUID-VkPipelineVertexInputStateCreateInfo-binding-00615", in TEST_F()
2631 … "VUID-VkPipelineVertexInputStateCreateInfo-pVertexAttributeDescriptions-00617"}); in TEST_F()
2640 if (!m_device->phy().features().logicOp) { in TEST_F()
2650 … "VUID-VkPipelineColorBlendStateCreateInfo-logicOpEnable-00607"); in TEST_F()
2662 … "VUID-VkPipelineColorBlendStateCreateInfo-logicOpEnable-00606"); in TEST_F()
2666 TEST_DESCRIPTION("Attempt to use dual-source blending when dualSrcBlend feature is disabled."); in TEST_F()
2684 … "VUID-VkPipelineColorBlendAttachmentState-srcColorBlendFactor-00608"); in TEST_F()
2694 … "VUID-VkPipelineColorBlendAttachmentState-dstColorBlendFactor-00609"); in TEST_F()
2704 … "VUID-VkPipelineColorBlendAttachmentState-srcAlphaBlendFactor-00610"); in TEST_F()
2714 … "VUID-VkPipelineColorBlendAttachmentState-dstAlphaBlendFactor-00611"); in TEST_F()
2720 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Invalid SPIR-V header"); in TEST_F()
2738 vkCreateShaderModule(m_device->device(), &moduleCreateInfo, NULL, &module); in TEST_F()
2740 m_errorMonitor->VerifyFound(); in TEST_F()
2742 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkShaderModuleCreateInfo… in TEST_F()
2748 this->GLSLtoSPV(VK_SHADER_STAGE_VERTEX_BIT, bindStateVertShaderText, shader); in TEST_F()
2750 // Introduce failure by making codeSize a non-multiple of 4 in TEST_F()
2751 module_create_info.codeSize = shader.size() * sizeof(unsigned int) - 1; in TEST_F()
2753 vkCreateShaderModule(m_device->handle(), &module_create_info, NULL, &shader_module); in TEST_F()
2755 m_errorMonitor->VerifyFound(); in TEST_F()
2761 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Invalid SPIR-V magic number"); in TEST_F()
2779 vkCreateShaderModule(m_device->device(), &moduleCreateInfo, NULL, &module); in TEST_F()
2781 m_errorMonitor->VerifyFound(); in TEST_F()
2800 helper.shader_stages_ = {vs.GetStageCreateInfo(), helper.fs_->GetStageCreateInfo()}; in TEST_F()
2837 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
2869 pipe.shader_stages_ = {vs.GetStageCreateInfo(), pipe.fs_->GetStageCreateInfo()}; in TEST_F()
2873 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Type mismatch on descriptor s… in TEST_F()
2875 m_errorMonitor->VerifyFound(); in TEST_F()
2903 pipe.shader_stages_ = {vs.GetStageCreateInfo(), pipe.fs_->GetStageCreateInfo()}; in TEST_F()
2907 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Shader uses descriptor slot 0… in TEST_F()
2909 m_errorMonitor->VerifyFound(); in TEST_F()
2940 pipe.shader_stages_ = {vs.GetStageCreateInfo(), pipe.fs_->GetStageCreateInfo()}; in TEST_F()
2944 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
2948 m_errorMonitor->VerifyFound(); in TEST_F()
2977 pipe.shader_stages_ = {pipe.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
2981 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
2984 m_errorMonitor->VerifyFound(); in TEST_F()
2989 // Note that this failure message comes from spirv-tools, specifically the validator. in TEST_F()
3002 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Capability ImageRect is not a… in TEST_F()
3014 …VkResult err = vkCreateShaderModule(m_device->handle(), &module_create_info, NULL, &shader_module); in TEST_F()
3015 m_errorMonitor->VerifyFound(); in TEST_F()
3017 vkDestroyShaderModule(m_device->handle(), shader_module, NULL); in TEST_F()
3039 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
3064 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
3070 …TEST_DESCRIPTION("Test that an error is produced for mismatched array sizes across the vertex->fra… in TEST_F()
3104 …TEST_DESCRIPTION("Test that an error is produced for mismatched types across the vertex->fragment … in TEST_F()
3137 …"Test that an error is produced for mismatched types across the vertex->fragment shader interface,… in TEST_F()
3171 …"Test that an error is produced for location mismatches across the vertex->fragment shader interfa… in TEST_F()
3172 "as a not-written/not-consumed pair, but flushes out broken walking of the interfaces"); in TEST_F()
3206 …"Test that an error is produced for component mismatches across the vertex->fragment shader interf… in TEST_F()
3333 … m_errorMonitor->SetUnexpectedError("Vertex shader consumes input at location 1 but not provided"); in TEST_F()
3355 helper.shader_stages_ = {vs.GetStageCreateInfo(), helper.fs_->GetStageCreateInfo()}; in TEST_F()
3386 helper.shader_stages_ = {vs.GetStageCreateInfo(), helper.fs_->GetStageCreateInfo()}; in TEST_F()
3403 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), helper.vs_->GetStageCreateInfo(), in TEST_F()
3404 helper.fs_->GetStageCreateInfo()}; in TEST_F()
3417 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
3423 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
3473 VkResult err = vkCreateRenderPass(m_device->device(), &rpci, nullptr, &rp); in TEST_F()
3478 m_errorMonitor->VerifyFound(); in TEST_F()
3480 vkDestroyRenderPass(m_device->device(), rp, nullptr); in TEST_F()
3491 if (!m_device->phy().features().tessellationShader) { in TEST_F()
3529 …"is per-vertex in tessellation control shader stage but per-patch in tessellation evaluation shade… in TEST_F()
3538 if (!m_device->phy().features().tessellationShader) { in TEST_F()
3574 … helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), helper.fs_->GetStageCreateInfo()}; in TEST_F()
3583 "VUID-VkGraphicsPipelineCreateInfo-pStages-00729"); in TEST_F()
3588 "VUID-VkGraphicsPipelineCreateInfo-pStages-00730"); in TEST_F()
3594 "VUID-VkGraphicsPipelineCreateInfo-topology-00737"); in TEST_F()
3599 "VUID-VkGraphicsPipelineCreateInfo-pStages-00731"); in TEST_F()
3606 "VUID-VkPipelineTessellationStateCreateInfo-sType-sType"); in TEST_F()
3608 // Pass out-of-range patchControlPoints in TEST_F()
3613 … "VUID-VkPipelineTessellationStateCreateInfo-patchControlPoints-01214"); in TEST_F()
3615 tsci_bad.patchControlPoints = m_device->props.limits.maxTessellationPatchSize + 1; in TEST_F()
3617 … "VUID-VkPipelineTessellationStateCreateInfo-patchControlPoints-01214"); in TEST_F()
3625 "VUID-VkGraphicsPipelineCreateInfo-pStages-00736"); in TEST_F()
3653 m_errorMonitor->VerifyFound(); in TEST_F()
3655 helper.shader_stages_ = {vs.GetStageCreateInfo(), helper.fs_->GetStageCreateInfo()}; in TEST_F()
3661 …m_errorMonitor->SetUnexpectedError("VUID-VkPipelineVertexInputStateCreateInfo-pVertexBindingDescri… in TEST_F()
3677 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
3703 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
3723 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
3753 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
3780 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
3794 m_errorMonitor->Reset(); in TEST_F()
3796 const uint32_t maxVsOutComp = m_device->props.limits.maxVertexOutputComponents + overflow; in TEST_F()
3843 …"Test that errors are produced when the number of per-vertex input and/or output components to the… in TEST_F()
3850 m_errorMonitor->Reset(); in TEST_F()
3863 …const uint32_t maxTescInComp = m_device->props.limits.maxTessellationControlPerVertexInputComponen… in TEST_F()
3882 …const uint32_t maxTescOutComp = m_device->props.limits.maxTessellationControlPerVertexOutputCompon… in TEST_F()
3923 m_errorMonitor->SetUnexpectedError("UNASSIGNED-CoreValidation-Shader-InputNotProduced"); in TEST_F()
3926 …helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), tcs.GetStageCreateInfo(), tes.GetStageC… in TEST_F()
3927 helper.fs_->GetStageCreateInfo()}; in TEST_F()
3952 m_errorMonitor->Reset(); in TEST_F()
3967 …const uint32_t maxTeseInComp = m_device->props.limits.maxTessellationEvaluationInputComponents + o… in TEST_F()
3986 …const uint32_t maxTeseOutComp = m_device->props.limits.maxTessellationEvaluationOutputComponents +… in TEST_F()
4026 m_errorMonitor->SetUnexpectedError("UNASSIGNED-CoreValidation-Shader-InputNotProduced"); in TEST_F()
4029 …helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), tcs.GetStageCreateInfo(), tes.GetStageC… in TEST_F()
4030 helper.fs_->GetStageCreateInfo()}; in TEST_F()
4055 m_errorMonitor->Reset(); in TEST_F()
4070 const uint32_t maxGeomInComp = m_device->props.limits.maxGeometryInputComponents + overflow; in TEST_F()
4089 … const uint32_t maxGeomOutComp = m_device->props.limits.maxGeometryOutputComponents + overflow; in TEST_F()
4108 …int max_vertices = overflow ? (m_device->props.limits.maxGeometryTotalOutputComponents / maxGeomOu… in TEST_F()
4117 m_errorMonitor->SetUnexpectedError("UNASSIGNED-CoreValidation-Shader-InputNotProduced"); in TEST_F()
4120 …helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), gs.GetStageCreateInfo(), helper.fs_->Ge… in TEST_F()
4142 m_errorMonitor->Reset(); in TEST_F()
4144 const uint32_t maxFsInComp = m_device->props.limits.maxFragmentInputComponents + overflow; in TEST_F()
4169 m_errorMonitor->SetUnexpectedError("UNASSIGNED-CoreValidation-Shader-InputNotProduced"); in TEST_F()
4171 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
4192 m_errorMonitor->Reset(); in TEST_F()
4209 std::to_string(m_device->props.limits.maxGeometryShaderInvocations + 1) + in TEST_F()
4212 std::to_string(m_device->props.limits.maxGeometryOutputVertices + 1); in TEST_F()
4231 …helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), gs.GetStageCreateInfo(), helper.fs_->Ge… in TEST_F()
4235 … vector<string>{"VUID-VkPipelineShaderStageCreateInfo-stage-00714", in TEST_F()
4236 … "VUID-VkPipelineShaderStageCreateInfo-stage-00715"}); in TEST_F()
4247 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "not declared in pipeline layo… in TEST_F()
4267 m_errorMonitor->VerifyFound(); in TEST_F()
4289 pipe.shader_stages_ = {vs.GetStageCreateInfo(), pipe.fs_->GetStageCreateInfo()}; in TEST_F()
4292 /* should have generated an error -- no push constant ranges provided! */ in TEST_F()
4293 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "not declared in layout"); in TEST_F()
4295 m_errorMonitor->VerifyFound(); in TEST_F()
4318 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
4329 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
4377 VkResult err = vkCreateRenderPass(m_device->device(), &rpci, nullptr, &rp); in TEST_F()
4383 m_errorMonitor->VerifyFound(); in TEST_F()
4385 vkDestroyRenderPass(m_device->device(), rp, nullptr); in TEST_F()
4391 "description -- array case"); in TEST_F()
4408 helper.shader_stages_ = {helper.vs_->GetStageCreateInfo(), fs.GetStageCreateInfo()}; in TEST_F()
4436 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "Shader uses descriptor slot 0… in TEST_F()
4438 m_errorMonitor->VerifyFound(); in TEST_F()
4442 …TEST_DESCRIPTION("Test that an error is produced for a pipeline consuming a descriptor-backed reso… in TEST_F()
4513 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-VkPipelineLayoutCreateIn… in TEST_F()
4514 vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
4515 m_errorMonitor->VerifyFound(); in TEST_F()
4538 "VUID-VkGraphicsPipelineCreateInfo-subpass-01505"); in TEST_F()
4576 "VUID-VkGraphicsPipelineCreateInfo-subpass-00757"}, in TEST_F()
4578 "VUID-VkPipelineCoverageModulationStateCreateInfoNV-coverageModulationTableEnable-01405"}, in TEST_F()
4580 "VUID-VkPipelineCoverageModulationStateCreateInfoNV-coverageModulationTableEnable-01405"}, in TEST_F()
4582 "VUID-VkGraphicsPipelineCreateInfo-subpass-01411"}, in TEST_F()
4584 "VUID-VkGraphicsPipelineCreateInfo-subpass-01411"}, in TEST_F()
4586 "VUID-VkGraphicsPipelineCreateInfo-subpass-01412"}, in TEST_F()
4588 "VUID-VkGraphicsPipelineCreateInfo-subpass-01412"}, in TEST_F()
4590 "VUID-VkPipelineMultisampleStateCreateInfo-rasterizationSamples-01415"}, in TEST_F()
4592 "VUID-VkPipelineMultisampleStateCreateInfo-rasterizationSamples-01415"}, in TEST_F()
4594 "VUID-VkGraphicsPipelineCreateInfo-subpass-00757"}}; in TEST_F()
4626 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
4627 … "VUID-VkSubpassDescription-pDepthStencilAttachment-01418"); in TEST_F()
4628 VkResult err = vkCreateRenderPass(m_device->device(), &rpi, nullptr, &rp); in TEST_F()
4629 m_errorMonitor->VerifyNotFound(); in TEST_F()
4661 vkDestroyRenderPass(m_device->device(), rp, nullptr); in TEST_F()
4717 m_errorMonitor->ExpectSuccess(); in TEST_F()
4719 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
4720 … "VUID-VkSubpassDescription-pDepthStencilAttachment-01418"); in TEST_F()
4723 VkResult err = vkCreateRenderPass(m_device->device(), &rpi, nullptr, &rp); in TEST_F()
4726 m_errorMonitor->VerifyNotFound(); in TEST_F()
4728 m_errorMonitor->VerifyFound(); in TEST_F()
4744 … "VUID-VkGraphicsPipelineCreateInfo-subpass-00757", test_case.positiveTest); in TEST_F()
4746 vkDestroyRenderPass(m_device->device(), rp, nullptr); in TEST_F()
4822 VkResult err = vkCreateRenderPass(m_device->device(), &rpi, nullptr, &rp); in TEST_F()
4837 … "VUID-VkPipelineCoverageToColorStateCreateInfoNV-coverageToColorEnable-01404", in TEST_F()
4840 vkDestroyRenderPass(m_device->device(), rp, nullptr); in TEST_F()
4860 VkViewportCoordinateSwizzleNV(-1), in TEST_F()
4861 VkViewportCoordinateSwizzleNV(-1), in TEST_F()
4862 VkViewportCoordinateSwizzleNV(-1), in TEST_F()
4863 VkViewportCoordinateSwizzleNV(-1), in TEST_F()
4871 …::vector<std::string> expected_vuids = {"VUID-VkViewportSwizzleNV-x-parameter", "VUID-VkViewportSw… in TEST_F()
4872 "VUID-VkViewportSwizzleNV-z-parameter", in TEST_F()
4873 "VUID-VkViewportSwizzleNV-w-parameter"}; in TEST_F()
4908 … "VUID-VkPipelineViewportSwizzleStateCreateInfoNV-viewportCount-01215", in TEST_F()
4995 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "UNASSIGNED-CoreValidation-Sha… in TEST_F()
4996 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "UNASSIGNED-CoreValidation-Sha… in TEST_F()
4998 m_errorMonitor->VerifyFound(); in TEST_F()
5010 if (m_device->props.apiVersion < VK_API_VERSION_1_1) { in TEST_F()
5016 printf("%s DevSim doesn't support Vulkan 1.1, skipping tests\n", kSkipPrefix); in TEST_F()
5030 vkCreatePipelineLayout(m_device->device(), &pipeline_layout_ci, NULL, &pipeline_layout); in TEST_F()
5098 …VkResult result = vkCreateShaderModule(m_device->handle(), &module_create_info, NULL, &shader_modu… in TEST_F()
5101 …the capability test should be moved up to CSM time, implementing ShaderModuleCreateInfo-pCode-01090 in TEST_F()
5102 …// Note(2) -- yes I truncated the above VUID s.t. the VUID checking tools would not catch it. in TEST_F()
5121 pipeline_info.basePipelineIndex = -1; in TEST_F()
5127 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
5131 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
5139 m_errorMonitor->VerifyFound(); in TEST_F()
5152 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
5156 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
5160 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
5164 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
5169 m_errorMonitor->VerifyFound(); in TEST_F()
5188 if (m_device->props.apiVersion < VK_API_VERSION_1_1) { in TEST_F()
5194 printf("%s DevSim doesn't support Vulkan 1.1, skipping tests\n", kSkipPrefix); in TEST_F()
5200 auto queue_family_properties = m_device->phy().queue_properties(); in TEST_F()
5250 … "VUID-VkPipelineCreationFeedbackCreateInfoEXT-pipelineStageCreationFeedbackCount-02668", in TEST_F()
5255 … "VUID-VkPipelineCreationFeedbackCreateInfoEXT-pipelineStageCreationFeedbackCount-02668", in TEST_F()
5286 "VUID-VkPipelineCreationFeedbackCreateInfoEXT-pipelineStageCreationFeedbackCount-02669"); in TEST_F()
5323 …*this, set_feedback, "VUID-VkPipelineCreationFeedbackCreateInfoEXT-pipelineStageCreationFeedbackCo… in TEST_F()
5337 auto features = m_device->phy().features(); in TEST_F()
5375 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5378 m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, in TEST_F()
5382 m_errorMonitor->VerifyFound(); in TEST_F()
5391 auto features = m_device->phy().features(); in TEST_F()
5419 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5423 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5428 m_errorMonitor->VerifyFound(); in TEST_F()
5437 auto features = m_device->phy().features(); in TEST_F()
5474 -1}; in TEST_F()
5476 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5480 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5487 m_errorMonitor->VerifyFound(); in TEST_F()
5489 m_errorMonitor->VerifyFound(); in TEST_F()
5508 auto features = m_device->phy().features(); in TEST_F()
5537 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5541 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5546 m_errorMonitor->VerifyFound(); in TEST_F()
5565 auto features = m_device->phy().features(); in TEST_F()
5592 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5597 m_errorMonitor->SetDesiredFailureMsg( in TEST_F()
5603 m_errorMonitor->VerifyFound(); in TEST_F()
5652 std::vector<const char *>{"VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766", in TEST_F()
5653 … "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02769"}); in TEST_F()
5662 std::vector<const char *>{"VUID-VkGraphicsPipelineCreateInfo-stippledLineEnable-02767", in TEST_F()
5663 … "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02769", in TEST_F()
5664 … "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02772"}); in TEST_F()
5673 std::vector<const char *>{"VUID-VkGraphicsPipelineCreateInfo-stippledLineEnable-02767", in TEST_F()
5674 … "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02768", in TEST_F()
5675 … "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02771"}); in TEST_F()
5684 std::vector<const char *>{"VUID-VkGraphicsPipelineCreateInfo-stippledLineEnable-02767", in TEST_F()
5685 … "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02770", in TEST_F()
5686 … "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02773"}); in TEST_F()
5695 std::vector<const char *>{"VUID-VkGraphicsPipelineCreateInfo-stippledLineEnable-02767", in TEST_F()
5696 … "VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02774"}); in TEST_F()
5699 … (PFN_vkCmdSetLineStippleEXT)vkGetDeviceProcAddr(m_device->device(), "vkCmdSetLineStippleEXT"); in TEST_F()
5702 m_commandBuffer->begin(); in TEST_F()
5703 …m_errorMonitor->SetDesiredFailureMsg(VK_DEBUG_REPORT_ERROR_BIT_EXT, "VUID-vkCmdSetLineStippleEXT-l… in TEST_F()
5704 vkCmdSetLineStippleEXT(m_commandBuffer->handle(), 0, 0); in TEST_F()
5705 m_errorMonitor->VerifyFound(); in TEST_F()
5706 vkCmdSetLineStippleEXT(m_commandBuffer->handle(), 1, 1); in TEST_F()
5707 m_errorMonitor->VerifyFound(); in TEST_F()
5718 // Disable non-solid fill modes to make sure that the usage of VK_POLYGON_MODE_LINE and in TEST_F()
5738 … "VUID-VkPipelineRasterizationStateCreateInfo-polygonMode-01507", false); in TEST_F()
5743 … "VUID-VkPipelineRasterizationStateCreateInfo-polygonMode-01507", false); in TEST_F()
5748 … "VUID-VkPipelineRasterizationStateCreateInfo-polygonMode-01507", true); in TEST_F()
5753 … "VUID-VkPipelineRasterizationStateCreateInfo-polygonMode-01507", true); in TEST_F()