brw: Skip unnecessary work for trivial emit_uniformize of IMMs
If we pass an immediate, just trivially return that immediate. This preserves the property that if x was an IMM, emit_uniformize(x) will also be an IMM, without the need for optimizations to eliminate unnecessary operations. That way, you can call emit_uniformize() on a value and still check whether it's constant afterwards. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32888>
This commit is contained in:

committed by
Marge Bot

parent
a0b1e07976
commit
4f0c852a4e
@@ -382,6 +382,10 @@ namespace brw {
|
|||||||
brw_reg
|
brw_reg
|
||||||
emit_uniformize(const brw_reg &src) const
|
emit_uniformize(const brw_reg &src) const
|
||||||
{
|
{
|
||||||
|
/* Trivial: skip unnecessary work and retain IMM */
|
||||||
|
if (src.file == IMM)
|
||||||
|
return src;
|
||||||
|
|
||||||
/* FIXME: We use a vector chan_index and dst to allow constant and
|
/* FIXME: We use a vector chan_index and dst to allow constant and
|
||||||
* copy propagration to move result all the way into the consuming
|
* copy propagration to move result all the way into the consuming
|
||||||
* instruction (typically a surface index or sampler index for a
|
* instruction (typically a surface index or sampler index for a
|
||||||
|
Reference in New Issue
Block a user