diff options
author | Chia-I Wu <olvaffe@gmail.com> | 2011-12-02 11:06:32 +0800 |
---|---|---|
committer | Chia-I Wu <olv@lunarg.com> | 2011-12-03 12:39:47 +0800 |
commit | 06381f2c592a413f2ac136dea98231f0e39a7651 (patch) | |
tree | 1c8e4c48a9630de4e2b284168eecf80dd1485425 | |
parent | b7a69cbb71304609245be43fa739c50969017ab8 (diff) |
intel: add support for GL_OES_EGL_image_external
The changes to i965 are untested.
-rw-r--r-- | src/mesa/drivers/common/meta.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i915/i830_texstate.c | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i915/i915_fragprog.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i915/i915_tex_layout.c | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i915/i915_texstate.c | 1 | ||||
-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_extensions_es.c | 1 |
9 files changed, 13 insertions, 0 deletions
diff --git a/src/mesa/drivers/common/meta.c b/src/mesa/drivers/common/meta.c index 259041f67a..4b880a99bc 100644 --- a/src/mesa/drivers/common/meta.c +++ b/src/mesa/drivers/common/meta.c @@ -576,6 +576,8 @@ _mesa_meta_begin(struct gl_context *ctx, GLbitfield state) _mesa_set_enable(ctx, GL_TEXTURE_CUBE_MAP, GL_FALSE); if (ctx->Extensions.NV_texture_rectangle) _mesa_set_enable(ctx, GL_TEXTURE_RECTANGLE, GL_FALSE); + if (ctx->Extensions.OES_EGL_image_external) + _mesa_set_enable(ctx, GL_TEXTURE_EXTERNAL_OES, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_GEN_S, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_GEN_T, GL_FALSE); _mesa_set_enable(ctx, GL_TEXTURE_GEN_R, GL_FALSE); diff --git a/src/mesa/drivers/dri/i915/i830_texstate.c b/src/mesa/drivers/dri/i915/i830_texstate.c index 5f32b9250d..54af09c377 100644 --- a/src/mesa/drivers/dri/i915/i830_texstate.c +++ b/src/mesa/drivers/dri/i915/i830_texstate.c @@ -335,6 +335,7 @@ i830UpdateTextureState(struct intel_context *intel) case TEXTURE_1D_BIT: case TEXTURE_2D_BIT: case TEXTURE_CUBE_BIT: + case TEXTURE_EXTERNAL_BIT: ok = i830_update_tex_unit(intel, i, TEXCOORDS_ARE_NORMAL); break; case TEXTURE_RECT_BIT: diff --git a/src/mesa/drivers/dri/i915/i915_fragprog.c b/src/mesa/drivers/dri/i915/i915_fragprog.c index 4f016a3f69..8b5d5407cc 100644 --- a/src/mesa/drivers/dri/i915/i915_fragprog.c +++ b/src/mesa/drivers/dri/i915/i915_fragprog.c @@ -259,6 +259,8 @@ translate_tex_src_target(struct i915_fragment_program *p, GLubyte bit) return D0_SAMPLE_TYPE_VOLUME; case TEXTURE_CUBE_INDEX: return D0_SAMPLE_TYPE_CUBE; + case TEXTURE_EXTERNAL_INDEX: + return D0_SAMPLE_TYPE_2D; default: i915_program_error(p, "TexSrcBit: %d", bit); return 0; diff --git a/src/mesa/drivers/dri/i915/i915_tex_layout.c b/src/mesa/drivers/dri/i915/i915_tex_layout.c index caa7127203..d7341d61f7 100644 --- a/src/mesa/drivers/dri/i915/i915_tex_layout.c +++ b/src/mesa/drivers/dri/i915/i915_tex_layout.c @@ -237,6 +237,7 @@ i915_miptree_layout(struct intel_mipmap_tree * mt) case GL_TEXTURE_1D: case GL_TEXTURE_2D: case GL_TEXTURE_RECTANGLE_ARB: + case GL_TEXTURE_EXTERNAL_OES: i915_miptree_layout_2d(mt); break; default: @@ -469,6 +470,7 @@ i945_miptree_layout(struct intel_mipmap_tree * mt) case GL_TEXTURE_1D: case GL_TEXTURE_2D: case GL_TEXTURE_RECTANGLE_ARB: + case GL_TEXTURE_EXTERNAL_OES: i945_miptree_layout_2d(mt); break; default: diff --git a/src/mesa/drivers/dri/i915/i915_texstate.c b/src/mesa/drivers/dri/i915/i915_texstate.c index 902254833d..06437ea197 100644 --- a/src/mesa/drivers/dri/i915/i915_texstate.c +++ b/src/mesa/drivers/dri/i915/i915_texstate.c @@ -390,6 +390,7 @@ i915UpdateTextureState(struct intel_context *intel) case TEXTURE_2D_BIT: case TEXTURE_CUBE_BIT: case TEXTURE_3D_BIT: + case TEXTURE_EXTERNAL_BIT: ok = i915_update_tex_unit(intel, i, SS3_NORMALIZED_COORDS); break; case TEXTURE_RECT_BIT: diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c index 5905ba9cd4..3fe14b95a6 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 ee7a627455..e96e9ed3e8 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 f9b0b714a8..c71353a9d0 100644 --- a/src/mesa/drivers/dri/i965/brw_wm_surface_state.c +++ b/src/mesa/drivers/dri/i965/brw_wm_surface_state.c @@ -57,6 +57,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_extensions_es.c b/src/mesa/drivers/dri/intel/intel_extensions_es.c index aef981aa58..79b4da9fa8 100644 --- a/src/mesa/drivers/dri/intel/intel_extensions_es.c +++ b/src/mesa/drivers/dri/intel/intel_extensions_es.c @@ -44,6 +44,7 @@ static const char *common_extensions[] = { /* Optional GLES1 or GLES2 */ #if FEATURE_OES_EGL_image "GL_OES_EGL_image", + "GL_OES_EGL_image_external", #endif "GL_EXT_texture_filter_anisotropic", "GL_EXT_packed_depth_stencil", |