aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
diff options
context:
space:
mode:
authorNeil Roberts <[email protected]>2015-09-28 18:22:32 +0100
committerNeil Roberts <[email protected]>2015-11-05 10:33:16 +0100
commitaa3f9aaf31e9056a255f9e0472ebdfdaa60abe54 (patch)
tree216be1f8a3a2225247ef04ae814a9d042cde1eff /src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c
parentb080b3d54d99dfb46b5e8a6eb94fdbdeb937f255 (diff)
mesa/meta: Use interpolateAtOffset for 16x MSAA copy blit
Previously there was a problem in i965 where if 16x MSAA is used then some of the sample positions are exactly on the 0 x or y axis. When the MSAA copy blit shader interpolates the texture coordinates at these sample positions it was possible that it would jump to a neighboring texel due to rounding errors. It is likely that these positions would be used on 16x MSAA because that is where they are defined to be in D3D. To fix that this patch makes it use interpolateAtOffset in the blit shader whenever 16x MSAA is used and the GL_ARB_gpu_shader5 extension is available. This forces it to interpolate the texture coordinates at the pixel center to avoid these problematic positions. This fixes ext_framebuffer_multisample-unaligned-blit and ext_framebuffer_multisample-clip-and-scissor-blit with 16x MSAA on SKL+. v2: Use interpolateAtOffset instead of interpolateAtSample v3: Always try to enable GL_ARB_gpu_shader5 in the shader [Ian Romanick] Reviewed-by: Anuj Phogat <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/radeon/radeon_mipmap_tree.c')
0 files changed, 0 insertions, 0 deletions