mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-08 11:28:02 +02:00
gl: fix bug in _cairo_gl_surface_embedded_operand_init()
The operand->texture.surface should be set to right value, not NULL. Otherwise, when doing _cairo_gl_surface_operand_init(), the texture.surface in operand struct will also be NULL, which is incorrect. This fix regression suite in 43 test cases(such as source-clip) in cairo/test/. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
2a60e8deec
commit
8d4425053d
2 changed files with 1 additions and 2 deletions
|
|
@ -254,7 +254,6 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand,
|
|||
}
|
||||
|
||||
*operand = surface->operand;
|
||||
operand->texture.surface = surface;
|
||||
operand->texture.attributes.matrix.x0 -= extents->x * operand->texture.attributes.matrix.xx;
|
||||
operand->texture.attributes.matrix.y0 -= extents->y * operand->texture.attributes.matrix.yy;
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
|
|||
|
|
@ -360,7 +360,7 @@ _cairo_gl_surface_embedded_operand_init (cairo_gl_surface_t *surface)
|
|||
memset (operand, 0, sizeof (cairo_gl_operand_t));
|
||||
|
||||
operand->type = CAIRO_GL_OPERAND_TEXTURE;
|
||||
operand->texture.surface = NULL;
|
||||
operand->texture.surface = surface;
|
||||
operand->texture.tex = surface->tex;
|
||||
|
||||
if (_cairo_gl_device_requires_power_of_two_textures (surface->base.device)) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue