Module: Mesa Branch: master Commit: 05790746df077183d6c3caf87ca2d276a60302a8 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05790746df077183d6c3caf87ca2d276a60302a8
Author: Kenneth Graunke <kenn...@whitecape.org> Date: Thu Jun 7 00:11:28 2012 -0700 i965: Enable the GL_ARB_shader_bit_encode extension. Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> --- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 7 +++++++ src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 17 +++++++++++++++++ src/mesa/drivers/dri/intel/intel_extensions.c | 1 + 3 files changed, 25 insertions(+), 0 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 2634b08..12745f2 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -445,11 +445,18 @@ fs_visitor::visit(ir_expression *ir) emit_math(SHADER_OPCODE_RSQ, this->result, op[0]); break; + case ir_unop_bitcast_i2f: + case ir_unop_bitcast_u2f: + op[0].type = BRW_REGISTER_TYPE_F; + this->result = op[0]; + break; case ir_unop_i2u: + case ir_unop_bitcast_f2u: op[0].type = BRW_REGISTER_TYPE_UD; this->result = op[0]; break; case ir_unop_u2i: + case ir_unop_bitcast_f2i: op[0].type = BRW_REGISTER_TYPE_D; this->result = op[0]; break; diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index cfffef4..bde8420 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -1254,6 +1254,23 @@ vec4_visitor::visit(ir_expression *ir) case ir_unop_rsq: emit_math(SHADER_OPCODE_RSQ, result_dst, op[0]); break; + + case ir_unop_bitcast_i2f: + case ir_unop_bitcast_u2f: + this->result = op[0]; + this->result.type = BRW_REGISTER_TYPE_F; + break; + + case ir_unop_bitcast_f2i: + this->result = op[0]; + this->result.type = BRW_REGISTER_TYPE_D; + break; + + case ir_unop_bitcast_f2u: + this->result = op[0]; + this->result.type = BRW_REGISTER_TYPE_UD; + break; + case ir_unop_i2f: case ir_unop_i2u: case ir_unop_u2i: diff --git a/src/mesa/drivers/dri/intel/intel_extensions.c b/src/mesa/drivers/dri/intel/intel_extensions.c index 6c29aff..29da36c 100755 --- a/src/mesa/drivers/dri/intel/intel_extensions.c +++ b/src/mesa/drivers/dri/intel/intel_extensions.c @@ -122,6 +122,7 @@ intelInitExtensions(struct gl_context *ctx) ctx->Extensions.ARB_occlusion_query = true; ctx->Extensions.ARB_point_sprite = true; ctx->Extensions.ARB_seamless_cube_map = true; + ctx->Extensions.ARB_shader_bit_encoding = true; ctx->Extensions.ARB_shader_texture_lod = true; #ifdef TEXTURE_FLOAT_ENABLED ctx->Extensions.ARB_texture_float = true; _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit