Mesa (master): i965: Add support for math on constants in gen6 brw_wm_glsl. c path.
Eric Anholt
anholt at kemper.freedesktop.org
Wed Nov 10 04:25:14 UTC 2010
Module: Mesa
Branch: master
Commit: f289dcd849cdb790b745860f3e97b61b5ad98f19
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f289dcd849cdb790b745860f3e97b61b5ad98f19
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 9 20:17:25 2010 -0800
i965: Add support for math on constants in gen6 brw_wm_glsl.c path.
Fixes 10 piglit cases that were assertion failing.
---
src/mesa/drivers/dri/i965/brw_wm_emit.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_wm_emit.c b/src/mesa/drivers/dri/i965/brw_wm_emit.c
index d037560..96fecc9 100644
--- a/src/mesa/drivers/dri/i965/brw_wm_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_wm_emit.c
@@ -896,11 +896,12 @@ void emit_math1(struct brw_wm_compile *c,
BRW_MATH_SATURATE_NONE);
struct brw_reg src;
- if (intel->gen >= 6 && arg0[0].hstride == BRW_HORIZONTAL_STRIDE_0) {
- /* Gen6 math requires that source and dst horizontal stride be 1.
- *
+ if (intel->gen >= 6 && (arg0[0].hstride == BRW_HORIZONTAL_STRIDE_0 ||
+ arg0[0].file != BRW_GENERAL_REGISTER_FILE)) {
+ /* Gen6 math requires that source and dst horizontal stride be 1,
+ * and that the argument be in the GRF.
*/
- src = *dst;
+ src = dst[dst_chan];
brw_MOV(p, src, arg0[0]);
} else {
src = arg0[0];
More information about the mesa-commit
mailing list