radv: fix smooth lines with graphics pipeline library
Need to be defensive here. Fixes recent CTS dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.*.line_raster_mode_smooth. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23200>
This commit is contained in:
committed by
Marge Bot
parent
8f88cf3b42
commit
d096a3f1a6
@@ -2119,7 +2119,13 @@ radv_generate_graphics_pipeline_key(const struct radv_device *device,
|
||||
}
|
||||
|
||||
if (device->smooth_lines) {
|
||||
if (pipeline->dynamic_states & RADV_DYNAMIC_LINE_RASTERIZATION_MODE) {
|
||||
/* For GPL, when the fragment shader is compiled without any pre-rasterization information,
|
||||
* ensure the line rasterization mode is considered dynamic because we can't know if it's
|
||||
* going to draw lines or not.
|
||||
*/
|
||||
if (pipeline->dynamic_states & RADV_DYNAMIC_LINE_RASTERIZATION_MODE ||
|
||||
((lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT) &&
|
||||
!(lib_flags & VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT))) {
|
||||
key.dynamic_line_rast_mode = true;
|
||||
} else {
|
||||
key.ps.line_smooth_enabled =
|
||||
|
||||
Reference in New Issue
Block a user