Vulkan: Further restrict enabling LINE_RASTERIZATION_MODE_BRESENHAM
The app "Car Parking Multiplayer" enables GL_SAMPLE_ALPHA_TO_COVERAGE,
which leads to a VVL error when LINE_RASTERIZATION_MODE_BRESENHAM is
also enabled:
VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766:
The Vulkan spec states: If the lineRasterizationMode member of a
VkPipelineRasterizationLineStateCreateInfoEXT structure included in the
pNext chain of pRasterizationState is
VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT or
VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT and if rasterization
is enabled, then the alphaToCoverageEnable, alphaToOneEnable, and
sampleShadingEnable members of pMultisampleState must all be VK_FALSE.
This CL adds the additional checking to
GraphicsPipelineDesc::initializePipeline() to ensure those conditions
are met before setting lineRasterizationMode to
VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT.
Bug: angleproject:5613
Test: StateChangeTest.AlphaToCoverageEnable
Change-Id: Ie2286078f6916c01a19ae6f932321a86619bd4e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2694094Reviewed-by:
Jamie Madill <jmadill@chromium.org>
Reviewed-by:
Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
Showing
Please
register
or
sign in
to comment