[Mesa-dev] [PATCH 05/16] i965/fs: Add a comment explaining how register coalescing works.
Matt Turner
mattst88 at gmail.com
Thu Dec 19 13:40:19 PST 2013
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 1e6ffbc..1a16f4e 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -2245,6 +2245,18 @@ fs_visitor::dead_code_eliminate_local()
* Implements register coalescing: Checks if the two registers involved in a
* raw move don't interfere, in which case they can both be stored in the same
* place and the MOV removed.
+ *
+ * To do this, all uses of the source of the MOV in the shader are replaced
+ * with the destination of the MOV. For example:
+ *
+ * add vgrf3:F, vgrf1:F, vgrf2:F
+ * mov vgrf4:F, vgrf3:F
+ * mul vgrf5:F, vgrf5:F, vgrf4:F
+ *
+ * becomes
+ *
+ * add vgrf4:F, vgrf1:F, vgrf2:F
+ * mul vgrf5:F, vgrf5:F, vgrf4:F
*/
bool
fs_visitor::register_coalesce()
--
1.8.3.2
More information about the mesa-dev
mailing list