0dbac97b75
This patch restructures the CWSR basic test and allows for creating parameterized CWSR tests. This patch introduces four parameterizations. These tests behave as follows: This test dispatches the IterateIsa shader, which continuously increments a vgpr for (num_witems / WAVE_SIZE) waves. While this shader is running, dequeue/requeue requests are sent in a loop to trigger CWSRs. This test defines a CWSR threshold. Once the number of CWSRs triggered reaches the threshold, a known-value is filled into the inputBuf to signal the shader to exit. 4 parameterized tests are defined: KFDCWSRTest.BasicTest/0 KFDCWSRTest.BasicTest/1 KFDCWSRTest.BasicTest/2 KFDCWSRTest.BasicTest/3 0: 1 work-item, CWSR threshold of 10 1: 256 work-items, CWSR threshold of 50 2: 512 work-items, CWSR threshold of 100 3: 1024 work-items, CWSR threshold of 1000 Tuple Format: (num_witems, cwsr_thresh) num_witems: Defines the number of work-items. cwsr_thresh: Defines the number of CWSRs to trigger. Signed-off-by: Graham Sider <Graham.Sider@amd.com> Change-Id: I639eb7bd75b14ee70e190b4bd19dcf34096fc7bf