Displaying 20 results from an estimated 22 matches for "codeemitternv50".
2015 Jul 08
2
[PATCH 2/2] nv50/ir: fix a compiler warning with debug-only code
On 8 July 2015 at 19:27, Tobias Klausmann
<tobias.johannes.klausmann at mni.thm.de> wrote:
> codegen/nv50_ir_emit_nv50.cpp: In member function
> ‘void nv50_ir::CodeEmitterNV50::emitLOAD(const nv50_ir::Instruction*)’:
> codegen/nv50_ir_emit_nv50.cpp:620:12: warning: unused variable ‘offset’
> [-Wunused-variable]
> int32_t offset = i->getSrc(0)->reg.data.offset;
>
> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
&g...
2015 Feb 23
2
[PATCH 1/2] nv50/ir: add fp64 support on G200 (NVA0)
...void emitIMUL(const Instruction *);
void emitFMUL(const Instruction *);
+ void emitDMUL(const Instruction *);
void emitFMAD(const Instruction *);
+ void emitDMAD(const Instruction *);
void emitIMAD(const Instruction *);
void emitISAD(const Instruction *);
@@ -923,11 +926,13 @@ CodeEmitterNV50::emitMINMAX(const Instruction *i)
assert(0);
break;
}
- code[1] |= i->src(0).mod.abs() << 20;
- code[1] |= i->src(0).mod.neg() << 26;
- code[1] |= i->src(1).mod.abs() << 19;
- code[1] |= i->src(1).mod.neg() << 27;...
2015 Jul 08
5
[PATCH 1/2] nouveau/compiler: fix trivial compiler warnings
nouveau_compiler.c: In function ‘main’:
nouveau_compiler.c:216:27: warning: ‘code’ may be used uninitialized in
this function [-Wmaybe-uninitialized]
printf("%08x ", code[i / 4]);
^
nouveau_compiler.c:215:4: warning: ‘size’ may be used uninitialized in
this function [-Wmaybe-uninitialized]
for (i = 0; i < size; i += 4) {
Signed-off-by: Tobias
2013 Sep 10
3
[Bug 69155] New: codegen/nv50_ir_emit_nv50.cpp:169:srcAddr8: Assertion `(offset <= 0x1fc || offset == 0x3fc) && !(offset & 0x3)' failed.
...trap (core dumped)
(gdb) bt
#0 0x00007f54bac25e1e in _debug_assert_fail (expr=0x7f54baf08560 "(offset <=
0x1fc || offset == 0x3fc) && !(offset & 0x3)",
file=0x7f54baf084c1 "codegen/nv50_ir_emit_nv50.cpp", line=169,
function=0x7f54baf09151
<nv50_ir::CodeEmitterNV50::srcAddr8(nv50_ir::ValueRef const&,
int)::__FUNCTION__> "srcAddr8") at util/u_debug.c:278
#1 0x00007f54bad5e420 in nv50_ir::CodeEmitterNV50::srcAddr8 (this=0x1f94360,
src=..., pos=16) at codegen/nv50_ir_emit_nv50.cpp:169
#2 0x00007f54bad5995e in nv50_ir::CodeEmitterNV50::emitINTE...
2016 Mar 16
2
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
...ers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> index 7476e21..2653c82 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> @@ -663,6 +663,7 @@ CodeEmitterNV50::emitLOAD(const Instruction *i)
> code[1] = 0x40000000;
> break;
> case FILE_MEMORY_BUFFER:
> + case FILE_MEMORY_GLOBAL:
> code[0] = 0xd0000001 | (i->getSrc(0)->reg.fileIndex << 16);
> code[1] = 0x80000000;
> break;
>...
2015 Jan 11
1
[PATCH 1/3] nv50/ir: Add support for MAD short+IMM notation
...en/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> index 2077388..b1e7409 100644
>> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> @@ -939,9 +939,20 @@ CodeEmitterNV50::emitFMAD(const Instruction *i)
>>
>> code[0] = 0xe0000000;
>>
>> + if (i->src(1).getFile() == FILE_IMMEDIATE) {
>> + code[1] = 0;
>> + emitForm_IMM(i);
>> + code[0] |= neg_mul << 15;
>> + code[0] |= neg_add <<...
2015 Jan 11
6
[PATCH 1/3] nv50/ir: Add support for MAD short+IMM notation
...a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
index 2077388..b1e7409 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
@@ -939,9 +939,20 @@ CodeEmitterNV50::emitFMAD(const Instruction *i)
code[0] = 0xe0000000;
+ if (i->src(1).getFile() == FILE_IMMEDIATE) {
+ code[1] = 0;
+ emitForm_IMM(i);
+ code[0] |= neg_mul << 15;
+ code[0] |= neg_add << 22;
+ if (i->saturate)
+ code[0] |= 1 << 8;
+...
2016 Mar 16
0
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
...t a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
index 7476e21..2653c82 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
@@ -663,6 +663,7 @@ CodeEmitterNV50::emitLOAD(const Instruction *i)
code[1] = 0x40000000;
break;
case FILE_MEMORY_BUFFER:
+ case FILE_MEMORY_GLOBAL:
code[0] = 0xd0000001 | (i->getSrc(0)->reg.fileIndex << 16);
code[1] = 0x80000000;
break;
@@ -671,7 +672,8 @@ CodeEmitterNV50::emitLOA...
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
2
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...ouveau/codegen/nv50_ir_emit_nv50.cpp
> b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> index 682a19d..7476e21 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> @@ -662,7 +662,7 @@ CodeEmitterNV50::emitLOAD(const Instruction *i)
> code[0] = 0xd0000001;
> code[1] = 0x40000000;
> break;
> - case FILE_MEMORY_GLOBAL:
> + case FILE_MEMORY_BUFFER:
> code[0] = 0xd0000001 | (i->getSrc(0)->reg.fileIndex << 16);
> code[1] = 0x8000...
2015 Feb 06
2
[PATCH 1/3] nv50/ir: Add support for MAD 4-byte opcode
...a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
index 2077388..23e4bab 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
@@ -941,7 +941,10 @@ CodeEmitterNV50::emitFMAD(const Instruction *i)
if (i->encSize == 4) {
emitForm_MUL(i);
- assert(!neg_mul && !neg_add);
+ code[0] |= neg_mul << 15;
+ code[0] |= neg_add << 22;
+ if (i->saturate)
+ code[0] |= 1 << 8;
} else {
code[1...
2016 Mar 16
0
[PATCH mesa 5/6] nouveau: codegen: Add support for OpenCL global memory buffers
...gen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> index 7476e21..2653c82 100644
>> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> @@ -663,6 +663,7 @@ CodeEmitterNV50::emitLOAD(const Instruction *i)
>> code[1] = 0x40000000;
>> break;
>> case FILE_MEMORY_BUFFER:
>> + case FILE_MEMORY_GLOBAL:
>> code[0] = 0xd0000001 | (i->getSrc(0)->reg.fileIndex << 16);
>> code[1] = 0x80000000;...
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...t a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
index 682a19d..7476e21 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
@@ -662,7 +662,7 @@ CodeEmitterNV50::emitLOAD(const Instruction *i)
code[0] = 0xd0000001;
code[1] = 0x40000000;
break;
- case FILE_MEMORY_GLOBAL:
+ case FILE_MEMORY_BUFFER:
code[0] = 0xd0000001 | (i->getSrc(0)->reg.fileIndex << 16);
code[1] = 0x80000000;
break;
@@ -671,7 +671,...
2015 Jan 23
3
[PATCH 1/2] nv50/ir: Add support for MAD short+IMM notation
...a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
index 2077388..b1e7409 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
@@ -939,9 +939,20 @@ CodeEmitterNV50::emitFMAD(const Instruction *i)
code[0] = 0xe0000000;
+ if (i->src(1).getFile() == FILE_IMMEDIATE) {
+ code[1] = 0;
+ emitForm_IMM(i);
+ code[0] |= neg_mul << 15;
+ code[0] |= neg_add << 22;
+ if (i->saturate)
+ code[0] |= 1 << 8;
+...
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...ir_emit_nv50.cpp
>> b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> index 682a19d..7476e21 100644
>> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
>> @@ -662,7 +662,7 @@ CodeEmitterNV50::emitLOAD(const Instruction *i)
>> code[0] = 0xd0000001;
>> code[1] = 0x40000000;
>> break;
>> - case FILE_MEMORY_GLOBAL:
>> + case FILE_MEMORY_BUFFER:
>> code[0] = 0xd0000001 | (i->getSrc(0)->reg.fileIndex << 16);...
2014 Jan 13
20
[PATCH 00/19] nv50: add sampler2DMS/GP support to get OpenGL 3.2
OK, so there's a bunch of stuff in here. The geometry stuff is based on the
work started by Bryan Cain and Christoph Bumiller.
Patches 01-12: Add support for geometry shaders and fix related issues
Patches 13-14: Make it possible for fb clears to operate on texture attachments
with an explicit layer set (as is allowed in gl 3.2).
Patches 15-17: Make ARB_texture_multisample work
2014 Feb 20
0
[PATCH] nv50: enable txg where supported
...a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
index bef103f..e2f93bb 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
@@ -1447,7 +1447,7 @@ CodeEmitterNV50::emitTEX(const TexInstruction *i)
code[0] |= 0x01000000;
break;
case OP_TXG:
- code[0] = 0x01000000;
+ code[0] |= 0x01000000;
code[1] = 0x80000000;
break;
default:
@@ -1790,6 +1790,7 @@ CodeEmitterNV50::emitInstruction(Instruction *insn)
case OP_TXB...
2015 Jan 11
0
[PATCH 1/3] nv50/ir: Add support for MAD short+IMM notation
...rs/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> index 2077388..b1e7409 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
> @@ -939,9 +939,20 @@ CodeEmitterNV50::emitFMAD(const Instruction *i)
>
> code[0] = 0xe0000000;
>
> + if (i->src(1).getFile() == FILE_IMMEDIATE) {
> + code[1] = 0;
> + emitForm_IMM(i);
> + code[0] |= neg_mul << 15;
> + code[0] |= neg_add << 22;
> + if (i->satur...
2014 Feb 28
0
[PATCH] nv50: enable texture query lod
...a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
index bef103f..0b0d480 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nv50.cpp
@@ -1450,6 +1450,9 @@ CodeEmitterNV50::emitTEX(const TexInstruction *i)
code[0] = 0x01000000;
code[1] = 0x80000000;
break;
+ case OP_TXLQ:
+ code[1] = 0x60020000;
+ break;
default:
assert(i->op == OP_TEX);
break;
@@ -1790,6 +1793,7 @@ CodeEmitterNV50::emitInstruction(Instruction *in...
2015 Jan 13
3
nv50/ir: Implement short notation for MAD V2
V2: clarify code, commit msgs, add comments. Drop code to was supposed to
make register assignment prefer SDST == SRC2 (patch 2) for now, because it
didn't quite do what I intended.