[Mesa-dev] [PATCH 0/9] nvc0: ARB_shader_ballot for Kepler+
Samuel Pitoiset
samuel.pitoiset at gmail.com
Sat Apr 8 12:53:00 UTC 2017
Nice series. How about ARB_shader_clock now? :)
On 04/08/2017 11:51 AM, Boyan Ding wrote:
> This series implements ARB_shader_ballot for Kepler+. I have tested
> it on GK208, 8 of 9 of piglit execution tests passed against current
> master. The only failed test is because of the test's wrong assumption
> when thread group size is less than 64, which is the case for nvidia
> hardware. Other architectures (GK104 and GM107) are not tested because
> of my lack of hareware, but I have validated the code generated on both
> architectures, and it seems correct.
>
> Patches 1-4 implement OP_SHFL emission, with a fix for nvc0 in patch 2.
> Patch 5 extends nv50 ir's OP_VOTE to translate readFirstInvocationARB.
> Patches 6-8 hook up the logic with tgsi, and the extension is eventually
> flipped on in the last patch.
>
> Boyan Ding (9):
> gm107/ir: Emit third src 'bound' and optional predicate output of SHFL
> nvc0/ir: Properly handle a "split form" of predicate destination
> nvc0/ir: Emit OP_SHFL
> gk110/ir: Emit OP_SHFL
> nvc0/ir: Allow 0/1 immediate value as source of OP_VOTE
> nvc0/ir: Add SV_LANEMASK_* system values.
> nvc0/ir: Implement TGSI_SEMANTIC_SUBGROUP_*
> nvc0/ir: Implement TGSI_OPCODE_BALLOT and TGSI_OPCODE_READ_*
> nvc0: Enable ARB_shader_ballot on Kepler+
>
> docs/features.txt | 2 +-
> docs/relnotes/17.1.0.html | 2 +-
> src/gallium/drivers/nouveau/codegen/nv50_ir.h | 5 ++
> .../drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 76 +++++++++++++++++-
> .../drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp | 47 +++++++++--
> .../drivers/nouveau/codegen/nv50_ir_emit_nvc0.cpp | 90 ++++++++++++++++++++--
> .../drivers/nouveau/codegen/nv50_ir_from_tgsi.cpp | 55 +++++++++++++
> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 3 +-
> 8 files changed, 260 insertions(+), 20 deletions(-)
>
More information about the mesa-dev
mailing list