summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_ir_fs.h
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2015-02-19 14:52:24 +0200
committerFrancisco Jerez <currojerez@riseup.net>2015-05-04 17:44:17 +0300
commitf2fad0dc80627e853eea558498f18a9fa769992e (patch)
tree51302a9f50dd09bf7bab7f52e158a91ca1788aa7 /src/mesa/drivers/dri/i965/brw_ir_fs.h
parentc74511f5dc239eefb8604294c6c1e57b3a394111 (diff)
downloadexternal_mesa3d-f2fad0dc80627e853eea558498f18a9fa769992e.zip
external_mesa3d-f2fad0dc80627e853eea558498f18a9fa769992e.tar.gz
external_mesa3d-f2fad0dc80627e853eea558498f18a9fa769992e.tar.bz2
i965: Perform basic optimizations on the BROADCAST opcode.
v2: Style fixes. Reviewed-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_ir_fs.h')
-rw-r--r--src/mesa/drivers/dri/i965/brw_ir_fs.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_ir_fs.h b/src/mesa/drivers/dri/i965/brw_ir_fs.h
index 1e54bb2..0727ac5 100644
--- a/src/mesa/drivers/dri/i965/brw_ir_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_ir_fs.h
@@ -166,6 +166,13 @@ component(fs_reg reg, unsigned idx)
return reg;
}
+static inline bool
+is_uniform(const fs_reg &reg)
+{
+ return (reg.width == 1 || reg.stride == 0 || reg.is_null()) &&
+ (!reg.reladdr || is_uniform(*reg.reladdr));
+}
+
/**
* Get either of the 8-component halves of a 16-component register.
*