On Mon, Jul 6, 2015 at 11:03 AM, Francisco Jerez <curroje...@riseup.net> wrote: > From the hardware docs for the DO instruction: > > "Execution size is ignored for this instruction." > > My observation on ILK hardware contradicts the spec though, channels
/facepalm > over the execution size of a DO instruction won't enter the loop, and > channels over the execution size of a WHILE instruction will exit the > loop after the first iteration -- The latter is consistent with the > spec though, there's no claim that the execution size is ignored for > the WHILE instruction so it's not completely unexpected that it has an > influence on the evaluation of EMask. > > The execute_size argument of brw_DO() shouldn't have any effect on > Gen6 and newer hardware. On Gen4-5 WHILE instructions inherit the > execution size from the matching DO, so this patch should fix them > too. The execution size of BREAK and CONT instructions was already > being set correctly. > > Fixes some 50 piglit tests on Gen4-5 when forced to run shaders with > conditional and loop instructions 16-wide, > e.g. shaders/glsl-fs-continue-inside-do-while. Awesome! Reviewed-by: Matt Turner <matts...@gmail.com> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev