[Mesa-stable] [Mesa-dev] [PATCH 2/2] nvc0: fix setting of tess_mode in various situations
Ilia Mirkin
imirkin at alum.mit.edu
Sat May 21 20:49:28 UTC 2016
On Sat, May 21, 2016 at 4:39 PM, Martin Peres <martin.peres at free.fr> wrote:
> On 21/05/16 23:18, Ilia Mirkin wrote:
>>
>> This fixes a lot of INVALID_VALUE errors reported by the card when
>> running dEQP tests.
>>
>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> Cc: "11.1 11.2" <mesa-stable at lists.freedesktop.org>
>> ---
>> src/gallium/drivers/nouveau/nvc0/nvc0_program.c | 17 +++++++++++++----
>> 1 file changed, 13 insertions(+), 4 deletions(-)
>>
>> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c
>> b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c
>> index b573ac0..37517c22 100644
>> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c
>> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c
>> @@ -294,11 +294,20 @@ nvc0_tp_get_tess_mode(struct nvc0_program *tp,
>> struct nv50_ir_prog_info *info)
>> return;
>> }
>> - if (info->prop.tp.winding > 0)
>> - tp->tp.tess_mode |= NVC0_3D_TESS_MODE_CW;
>> + // It seems like lines want the "CW" bit to indicate they're
>> connected, and
>> + // spit out errors in dmesg when the "CONNECTED" bit is set.
>
>
> // is a c++ thing :)
>
> Seems like the rest of the file is mostly using /* */
Indeed. And I fixed that bit of it locally like 30s after I sent it.
Didn't seem worthwhile for a v2.
>
>> + if (info->prop.tp.outputPrim != PIPE_PRIM_POINTS) {
>> + if (info->prop.tp.domain == PIPE_PRIM_LINES)
>> + tp->tp.tess_mode |= NVC0_3D_TESS_MODE_CW;
>> + else
>> + tp->tp.tess_mode |= NVC0_3D_TESS_MODE_CONNECTED;
>> + }
>> - if (info->prop.tp.outputPrim != PIPE_PRIM_POINTS)
>> - tp->tp.tess_mode |= NVC0_3D_TESS_MODE_CONNECTED;
>> + // Winding only matters for triangles/quads, not lines.
>> + if (info->prop.tp.domain != PIPE_PRIM_LINES &&
>> + info->prop.tp.outputPrim != PIPE_PRIM_POINTS &&
>> + info->prop.tp.winding > 0)
>> + tp->tp.tess_mode |= NVC0_3D_TESS_MODE_CW;
>> switch (info->prop.tp.partitioning) {
>> case PIPE_TESS_SPACING_EQUAL:
>
>
>
More information about the mesa-stable
mailing list