The maximum message length for a send message is 11. Some of the
sampler message types have more than 5 arguments which means when they
are doubled to accomodate the SIMD16 register size then the message is
too long. This is important for the ld2dms_w message which will be
used in a later patch because it up to 7 arguments.
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp
b/src/mesa/drivers/dri/i965/brw_fs.cpp
index b4d0567..32a2adf 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -4100,6 +4100,11 @@ fs_visitor::lower_logical_sends()
continue;
}
+ if (dispatch_width < 16 &&
+ (inst->mlen - inst->header_size) * 2 + inst->header_size >
+ MAX_SAMPLER_MESSAGE_SIZE)
+ no16("Sampler message would be too long in SIMD16 mode\n");
+
progress = true;
}
--
1.9.3
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev