[Mesa-dev] [PATCH v2 6/9] nvc0/ir: Add SV_LANEMASK_* system values.
Ilia Mirkin
imirkin at alum.mit.edu
Mon Apr 10 01:41:02 UTC 2017
Please add these to nv50_ir_print.cpp's list of names too.
On Sun, Apr 9, 2017 at 8:58 PM, Boyan Ding <boyan.j.ding at gmail.com> wrote:
> ---
> src/gallium/drivers/nouveau/codegen/nv50_ir.h | 5 +++++
> src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 5 +++++
> src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 5 +++++
> src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 5 +++++
> 4 files changed, 20 insertions(+)
>
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir.h b/src/gallium/drivers/nouveau/codegen/nv50_ir.h
> index 6e5ffa525d..de6c110536 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir.h
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.h
> @@ -470,6 +470,11 @@ enum SVSemantic
> SV_BASEINSTANCE,
> SV_DRAWID,
> SV_WORK_DIM,
> + SV_LANEMASK_EQ,
> + SV_LANEMASK_LT,
> + SV_LANEMASK_LE,
> + SV_LANEMASK_GT,
> + SV_LANEMASK_GE,
> SV_UNDEFINED,
> SV_LAST
> };
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
> index 87976ffebc..bd4bd118f4 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
> @@ -2300,6 +2300,11 @@ CodeEmitterGK110::getSRegEncoding(const ValueRef& ref)
> case SV_NCTAID: return 0x2d + SDATA(ref).sv.index;
> case SV_LBASE: return 0x34;
> case SV_SBASE: return 0x30;
> + case SV_LANEMASK_EQ: return 0x38;
> + case SV_LANEMASK_LT: return 0x39;
> + case SV_LANEMASK_LE: return 0x3a;
> + case SV_LANEMASK_GT: return 0x3b;
> + case SV_LANEMASK_GE: return 0x3c;
> case SV_CLOCK: return 0x50 + SDATA(ref).sv.index;
> default:
> assert(!"no sreg for system value");
> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
> index 0382cb3903..29426c130b 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp
> @@ -269,6 +269,11 @@ CodeEmitterGM107::emitSYS(int pos, const Value *val)
> case SV_INVOCATION_INFO: id = 0x1d; break;
> case SV_TID : id = 0x21 + val->reg.data.sv.index; break;
> case SV_CTAID : id = 0x25 + val->reg.data.sv.index; break;
> + case SV_LANEMASK_EQ : id = 0x38; break;
> + case SV_LANEMASK_LT : id = 0x39; break;
> + case SV_LANEMASK_LE : id = 0x3a; break;
> + case SV_LANEMASK_GT : id = 0x3b; break;
> + case SV_LANEMASK_GE : id = 0x3c; break;
> case SV_CLOCK : id = 0x50 + val->reg.data.sv.index; break;
> default:
> assert(!"invalid system value");
> 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 84c3aca1df..c549ca1158 100644
> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp
> @@ -1989,6 +1989,11 @@ CodeEmitterNVC0::getSRegEncoding(const ValueRef& ref)
> case SV_NCTAID: return 0x2d + SDATA(ref).sv.index;
> case SV_LBASE: return 0x34;
> case SV_SBASE: return 0x30;
> + case SV_LANEMASK_EQ: return 0x38;
> + case SV_LANEMASK_LT: return 0x39;
> + case SV_LANEMASK_LE: return 0x3a;
> + case SV_LANEMASK_GT: return 0x3b;
> + case SV_LANEMASK_GE: return 0x3c;
> case SV_CLOCK: return 0x50 + SDATA(ref).sv.index;
> default:
> assert(!"no sreg for system value");
> --
> 2.12.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list