search for: srccount

Displaying 8 results from an estimated 8 matches for "srccount".

2014 Sep 25
0
[PATCH] gm107/ir: fix texture argument order
...if (tex->op == OP_TXD) { + // Indirect handle belongs in the first arg + if (tex->tex.rIndirectSrc >= 0) + s++; + if (!tex->tex.target.isArray() && tex->tex.useOffsets) + s++; + } n = tex->srcCount(0xff) - s; } else { s = tex->srcCount(0xff); -- 1.8.5.5
2014 Jun 23
1
[PATCH] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...E_U32, + info->out[info->io.viewportID].slot[0] * 4); + mkStore(OP_EXPORT, TYPE_U32, VPSym, NULL, viewport); + } + /* fallthrough */ case TGSI_OPCODE_ENDPRIM: // get vertex stream if specified (must be immediate) src0 = tgsi.srcCount() ? @@ -2952,6 +2972,9 @@ Converter::run() mkOp1(OP_RCP, TYPE_F32, fragCoord[3], fragCoord[3]); } + if (info->io.viewportID > 0) + viewport = getScratch(); + for (ip = 0; ip < code->scan.num_instructions; ++ip) { if (!handleInstruction(&code->insns[...
2014 Jun 23
1
[PATCH v3] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...E_U32, + info->out[info->io.viewportId].slot[0] * 4); + mkStore(OP_EXPORT, TYPE_U32, vpSym, NULL, viewport); + } + /* fallthrough */ case TGSI_OPCODE_ENDPRIM: // get vertex stream if specified (must be immediate) src0 = tgsi.srcCount() ? @@ -2952,6 +2974,11 @@ Converter::run() mkOp1(OP_RCP, TYPE_F32, fragCoord[3], fragCoord[3]); } + if (info->io.viewportId >= 0) + viewport = getScratch(); + else + viewport = NULL; + for (ip = 0; ip < code->scan.num_instructions; ++ip) { if (!han...
2014 Jun 23
1
[PATCH v2] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...E_U32, + info->out[info->io.viewportId].slot[0] * 4); + mkStore(OP_EXPORT, TYPE_U32, vpSym, NULL, viewport); + } + /* fallthrough */ case TGSI_OPCODE_ENDPRIM: // get vertex stream if specified (must be immediate) src0 = tgsi.srcCount() ? @@ -2952,6 +2974,10 @@ Converter::run() mkOp1(OP_RCP, TYPE_F32, fragCoord[3], fragCoord[3]); } + if (info->io.viewportId >= 0) + viewport = getScratch(); + else viewport = NULL; + for (ip = 0; ip < code->scan.num_instructions; ++ip) { if (!handleInst...
2014 Feb 19
0
[PATCH] nv50: enable cube map array texture support
...owering_nv50.cpp @@ -664,7 +664,7 @@ NV50LoweringPreSSA::handleTEX(TexInstruction *i) bld.mkOp2(OP_MIN, TYPE_U32, src, src, bld.loadImm(NULL, 511)); i->setSrc(arg - 1, src); } - if (i->tex.target.isCube()) { + if (i->tex.target.isCube() && i->srcCount() > 4) { std::vector<Value *> acube, a2d; int c; @@ -681,9 +681,10 @@ NV50LoweringPreSSA::handleTEX(TexInstruction *i) for (c = 0; c < 3; ++c) i->setSrc(c, a2d[c]); - i->setSrc(c, NULL); for (; i->srcExists(c + 1)...
2014 Mar 20
0
[PATCH] nvc0/ir: move sample id to second source arg to fix sampler2DMS
...ium/drivers/nouveau/codegen/nv50_ir_ra.cpp index 1ace9f5..60a6a3f 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_ra.cpp @@ -1914,7 +1914,7 @@ RegAlloc::InsertConstraintsPass::texConstraintNVC0(TexInstruction *tex) s = tex->srcCount(0xff); n = 0; } else { - s = tex->tex.target.getArgCount(); + s = tex->tex.target.getArgCount() - tex->tex.target.isMS(); if (!tex->tex.target.isArray() && (tex->tex.rIndirectSrc >= 0 || tex->tex.sIndirectSrc >= 0)) ++...
2014 Jul 05
1
[PATCH 1/2] nvc0/ir: use manual TXD when offsets are involved
Something about how we're implementing offsets for TXD is wrong, just flip to the generic quadop-based implementation in that case. This is the minimal fix appropriate for backporting. Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> Cc: <mesa-stable at lists.freedesktop.org> --- src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp | 3 ++- 1 file changed, 2
2014 Apr 04
2
[PATCH 1/2] nvc0: add support for texture gather
...rs/nouveau/codegen/nv50_ir_lowering_nvc0.cpp index 382b02d..44b5ecd 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_lowering_nvc0.cpp @@ -744,9 +744,15 @@ NVC0LoweringPass::handleTEX(TexInstruction *i) int s = i->srcCount(0xff, true); if (i->srcExists(s)) // move potential predicate out of the way i->moveSources(s, 1); - for (n = 0; n < i->tex.useOffsets; ++n) + if (i->op == OP_TXG) { + assert(i->tex.useOffsets == 1); for (c = 0; c < 3; ++c) -...