Displaying 20 results from an estimated 24 matches for "nv50_ir_prog_info".
2017 Nov 14
2
[RFC PATCH] nouveau/compiler: Allow to omit line numbers when printing instructions
...-git a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
index e9363101bf..4bf6c73837 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
@@ -1249,7 +1249,7 @@ nv50_ir_generate_code(struct nv50_ir_prog_info *info)
    if (ret < 0)
       goto out;
    if (prog->dbgFlags & NV50_IR_DEBUG_VERBOSE)
-      prog->print();
+      prog->print(info->omitLineNum);
 
    targ->parseDriverInfo(info);
    prog->getTarget()->runLegalizePass(prog, nv50_ir::CG_STAGE_PRE_SSA);
@@ -1257,13 +...
2017 Nov 17
2
[PATCH v2] nouveau/compiler: Allow to omit line numbers when printing instructions
...-git a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
index e9363101bf..4bf6c73837 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
@@ -1249,7 +1249,7 @@ nv50_ir_generate_code(struct nv50_ir_prog_info *info)
    if (ret < 0)
       goto out;
    if (prog->dbgFlags & NV50_IR_DEBUG_VERBOSE)
-      prog->print();
+      prog->print(info->omitLineNum);
 
    targ->parseDriverInfo(info);
    prog->getTarget()->runLegalizePass(prog, nv50_ir::CG_STAGE_PRE_SSA);
@@ -1257,13 +...
2017 Nov 14
0
[RFC PATCH] nouveau/compiler: Allow to omit line numbers when printing instructions
...rivers/nouveau/codegen/nv50_ir.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
> index e9363101bf..4bf6c73837 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.cpp
> @@ -1249,7 +1249,7 @@ nv50_ir_generate_code(struct nv50_ir_prog_info *info)
>     if (ret < 0)
>        goto out;
>     if (prog->dbgFlags & NV50_IR_DEBUG_VERBOSE)
> -      prog->print();
> +      prog->print(info->omitLineNum);
>
>     targ->parseDriverInfo(info);
>     prog->getTarget()->runLegalizePass(prog, nv5...
2017 Nov 20
0
[PATCH v2] nouveau/compiler: Allow to omit line numbers when printing instructions
The “Program” class keeps a pointer to the “nv50_ir_prog_info” structure, so you could
just use that in the “Program::print()” function, rather than passing the flag as
an argument to “print”.
Pierre
On 2017-11-17 — 17:21, Tobias Klausmann wrote:
> This comes in handy when checking "NV50_PROG_DEBUG=1" outputs with diff!
> 
> V2:
>  - U...
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
2017 Nov 14
3
[PATCH] nouveau/codegen: dump tgsi floats as hex values
...u/codegen/nv50_ir_from_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
index 34351dab51..898031811d 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
@@ -1095,7 +1095,7 @@ Source::Source(struct nv50_ir_prog_info *prog) : info(prog)
    tokens = (const struct tgsi_token *)info->bin.source;
 
    if (prog->dbgFlags & NV50_IR_DEBUG_BASIC)
-      tgsi_dump(tokens, 0);
+      tgsi_dump(tokens, TGSI_DUMP_FLOAT_AS_HEX);
 }
 
 Source::~Source()
-- 
2.15.0
2017 Nov 24
1
[PATCH v3] nouveau/compiler: Allow to omit line numbers when printing instructions
This comes in handy when checking "NV50_PROG_DEBUG=1" outputs with diff!
V2:
 - Use environmental variable (Karol Herbst)
V3:
 - Use the already populated nv50_ir_prog_info to forward information to the
   print pass (Pierre Moreau)
Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
---
 src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h  |  1 +
 src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp | 12 +++++++++---
 src/gallium/driver...
2015 Aug 24
4
[PATCH] nv50: avoid using inline vertex data submit when gl_VertexID is used
...iff --git a/src/gallium/drivers/nouveau/nv50/nv50_program.c b/src/gallium/drivers/nouveau/nv50/nv50_program.c
index 02dc367..eff4477 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_program.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_program.c
@@ -66,6 +66,7 @@ nv50_vertprog_assign_slots(struct nv50_ir_prog_info *info)
       case TGSI_SEMANTIC_VERTEXID:
          prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID;
          prog->vp.attrs[2] |= NV50_3D_VP_GP_BUILTIN_ATTR_EN_VERTEX_ID_DRAW_ARRAYS_ADD_START;
+         prog->vp.vertexid = 1;
          continue;
       default:
          br...
2012 May 06
1
[mesa PATCH] nv50: handle VP without inputs
...nsertions(+), 0 deletions(-)
diff --git a/src/gallium/drivers/nv50/nv50_program.c b/src/gallium/drivers/nv50/nv50_program.c
index 48e8db3..c44f537 100644
--- a/src/gallium/drivers/nv50/nv50_program.c
+++ b/src/gallium/drivers/nv50/nv50_program.c
@@ -53,6 +53,13 @@ nv50_vertprog_assign_slots(struct nv50_ir_prog_info *info)
          if (info->in[i].mask & (1 << c))
             info->in[i].slot[c] = n++;
    }
+
+   // Corner case: VP has no inputs, but we will still need to submit data to
+   // draw it. HW will shout at us and won't draw anything if we don't enable
+   // any input, s...
2017 Nov 15
2
[PATCH] nouveau/codegen: dump tgsi floats as hex values
...c/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
>> index 34351dab51..898031811d 100644
>> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
>> @@ -1095,7 +1095,7 @@ Source::Source(struct nv50_ir_prog_info *prog) : info(prog)
>>      tokens = (const struct tgsi_token *)info->bin.source;
>>   
>>      if (prog->dbgFlags & NV50_IR_DEBUG_BASIC)
>> -      tgsi_dump(tokens, 0);
>> +      tgsi_dump(tokens, TGSI_DUMP_FLOAT_AS_HEX);
>>   }
>>   
>>...
2014 Feb 21
0
[PATCH] nouveau: add a nouveau_compiler binary to compile TGSI into shader ISA
...FTWARE OR THE USE OR
+ * OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <errno.h>
+
+#include "tgsi/tgsi_text.h"
+#include "util/u_debug.h"
+
+#include "codegen/nv50_ir_driver.h"
+#include "nv50/nv50_context.h"
+
+static int
+dummy_assign_slots(struct nv50_ir_prog_info *info)
+{
+   return 0;
+}
+
+int
+main(int argc, char *argv[])
+{
+   struct tgsi_token tokens[1024];
+   struct nv50_ir_prog_info info = {0};
+   int i, chipset = 0, type = -1;
+   const char *filename = NULL;
+   FILE *f;
+   char text[65536] = {0};
+
+   for (i = 1; i < argc; i++) {
+      i...
2014 Jun 23
1
[PATCH] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...-)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
index c885c8c..a8cc97c 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
@@ -189,6 +189,7 @@ struct nv50_ir_prog_info
       uint16_t sampleInfoBase;   /* base address for sample positions */
       uint8_t msInfoCBSlot;      /* cX[] used for multisample info */
       uint16_t msInfoBase;       /* base address for multisample info */
+      int32_t viewportID;
    } io;
 
    /* driver callback to assign input/ou...
2014 Jul 18
5
[PATCH 0/5] nvc0: fp64 preparation
Most of codegen is already FP64-ready. There are a few edge-cases that I ran
into, many of which can apply even to non-fp64-enabled programs (although the
double-wide registers are not very common without fp64).
I've yet to give this a full piglit run, but wanted to send these out in case
someone wanted to comment. They do not depend on the preliminary core fp64
work.
Ilia Mirkin (5):
 
2014 Jun 23
1
[PATCH v3] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...-)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
index c885c8c..002ac8f 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
@@ -177,6 +177,7 @@ struct nv50_ir_prog_info
       uint8_t vertexId;          /* system value index of VertexID */
       uint8_t edgeFlagIn;
       uint8_t edgeFlagOut;
+      int8_t viewportId;         /* output index of ViewportId */
       uint8_t fragDepth;         /* output index of FragDepth */
       uint8_t sampleMask;        /* out...
2014 Jun 23
1
[PATCH v2] nv50/ir: make ARB_viewport_array behave like it does with other drivers
...-)
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
index c885c8c..b4086f7 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_driver.h
@@ -177,6 +177,7 @@ struct nv50_ir_prog_info
       uint8_t vertexId;          /* system value index of VertexID */
       uint8_t edgeFlagIn;
       uint8_t edgeFlagOut;
+      int8_t viewportId;        /* output index of ViewportId */
       uint8_t fragDepth;         /* output index of FragDepth */
       uint8_t sampleMask;        /* outp...
2014 Feb 04
2
[PATCH 1/3] nv50: rework primid logic
...--git a/src/gallium/drivers/nouveau/nv50/nv50_program.c b/src/gallium/drivers/nouveau/nv50/nv50_program.c
index 636ef87..f14d3ef 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_program.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_program.c
@@ -170,10 +170,8 @@ nv50_fragprog_assign_slots(struct nv50_ir_prog_info *info)
 
          if (info->in[i].sn == TGSI_SEMANTIC_COLOR)
             prog->vp.bfc[info->in[i].si] = j;
-         else if (info->in[i].sn == TGSI_SEMANTIC_PRIMID) {
+         else if (info->in[i].sn == TGSI_SEMANTIC_PRIMID)
             prog->vp.attrs[2] |= NV50_3D_VP_GP_BUIL...
2017 Nov 15
0
[PATCH] nouveau/codegen: dump tgsi floats as hex values
...om_tgsi.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> index 34351dab51..898031811d 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
> @@ -1095,7 +1095,7 @@ Source::Source(struct nv50_ir_prog_info *prog) : info(prog)
>     tokens = (const struct tgsi_token *)info->bin.source;
>  
>     if (prog->dbgFlags & NV50_IR_DEBUG_BASIC)
> -      tgsi_dump(tokens, 0);
> +      tgsi_dump(tokens, TGSI_DUMP_FLOAT_AS_HEX);
>  }
>  
>  Source::~Source()
> -- 
> 2.15.0...
2014 May 27
0
[PATCH v2 2/2] nvc0: use SM35 ISA with GK20A
...egen/nv50_ir_driver.h
@@ -91,7 +91,7 @@ struct nv50_ir_prog_symbol
 #define NVISA_GF100_CHIPSET_C0 0xc0
 #define NVISA_GF100_CHIPSET_D0 0xd0
 #define NVISA_GK104_CHIPSET    0xe0
-#define NVISA_GK110_CHIPSET    0xf0
+#define NVISA_GK20A_CHIPSET    0xea
 #define NVISA_GM107_CHIPSET    0x110
 
 struct nv50_ir_prog_info
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 b1f76cf80432..f69e6a183e19 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp...
2017 Nov 16
0
[PATCH] nouveau/codegen: dump tgsi floats as hex values
...s/nouveau/codegen/nv50_ir_from_tgsi.cpp
>>> index 34351dab51..898031811d 100644
>>> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
>>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp
>>> @@ -1095,7 +1095,7 @@ Source::Source(struct nv50_ir_prog_info *prog) :
>>> info(prog)
>>>      tokens = (const struct tgsi_token *)info->bin.source;
>>>        if (prog->dbgFlags & NV50_IR_DEBUG_BASIC)
>>> -      tgsi_dump(tokens, 0);
>>> +      tgsi_dump(tokens, TGSI_DUMP_FLOAT_AS_HEX);
>>>   }...
2014 May 27
8
[PATCH 0/2] nvc0: support for GK20A (Tegra K1)
The following 2 patches make it possible to run Mesa programs on GK20A
(Tegra K1).
GK20A is very similar to GK104, but uses a new (backward-compatible) 3D class
as well as the same ISA as GK110 (SM35). Taking these differences into account
is sufficient to successfully render simple off-screen buffers.
Alexandre Courbot (2):
  nvc0: add GK20A 3D class
  nvc0: use SM35 ISA with GK20A