Displaying 14 results from an estimated 14 matches for "op_extbf".
2014 May 29
0
[PATCH 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions
...ata.s32 << lshift) >> rshift; break;
> - case TYPE_U32: res.data.u32 = (a->data.u32 << lshift) >> rshift; break;
> + case TYPE_S32: {
> + res.data.s32 = (res.data.s32 << lshift) >> rshift;
> + if (i->subOp == NV50_IR_SUBOP_EXTBF_REV)
> + res.data.s32 = util_bitreverse(res.data.s32);
> + break;
> + }
> + case TYPE_U32: {
> + res.data.u32 = (res.data.u32 << lshift) >> rshift;
> + if (i->subOp == NV50_IR_SUBOP_EXTBF_REV)
> + res.data.u...
2014 Jun 03
0
[PATCH v2 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions
...- offset;
}
switch (i->dType) {
- case TYPE_S32: res.data.s32 = (a->data.s32 << lshift) >> rshift; break;
- case TYPE_U32: res.data.u32 = (a->data.u32 << lshift) >> rshift; break;
+ case TYPE_S32:
+ if (i->subOp == NV50_IR_SUBOP_EXTBF_REV)
+ res.data.s32 = util_bitreverse(a->data.s32);
+ else
+ res.data.s32 = a->data.s32;
+ res.data.s32 = (res.data.s32 << lshift) >> rshift;
+ break;
+ case TYPE_U32:
+ if (i->subOp == NV50_IR_SUBOP_EXTBF_REV)
+...
2014 May 29
1
[PATCH 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions
...lshift) >> rshift; break;
>> - case TYPE_U32: res.data.u32 = (a->data.u32 << lshift) >> rshift; break;
>> + case TYPE_S32: {
>> + res.data.s32 = (res.data.s32 << lshift) >> rshift;
>> + if (i->subOp == NV50_IR_SUBOP_EXTBF_REV)
>> + res.data.s32 = util_bitreverse(res.data.s32);
>> + break;
>> + }
>> + case TYPE_U32: {
>> + res.data.u32 = (res.data.u32 << lshift) >> rshift;
>> + if (i->subOp == NV50_IR_SUBOP_EXTBF_REV)
>...
2014 May 29
2
[PATCH 2/4] nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant expressions
....data.s32 = (a->data.s32 << lshift) >> rshift; break;
- case TYPE_U32: res.data.u32 = (a->data.u32 << lshift) >> rshift; break;
+ case TYPE_S32: {
+ res.data.s32 = (res.data.s32 << lshift) >> rshift;
+ if (i->subOp == NV50_IR_SUBOP_EXTBF_REV)
+ res.data.s32 = util_bitreverse(res.data.s32);
+ break;
+ }
+ case TYPE_U32: {
+ res.data.u32 = (res.data.u32 << lshift) >> rshift;
+ if (i->subOp == NV50_IR_SUBOP_EXTBF_REV)
+ res.data.u32 = util_bitreverse(res.data.u32);...
2014 Jun 03
6
[PATCH v3 0/4] Constant folding of new Instructions
Yet another try for constant folding of Instructions for nvc0.
Please Review this again! (Hopefully the last time ;-) )
Tobias Klausmann (4):
nvc0/ir: clear subop when folding constant expressions
nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant
expressions
nvc0/ir: Handle OP_BFIND when folding constant expressions
nvc0/ir: Handle OP_POPCNT when folding constant expressions
.../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 41 ++++++++++++++++++++--
1 file changed, 39 insertions(+), 2 deletions(-)
--
1....
2014 Jun 23
2
[Mesa-dev] [PATCH v3 1/4] nvc0/ir: clear subop when folding constant expressions
Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de> writes:
> Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF might have a subop set.
> After folding, make sure that it is cleared
>
> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
> Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: "10.1 10.2" <mesa-stable at lists.freedesktop.org>
Hi...
2015 Aug 19
5
[PATCH 1/2] nvc0/ir: detect AND/SHR pairs and convert into EXTBF
...cmp->setCond = inverseCondCode(cmp->setCond);
+ }
+ i->op = OP_MOV;
+ i->setSrc(s, NULL);
+ if (t) {
+ i->setSrc(0, i->getSrc(t));
+ i->setSrc(t, NULL);
+ }
+ } else if (prog->getTarget()->isOpSupported(OP_EXTBF, TYPE_U32) &&
+ src->op == OP_SHR &&
+ src->src(1).getImmediate(imm1) &&
+ i->src(t).mod == Modifier(0) &&
+ util_is_power_of_two(imm0.reg.data.u32 + 1)) {
+ // low byte = offset, high b...
2014 May 29
4
Add constant folding for new opcodes
Hi,
please review the following 4 patches:
1b1cfc6 nvc0/ir: Handle OP_BFIND when folding constant expressions
d2d2727 nvc0/ir: Handle OP_POPCNT when folding constant expressions
86a1ee6 nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant
expressions
84563bf nvc0/ir: clear subop when folding constant expressions
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 39
+++++++++++++++++++++++++++++++++++++--
1 file changed, 37 insertions(+), 2 deletions(-)
Thanks,
Tobias Klausmann
2014 Jun 03
8
[PATCH v2 0/4] Constant folding of new Instructions
And another try for constant folding of Instructions for nvc0.
Please Review this!
Thanks,
Tobias Klausmann
Tobias Klausmann (4):
nvc0/ir: clear subop when folding constant expressions
nvc0/ir: Handle reverse subop for OP_EXTBF when folding constant
expressions
nvc0/ir: Handle OP_BFIND when folding constant expressions
nvc0/ir: Handle OP_POPCNT when folding constant expressions
.../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 50 +++++++++++++++++++++-
1 file changed, 48 insertions(+), 2 deletions(-)
--
1....
2014 May 29
0
[PATCH 1/4] nvc0/ir: clear subop when folding constant expressions
Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF might have a subop set.
After folding, make sure that it is cleared
Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/nouveau/codegen/...
2014 Jun 03
0
[PATCH v2 1/4] nvc0/ir: clear subop when folding constant expressions
Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF might have a subop set.
After folding, make sure that it is cleared
Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/gallium/drivers/nouveau/codegen/...
2014 Jun 03
0
[PATCH v3 1/4] nvc0/ir: clear subop when folding constant expressions
Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF might have a subop set.
After folding, make sure that it is cleared
Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp | 1 +
1 file changed, 1 insert...
2014 Jun 23
0
[Mesa-dev] [PATCH v3 1/4] nvc0/ir: clear subop when folding constant expressions
On Mon, Jun 23, 2014 at 7:25 PM, Carl Worth <cworth at cworth.org> wrote:
> Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de> writes:
>> Some operations (e.g. OP_MUL/OP_MAD/OP_EXTBF might have a subop set.
>> After folding, make sure that it is cleared
>>
>> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
>> Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
> Cc: "10.1 10.2" <mesa-stable at lists.fr...
2015 May 17
14
[PATCH 00/12] Tessellation support for nvc0
This is enough to enable tessellation support on nvc0. It seems to
work a lot better on my GF108 than GK208. I suspect that there's some
sort of scheduling shenanigans that need to be adjusted for
kepler+. Or perhaps some shader header things.
Even with the GF108, I still get occasional blue triangles in Heaven,
but I get a *ton* of them on the GK208 -- seemingly the same issue,
but it's