[Mesa-dev] [PATCH 03/12] i965/fs: Disable SIMD16 when a sampler message would be too long
Neil Roberts
neil at linux.intel.com
Thu Sep 17 09:00:05 PDT 2015
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
More information about the mesa-dev
mailing list