diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2016-08-09 13:10:51 -0600 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2016-08-15 16:48:04 -0600 |
| commit | 1d731c47f7f3617d34fa19dbb467a53314b8554a (patch) | |
| tree | a9d59d3867fee997a56c1ab3ced20704596b66d7 /layers/parameter_validation.cpp | |
| parent | c27c4c486479384fd50adb4997957e7db26665af (diff) | |
| download | usermoji-1d731c47f7f3617d34fa19dbb467a53314b8554a.tar.xz | |
layers: GH785, Validate rasterinfo->polygonMode
If fillModeNonSolid is not enabled, polygonMode cannot be set to
POINT or LINE.
Change-Id: I6cfdfac8f5c9ff7d27b94bf0aa80ae1249b0ce25
Diffstat (limited to 'layers/parameter_validation.cpp')
| -rw-r--r-- | layers/parameter_validation.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/layers/parameter_validation.cpp b/layers/parameter_validation.cpp index 2b12366f..b93ded1e 100644 --- a/layers/parameter_validation.cpp +++ b/layers/parameter_validation.cpp @@ -2794,6 +2794,16 @@ bool PreCreateGraphicsPipelines(VkDevice device, const VkGraphicsPipelineCreateI "unrecognized enumerator"); return false; } + + if ((pCreateInfos->pRasterizationState->polygonMode != VK_POLYGON_MODE_FILL) && + (data->physical_device_features.fillModeNonSolid == false)) { + log_msg( + mdd(device), VK_DEBUG_REPORT_ERROR_BIT_EXT, VK_DEBUG_REPORT_OBJECT_TYPE_UNKNOWN_EXT, 0, __LINE__, + DEVICE_FEATURE, LayerName, + "vkCreateGraphicsPipelines parameter, VkPolygonMode pCreateInfos->pRasterizationState->polygonMode cannot be " + "VK_POLYGON_MODE_POINT or VK_POLYGON_MODE_LINE if VkPhysicalDeviceFeatures->fillModeNonSolid is false."); + return false; + } } int i = 0; |
