Home | History | Annotate | Download | only in codegen

Lines Matching refs:tex

1655 RegAlloc::InsertConstraintsPass::textureMask(TexInstruction *tex)
1662 if (!(tex->tex.mask & (1 << c)))
1664 if (tex->getDef(k)->refCount()) {
1666 def[d++] = tex->getDef(k);
1670 tex->tex.mask = mask;
1673 tex->setDef(c, def[c]);
1675 tex->setDef(c, NULL);
1814 RegAlloc::InsertConstraintsPass::texConstraintNVE0(TexInstruction *tex)
1816 textureMask(tex);
1817 condenseDefs(tex);
1819 int n = tex->srcCount(0xff, true);
1821 condenseSrcs(tex, 0, 3);
1823 condenseSrcs(tex, 4 - (4 - 1), n - 1 - (4 - 1));
1826 condenseSrcs(tex, 0, n - 1);
1831 RegAlloc::InsertConstraintsPass::texConstraintNVC0(TexInstruction *tex)
1835 textureMask(tex);
1837 if (tex->op == OP_TXQ) {
1838 s = tex->srcCount(0xff);
1841 s = tex->tex.target.getArgCount();
1842 if (!tex->tex.target.isArray() &&
1843 (tex->tex.rIndirectSrc >= 0 || tex->tex.sIndirectSrc >= 0))
1845 if (tex->op == OP_TXD && tex->tex.useOffsets)
1847 n = tex->srcCount(0xff) - s;
1852 condenseSrcs(tex, 0, s - 1);
1854 condenseSrcs(tex, 1, n);
1856 condenseDefs(tex);
1860 RegAlloc::InsertConstraintsPass::texConstraintNV50(TexInstruction *tex)
1862 Value *pred = tex->getPredicate();
1864 tex->setPredicate(tex->cc, NULL);
1866 textureMask(tex);
1868 assert(tex->defExists(0) && tex->srcExists(0));
1871 for (c = 0; tex->srcExists(c) || tex->defExists(c); ++c) {
1872 if (!tex->srcExists(c))
1873 tex->setSrc(c, new_LValue(func, tex->getSrc(0)->asLValue()));
1874 if (!tex->defExists(c))
1875 tex->setDef(c, new_LValue(func, tex->getDef(0)->asLValue()));
1878 tex->setPredicate(tex->cc, pred);
1879 condenseDefs(tex);
1880 condenseSrcs(tex, 0, c - 1);
1888 TexInstruction *tex;
1897 if ((tex = i->asTex())) {
1903 texConstraintNV50(tex);
1907 texConstraintNVC0(tex);
1910 texConstraintNVE0(tex);