mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 12:50:10 +01:00
zink: use lazy descriptors for IMG proprietary drivers
When using Zink with VK_EXT_descriptor_buffer enabled on IMG proprietary drivers, the rendering behavior is incorrect and uniforms are not updated properly (the gears of es2gears_x11 become all red and overlaps). Use lazy descriptors for IMG proprietary driver unless explicitly overriden for testing purpose. Signed-off-by: Icenowy Zheng <uwu@icenowy.me> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32343>
This commit is contained in:
parent
9c1b69a5b5
commit
97412fca25
1 changed files with 7 additions and 2 deletions
|
|
@ -3671,11 +3671,16 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
|
|||
}
|
||||
}
|
||||
if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_AUTO) {
|
||||
switch(screen->info.driver_props.driverID) {
|
||||
/* descriptor buffer is not performant with virt yet */
|
||||
if (screen->info.driver_props.driverID == VK_DRIVER_ID_MESA_VENUS)
|
||||
case VK_DRIVER_ID_MESA_VENUS:
|
||||
/* db descriptor mode is known to be broken on IMG proprietary drivers */
|
||||
case VK_DRIVER_ID_IMAGINATION_PROPRIETARY:
|
||||
zink_descriptor_mode = ZINK_DESCRIPTOR_MODE_LAZY;
|
||||
else
|
||||
break;
|
||||
default:
|
||||
zink_descriptor_mode = can_db ? ZINK_DESCRIPTOR_MODE_DB : ZINK_DESCRIPTOR_MODE_LAZY;
|
||||
}
|
||||
}
|
||||
if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) {
|
||||
const uint32_t sampler_size = MAX2(screen->info.db_props.combinedImageSamplerDescriptorSize, screen->info.db_props.robustUniformTexelBufferDescriptorSize);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue