st/mesa: ask pipe driver to recreate derived internal resources when (re-)binding external textures
Use the resource_changed callback to invalidate internal resources derived from external textures when they are (re-)bound. This is needed to comply with the requirement from the GL_OES_EGL_image_external extension that a call to glBindTexture guarantees that all further sampling will return values that correspond to the values in the external texture at or after the time that glBindTexture was called. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
This commit is contained in:
parent
9bab714c61
commit
97de7e6586
|
@ -91,6 +91,10 @@ update_single_texture(struct st_context *st,
|
|||
stObj->prev_sRGBDecode = samp->sRGBDecode;
|
||||
}
|
||||
|
||||
if (texObj->TargetIndex == TEXTURE_EXTERNAL_INDEX &&
|
||||
stObj->pt->screen->resource_changed)
|
||||
stObj->pt->screen->resource_changed(stObj->pt->screen, stObj->pt);
|
||||
|
||||
*sampler_view =
|
||||
st_get_texture_sampler_view_from_stobj(st, stObj, samp, glsl_version);
|
||||
return GL_TRUE;
|
||||
|
|
Loading…
Reference in New Issue