glamor: Fix GLES2 non-VBO temporary memory allocation.
We'd get a request for like 16 bytes, claim to have allocated GLAMOR_VBO_SIZE, and then not reallocate when something a request bigger than 16 came along. The intent was to always allocate at least GLAMOR_VBO_SIZE. Fixes segfaults with Xephyr -glamor_gles2 and running gnome-terminal. Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
736bed2aaf
commit
0d9ad78180
|
@ -119,7 +119,7 @@ glamor_get_vbo_space(ScreenPtr screen, unsigned size, char **vbo_offset)
|
||||||
if (glamor_priv->vbo_size < size) {
|
if (glamor_priv->vbo_size < size) {
|
||||||
glamor_priv->vbo_size = MAX(GLAMOR_VBO_SIZE, size);
|
glamor_priv->vbo_size = MAX(GLAMOR_VBO_SIZE, size);
|
||||||
free(glamor_priv->vb);
|
free(glamor_priv->vb);
|
||||||
glamor_priv->vb = XNFalloc(size);
|
glamor_priv->vb = XNFalloc(glamor_priv->vbo_size);
|
||||||
}
|
}
|
||||||
*vbo_offset = NULL;
|
*vbo_offset = NULL;
|
||||||
/* We point to the start of glamor_priv->vb every time, and
|
/* We point to the start of glamor_priv->vb every time, and
|
||||||
|
|
Loading…
Reference in New Issue
Block a user