diff options
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm_emit.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm_pass1.c | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm_surface_state.c | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_tex_image.c | 2 |
4 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c index 80ed1ff956b..270e32142de 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_emit.c +++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c @@ -1078,6 +1078,7 @@ void emit_tex(struct brw_wm_compile *c, case TEXTURE_2D_INDEX: case TEXTURE_1D_ARRAY_INDEX: case TEXTURE_RECT_INDEX: + case TEXTURE_EXTERNAL_INDEX: emit = WRITEMASK_XY; nr_texcoords = 2; break; @@ -1212,6 +1213,7 @@ void emit_txb(struct brw_wm_compile *c, break; case TEXTURE_2D_INDEX: case TEXTURE_RECT_INDEX: + case TEXTURE_EXTERNAL_INDEX: brw_MOV(p, brw_message_reg(2 + 0 * mrf_per_channel), arg[0]); brw_MOV(p, brw_message_reg(2 + 1 * mrf_per_channel), arg[1]); brw_MOV(p, brw_message_reg(2 + 2 * mrf_per_channel), brw_imm_f(0)); diff --git a/src/mesa/drivers/dri/i965/brw_wm_pass1.c b/src/mesa/drivers/dri/i965/brw_wm_pass1.c index ee7a627455f..e96e9ed3e8b 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_pass1.c +++ b/src/mesa/drivers/dri/i965/brw_wm_pass1.c @@ -94,6 +94,7 @@ static GLuint get_texcoord_mask( GLuint tex_idx ) return WRITEMASK_X; case TEXTURE_2D_INDEX: case TEXTURE_1D_ARRAY_INDEX: + case TEXTURE_EXTERNAL_INDEX: return WRITEMASK_XY; case TEXTURE_3D_INDEX: case TEXTURE_2D_ARRAY_INDEX: diff --git a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c index e908430650e..dedf59437c9 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -58,6 +58,7 @@ translate_tex_target(GLenum target) case GL_TEXTURE_2D: case GL_TEXTURE_2D_ARRAY_EXT: + case GL_TEXTURE_EXTERNAL_OES: return BRW_SURFACE_2D; case GL_TEXTURE_3D: diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c index dd0c6d34c63..107d3147279 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_image.c +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c @@ -84,6 +84,8 @@ intel_miptree_create_for_teximage(struct intel_context *intel, intelImage->base.Base.Level == firstLevel && (intel->gen < 4 || firstLevel == 0)) { lastLevel = firstLevel; + } else if (intelObj->base.Target == GL_TEXTURE_EXTERNAL_OES) { + lastLevel = firstLevel; } else { lastLevel = firstLevel + _mesa_logbase2(MAX2(MAX2(width, height), depth)); } |