i965: Emit surface states for extra planes prior to gen8
When Kristian implemented GL_TEXTURE_EXTERNAL_OES, he hooked it up for gen8 but not for gen7 or earlier. It all works, we just need to emit the states for the extra planes. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
This commit is contained in:
parent
dc81b3ad43
commit
037ce5d734
|
@ -338,6 +338,15 @@ brw_update_texture_surface(struct gl_context *ctx,
|
|||
uint32_t tex_format = translate_tex_format(brw, mt->format,
|
||||
sampler->sRGBDecode);
|
||||
|
||||
if (tObj->Target == GL_TEXTURE_EXTERNAL_OES) {
|
||||
if (plane > 0)
|
||||
mt = mt->plane[plane - 1];
|
||||
if (mt == NULL)
|
||||
return;
|
||||
|
||||
tex_format = translate_tex_format(brw, mt->format, sampler->sRGBDecode);
|
||||
}
|
||||
|
||||
if (for_gather) {
|
||||
/* Sandybridge's gather4 message is broken for integer formats.
|
||||
* To work around this, we pretend the surface is UNORM for
|
||||
|
|
|
@ -386,6 +386,15 @@ gen7_update_texture_surface(struct gl_context *ctx,
|
|||
unsigned format = translate_tex_format(
|
||||
brw, intel_obj->_Format, sampler->sRGBDecode);
|
||||
|
||||
if (obj->Target == GL_TEXTURE_EXTERNAL_OES) {
|
||||
if (plane > 0)
|
||||
mt = mt->plane[plane - 1];
|
||||
if (mt == NULL)
|
||||
return;
|
||||
|
||||
format = translate_tex_format(brw, mt->format, sampler->sRGBDecode);
|
||||
}
|
||||
|
||||
if (for_gather && format == BRW_SURFACEFORMAT_R32G32_FLOAT)
|
||||
format = BRW_SURFACEFORMAT_R32G32_FLOAT_LD;
|
||||
|
||||
|
|
Loading…
Reference in New Issue