mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-03 12:08:06 +02:00
loader: fix the no-modifiers case
Normally modifiers take precendence over use flags, as they are more explicit. But if the driver supports modifiers, but the xserver does not, then we should fallback to the old mechanism of allocating a buffer using 'use' flags. Fixes:069fdd5f9fSigned-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org> (cherry picked from commitc56fe4118a)
This commit is contained in:
parent
77ac39c359
commit
9d45651005
1 changed files with 14 additions and 6 deletions
|
|
@ -1273,12 +1273,20 @@ dri3_alloc_render_buffer(struct loader_dri3_drawable *draw, unsigned int format,
|
|||
|
||||
free(mod_reply);
|
||||
|
||||
buffer->image = draw->ext->image->createImageWithModifiers(draw->dri_screen,
|
||||
width, height,
|
||||
format,
|
||||
modifiers,
|
||||
count,
|
||||
buffer);
|
||||
/* don't use createImageWithModifiers() if we have no
|
||||
* modifiers, other things depend on the use flags when
|
||||
* there are no modifiers to know that a buffer can be
|
||||
* shared.
|
||||
*/
|
||||
if (modifiers) {
|
||||
buffer->image = draw->ext->image->createImageWithModifiers(draw->dri_screen,
|
||||
width, height,
|
||||
format,
|
||||
modifiers,
|
||||
count,
|
||||
buffer);
|
||||
}
|
||||
|
||||
free(modifiers);
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue