Mesa (master): i965: Enable the GL_ARB_shader_bit_encode extension.
Kenneth Graunke
kwg at kemper.freedesktop.org
Thu Jun 7 07:17:56 UTC 2012
Module: Mesa
Branch: master
Commit: 05790746df077183d6c3caf87ca2d276a60302a8
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05790746df077183d6c3caf87ca2d276a60302a8
Author: Kenneth Graunke <kenneth at 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 <kenneth at 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;
More information about the mesa-commit
mailing list