search for: codeemittergk110

Displaying 17 results from an estimated 17 matches for "codeemittergk110".

2014 Apr 04
2
[PATCH 1/2] nvc0: add support for texture gather
...src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp index b716d54..a4b50ee 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -984,6 +984,9 @@ CodeEmitterGK110::emitTEX(const TexInstruction *i) case OP_TXF: code[1] = 0x78000000; break; + case OP_TXG: + code[1] = 0x7dc00000; + break; default: code[1] = 0x7d800000; break; @@ -1005,6 +1008,11 @@ CodeEmitterGK110::emitTEX(const TexInst...
2014 Mar 11
2
[PATCH] nv50/ir/gk110: fix some instruction emission
...src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp index fe428ca..84f4413 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -738,8 +738,7 @@ CodeEmitterGK110::emitSFnOp(const Instruction *i, uint8_t subOp) NEG_(33, 0); ABS_(31, 0); - - // XXX: find saturate + SAT_(35, 0); } void @@ -1073,32 +1072,32 @@ CodeEmitterGK110::emitFlow(const Instruction *i) switch (i->op) { case OP_BRA: - code[1] = f->absolute ? 0x00000 :...
2015 Feb 20
10
[PATCH 01/11] nvc0/ir: add emission of dadd/dmul/dmad opcodes, fix minmax
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- .../drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 66 +++++++++++++++++++++- 1 file changed, 63 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp index dfb093c..e38a3b8 100644 ---
2014 Jun 06
3
[PATCH 1/3] gk110/ir: emit texbar the same way that the blob does
...allium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp index b8d0d3e..d566c99 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -967,7 +967,7 @@ void CodeEmitterGK110::emitSELP(const Instruction *i) void CodeEmitterGK110::emitTEXBAR(const Instruction *i) { - code[0] = 0x00000002 | (i->subOp << 23); + code[0] = 0x0000003e | (i->subOp << 23); code[1] = 0x77000000; emitPredicate(i); -- 1.8.5.5
2016 Mar 16
13
[PATCH mesa 1/6] tgsi_build: Fix return of uninitialized memory in tgsi_*_instruction_memory
tgsi_default_instruction_memory / tgsi_build_instruction_memory were returning uninitialized memory for tgsi_instruction_memory.Texture and tgsi_instruction_memory.Format. Note 0 means not set, and thus is a correct default initializer for these. Fixes: 3243b6fc97 ("tgsi: add Texture and Format to tgsi_instruction_memory") Cc: Nicolai Hähnle <nicolai.haehnle at amd.com>
2016 Mar 16
0
[PATCH mesa 3/6] nouveau: codegen: gk110: Make emitSTORE offset handling identical to emitLOAD
Make the store offset handling in CodeEmitterGK110::emitSTORE identical to the one in CodeEmitterGK110::emitLOAD handling. This is just a cleanup, it does not cause any functional changes. Signed-off-by: Hans de Goede <hdegoede at redhat.com> --- src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 4 +--- 1 file changed, 1 inserti...
2016 Mar 16
2
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
...veau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > index 02a1101..62f1598 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > @@ -1641,8 +1641,15 @@ CodeEmitterGK110::emitSTORE(const Instruction *i) > int32_t offset = SDATA(i->src(0)).offset; > > switch (i->src(0).getFile()) { > - case FILE_MEMORY_BUFFER: code[1] = 0xe0000000; code[0] = 0x00000000; break; > - case FILE_MEMORY_LOCAL: code[1] = 0x7a800000; code[0] = 0x00000002;...
2016 Mar 16
0
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
.../gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp index 02a1101..62f1598 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -1641,8 +1641,15 @@ CodeEmitterGK110::emitSTORE(const Instruction *i) int32_t offset = SDATA(i->src(0)).offset; switch (i->src(0).getFile()) { - case FILE_MEMORY_BUFFER: code[1] = 0xe0000000; code[0] = 0x00000000; break; - case FILE_MEMORY_LOCAL: code[1] = 0x7a800000; code[0] = 0x00000002; break; + case FILE_MEM...
2016 Mar 16
2
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
.../codegen/nv50_ir_emit_gk110.cpp > b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > index 70f3c3f..02a1101 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > @@ -1641,7 +1641,7 @@ CodeEmitterGK110::emitSTORE(const Instruction *i) > int32_t offset = SDATA(i->src(0)).offset; > > switch (i->src(0).getFile()) { > - case FILE_MEMORY_GLOBAL: code[1] = 0xe0000000; code[0] = 0x00000000; > break; > + case FILE_MEMORY_BUFFER: code[1] = 0xe0000000; code[0] = 0x000000...
2016 Mar 16
0
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
...0_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp >> index 02a1101..62f1598 100644 >> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp >> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp >> @@ -1641,8 +1641,15 @@ CodeEmitterGK110::emitSTORE(const Instruction *i) >> int32_t offset = SDATA(i->src(0)).offset; >> >> switch (i->src(0).getFile()) { >> - case FILE_MEMORY_BUFFER: code[1] = 0xe0000000; code[0] = 0x00000000; break; >> - case FILE_MEMORY_LOCAL: code[1] = 0x7a800000; c...
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...c/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp index 70f3c3f..02a1101 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -1641,7 +1641,7 @@ CodeEmitterGK110::emitSTORE(const Instruction *i) int32_t offset = SDATA(i->src(0)).offset; switch (i->src(0).getFile()) { - case FILE_MEMORY_GLOBAL: code[1] = 0xe0000000; code[0] = 0x00000000; break; + case FILE_MEMORY_BUFFER: code[1] = 0xe0000000; code[0] = 0x00000000; break; case FILE_MEM...
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...t_gk110.cpp >> b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp >> index 70f3c3f..02a1101 100644 >> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp >> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp >> @@ -1641,7 +1641,7 @@ CodeEmitterGK110::emitSTORE(const Instruction *i) >> int32_t offset = SDATA(i->src(0)).offset; >> >> switch (i->src(0).getFile()) { >> - case FILE_MEMORY_GLOBAL: code[1] = 0xe0000000; code[0] = 0x00000000; >> break; >> + case FILE_MEMORY_BUFFER: code[1] = 0xe0...
2017 Mar 26
5
[PATCH v5 0/5] nvc0/ir: add support for MAD/FMA PostRALoadPropagation
was "nv50/ir: PostRaConstantFolding improvements" before. nothing really changed from the last version, just minor things. Karol Herbst (5): nv50/ir: restructure and rename postraconstantfolding pass nv50/ir: implement mad post ra folding for nvc0+ gk110/ir: add LIMM form of mad gm107/ir: add LIMM form of mad nv50/ir: also do PostRaLoadPropagation for FMA
2014 May 06
1
[PATCH] nv50/ir/gk110: fix set with f32 dest
...src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp index 5992c54..b8d0d3e 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -915,6 +915,9 @@ CodeEmitterGK110::emitSET(const CmpInstruction *i) modNegAbsF32_3b(i, 1); } FTZ_(3a); + + if (i->dType == TYPE_F32) + code[1] |= 1 << 23; } if (i->sType == TYPE_S32) code[1] |= 1 << 19; -- 1.8.3.2
2014 Mar 11
0
[PATCH] nv50/ir/gk110: fix some instruction emission
...nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > index fe428ca..84f4413 100644 > --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp > @@ -738,8 +738,7 @@ CodeEmitterGK110::emitSFnOp(const Instruction *i, uint8_t subOp) > > NEG_(33, 0); > ABS_(31, 0); > - > - // XXX: find saturate > + SAT_(35, 0); > } > > void > @@ -1073,32 +1072,32 @@ CodeEmitterGK110::emitFlow(const Instruction *i) > > switch (i->op) { >...
2015 May 09
5
[PATCH 1/4] nvc0/ir: avoid jumping to a sched instruction
...c/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp index 6bb9620..28081fa 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp @@ -1316,6 +1316,8 @@ CodeEmitterGK110::emitFlow(const Instruction *i) } else if (mask & 2) { int32_t pcRel = f->target.bb->binPos - (codeSize + 8); + if (writeIssueDelays && !(f->target.bb->binPos & 0x3f)) + pcRel += 8; // currently we don't want absolute branches...
2015 Aug 19
5
[PATCH 1/2] nvc0/ir: detect AND/SHR pairs and convert into EXTBF
Some shaders appear to extract bits using shift/and combos. Detect (some) of those and convert to EXTBF instead. Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu> --- .../drivers/nouveau/codegen/nv50_ir_peephole.cpp | 66 +++++++++++++++------- 1 file changed, 46 insertions(+), 20 deletions(-) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_peephole.cpp