gallium: Check pipe_screen::resource_changed before dereferencing it
It's optional, only implemented by the etnaviv driver so far. Fixes:501d0edeca
"st/mesa: call resource_changed when binding a EGLImage to a texture" Fixes:a37cf630b4
"gallium: add pipe_screen::resource_changed callback wrappers" Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
This commit is contained in:
parent
c2587ac4e5
commit
34e89e4d38
|
@ -284,7 +284,8 @@ dd_screen_resource_changed(struct pipe_screen *_screen,
|
|||
{
|
||||
struct pipe_screen *screen = dd_screen(_screen)->screen;
|
||||
|
||||
screen->resource_changed(screen, res);
|
||||
if (screen->resource_changed)
|
||||
screen->resource_changed(screen, res);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -222,7 +222,8 @@ rbug_screen_resource_changed(struct pipe_screen *_screen,
|
|||
struct pipe_screen *screen = rb_screen->screen;
|
||||
struct pipe_resource *resource = rb_resource->resource;
|
||||
|
||||
screen->resource_changed(screen, resource);
|
||||
if (screen->resource_changed)
|
||||
screen->resource_changed(screen, resource);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -444,7 +444,8 @@ trace_screen_resource_changed(struct pipe_screen *_screen,
|
|||
trace_dump_arg(ptr, screen);
|
||||
trace_dump_arg(ptr, resource);
|
||||
|
||||
screen->resource_changed(screen, resource);
|
||||
if (screen->resource_changed)
|
||||
screen->resource_changed(screen, resource);
|
||||
|
||||
trace_dump_call_end();
|
||||
}
|
||||
|
|
|
@ -229,7 +229,8 @@ st_bind_egl_image(struct gl_context *ctx,
|
|||
pipe_resource_reference(&stObj->pt, stimg->texture);
|
||||
st_texture_release_all_sampler_views(st, stObj);
|
||||
pipe_resource_reference(&stImage->pt, stObj->pt);
|
||||
st->pipe->screen->resource_changed(st->pipe->screen, stImage->pt);
|
||||
if (st->pipe->screen->resource_changed)
|
||||
st->pipe->screen->resource_changed(st->pipe->screen, stImage->pt);
|
||||
|
||||
stObj->surface_format = stimg->format;
|
||||
stObj->level_override = stimg->level;
|
||||
|
|
Loading…
Reference in New Issue