]> granicus.if.org Git - llvm/commit
Merging r280589:
authorTom Stellard <thomas.stellard@amd.com>
Tue, 29 Nov 2016 03:41:28 +0000 (03:41 +0000)
committerTom Stellard <thomas.stellard@amd.com>
Tue, 29 Nov 2016 03:41:28 +0000 (03:41 +0000)
commit25e2616626caafb896517e18cd8aa724fba2b200
treed58da3906fe23ec26597c1a1ab6df559b54e5908
parentefccb7dcb249e75f018bbff09baa6e1450e86a6e
Merging r280589:

------------------------------------------------------------------------
r280589 | nhaehnle | 2016-09-03 05:26:32 -0700 (Sat, 03 Sep 2016) | 19 lines

AMDGPU: Fix an interaction between WQM and polygon stippling

Summary:
This fixes a rare bug in polygon stippling with non-monolithic pixel shaders.

The underlying problem is as follows: the prolog part contains the polygon
stippling sequence, i.e. a kill. The main part then enables WQM based on the
_reduced_ exec mask, effectively undoing most of the polygon stippling.

Since we cannot know whether polygon stippling will be used, the main part
of a non-monolithic shader must always return to exact mode to fix this
problem.

Reviewers: arsenm, tstellarAMD, mareko

Subscribers: arsenm, llvm-commits, kzhuravl

Differential Revision: https://reviews.llvm.org/D23131

------------------------------------------------------------------------

git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_39@288105 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/SIInstructions.td
lib/Target/AMDGPU/SIWholeQuadMode.cpp
test/CodeGen/AMDGPU/wqm.ll