Mesa (master): i965/fs: Fix lower_load_payload() not to use an incorrect half for immediates and uniforms.
Francisco Jerez
currojerez at kemper.freedesktop.org
Mon Feb 23 18:55:50 UTC 2015
Module: Mesa
Branch: master
Commit: 34c93fd7f119fa824062e05377de849b8a2da0e6
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=34c93fd7f119fa824062e05377de849b8a2da0e6
Author: Francisco Jerez <currojerez at riseup.net>
Date: Thu Feb 5 12:20:03 2015 +0200
i965/fs: Fix lower_load_payload() not to use an incorrect half for immediates and uniforms.
Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 4fa6790..9df1650 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -3173,6 +3173,14 @@ fs_visitor::lower_load_payload()
inst->src[i].reg_offset;
mov->force_sechalf = metadata[src_reg].force_sechalf;
mov->force_writemask_all = metadata[src_reg].force_writemask_all;
+ } else {
+ /* We don't have any useful metadata for immediates or
+ * uniforms. Assume that any of the channels of the
+ * destination may be used.
+ */
+ assert(inst->src[i].file == IMM ||
+ inst->src[i].file == UNIFORM);
+ mov->force_writemask_all = true;
}
if (dst.file == GRF) {
More information about the mesa-commit
mailing list