zink: leave can_do_invalid_linear_modifier open for venus
Venus is able to force LINEAR modifier to ensure the handshake across the legacy modifier-unaware boundaries. e.g. Xorg Acked-by: Corentin Noël <corentin.noel@collabora.com> Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35453>
This commit is contained in:
@@ -2760,7 +2760,7 @@ static void
|
||||
init_driver_workarounds(struct zink_screen *screen)
|
||||
{
|
||||
/* enable implicit sync for all non-mesa drivers */
|
||||
screen->driver_workarounds.implicit_sync = screen->info.driver_props.driverID != VK_DRIVER_ID_MESA_VENUS;
|
||||
screen->driver_workarounds.implicit_sync = !zink_driver_is_venus(screen);
|
||||
switch (zink_driverid(screen)) {
|
||||
case VK_DRIVER_ID_MESA_RADV:
|
||||
case VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA:
|
||||
@@ -2977,6 +2977,8 @@ init_driver_workarounds(struct zink_screen *screen)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (zink_driver_is_venus(screen))
|
||||
screen->driver_workarounds.can_do_invalid_linear_modifier = true;
|
||||
|
||||
/* these drivers have no difference between unoptimized and optimized shader compilation */
|
||||
switch (zink_driverid(screen)) {
|
||||
|
||||
@@ -139,6 +139,12 @@ zink_driverid(const struct zink_screen *screen)
|
||||
return screen->info.vk_layered_driver_props.driverID;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
zink_driver_is_venus(const struct zink_screen *screen)
|
||||
{
|
||||
return screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_VENUS;
|
||||
}
|
||||
|
||||
void
|
||||
zink_screen_lock_context(struct zink_screen *screen);
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user