On 02/26/2013 09:51 AM, Kenneth Graunke wrote:
On 02/19/2013 05:03 PM, Matt Turner wrote:
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp
b/src/mesa/drivers/dri/i965/brw_shader.cpp
index 9ab18cc..6965d72 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.cpp
+++ b/src/mesa/drivers/dri/i965/brw_shader.cpp
@@ -156,7 +156,7 @@ brw_link_shader(struct gl_context *ctx, struct
gl_shader_program *shProg)
SUB_TO_ADD_NEG |
EXP_TO_EXP2 |
LOG_TO_LOG2 |
- LRP_TO_ARITH);
+ (stage == MESA_SHADER_FRAGMENT ? 0 : LRP_TO_ARITH));
Doesn't this need to include a gen check as well? Perhaps:
const int lrp_to_arith = 0;
if (intel->gen < 6 || stage != MESA_SHADER_FRAGMENT)
lrp_to_arith = LRP_TO_ARITH;
then use lrp_to_arith here.
I like Ken's suggestion. This is also a place where I would use ?:, but
I won't be too pushy about it. ;)
const int lrp_to_arith = (intel->gen < 6 || stage !=
MESA_SHADER_FRAGMENT) ? LRP_TO_ARITH : 0;
If you take Ken's snippet, you'll have to remove const.
/* Pre-gen6 HW can only nest if-statements 16 deep. Beyond this,
* if-statements need to be flattened.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev