Displaying 2 results from an estimated 2 matches for "op_shfl".
2017 Dec 20
2
[PATCH] gm107/ir: use lane 0 for manual textureGrad handling
...{
Value *src[3], *val;
- // mov coordinates from lane l to all lanes
+ Value *lane = bld.mkImm(l);
bld.mkOp(OP_QUADON, TYPE_NONE, NULL);
+ // Make sure lane 0 has the appropriate array/depth compare values
+ if (l != 0) {
+ if (array)
+ bld.mkOp3(OP_SHFL, TYPE_F32, arr, i->getSrc(0), lane, quad);
+ if (i->tex.target.isShadow())
+ bld.mkOp3(OP_SHFL, TYPE_F32, shadow, i->getSrc(array + dim), lane, quad);
+ }
+
+ // mov coordinates from lane l to all lanes
for (c = 0; c < dim; ++c) {
- bld.mkOp3(...
2017 Dec 20
0
[PATCH] gm107/ir: use lane 0 for manual textureGrad handling
...- // mov coordinates from lane l to all lanes
> + Value *lane = bld.mkImm(l);
> bld.mkOp(OP_QUADON, TYPE_NONE, NULL);
> + // Make sure lane 0 has the appropriate array/depth compare values
> + if (l != 0) {
> + if (array)
> + bld.mkOp3(OP_SHFL, TYPE_F32, arr, i->getSrc(0), lane, quad);
> + if (i->tex.target.isShadow())
> + bld.mkOp3(OP_SHFL, TYPE_F32, shadow, i->getSrc(array + dim), lane, quad);
In the great argument switcheroo between each SM version, the shadow
compare is actually after the indirect h...