On Tue, Nov 8, 2016 at 10:25 AM, Kenneth Graunke <[email protected]> wrote: > We had missed a bit of errata - PS scratch needs to be computed as if > there were 4 subslices per slice, rather than 3. > > Skylake Broxton Kabylake > GT1 GT2 GT3 GT4 2x6 3x6 GT1 GT1.5 GT2 GT3 GT4 > Actual Slices 1 1 2 3 1 1 1 1 1 2 3 > Total Subslices 3 3 6 9 2 3 2 3 3 6 9 > Subsl. for PS Scratch 4 4 8 12 4 4 4 4 4 8 12 > > Note that Skylake GT1-3 already worked because we allocated 64 * 9 > (trying to use a value that would work on GT4, with 9 subslices), > and the actual required values were 64 * 4 or 64 * 8. However, all > others (Skylake GT4, Broxton, and Kabylake GT1-4) underallocated, > which can lead to scratch writes trashing random process memory, > and rendering corruption or GPU hangs. > > Fixes GPU hangs and rendering corruption on Skylake GT4 in shaders that > spill. Particularly, dEQP-GLES31.functional.ubo.all_per_block_buffers.* > now runs successfully with no hangs and renders correctly. This may > fix problems on Broxton and Kabylake as well. > > Cc: "13.0" <[email protected]> > Signed-off-by: Kenneth Graunke <[email protected]> > --- > src/intel/common/gen_device_info.c | 33 +++++++++++++++++++-------------- > 1 file changed, 19 insertions(+), 14 deletions(-) > > diff --git a/src/intel/common/gen_device_info.c > b/src/intel/common/gen_device_info.c > index 30df0b2..1dc1769 100644 > --- a/src/intel/common/gen_device_info.c > +++ b/src/intel/common/gen_device_info.c > @@ -335,7 +335,6 @@ static const struct gen_device_info gen_device_info_chv = > { > .max_gs_threads = 336, \ > .max_tcs_threads = 336, \ > .max_tes_threads = 336, \ > - .max_wm_threads = 64 * 9, \
Is this intentional? I don't see CHV called out in the commit message, and the new code at the bottom is for gen >= 9, while CHV is 8. _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
