Patches for SI

Michel Dänzer michel at daenzer.net
Fri Mar 22 03:49:44 PDT 2013


On Fre, 2013-03-22 at 11:23 +0100, Christian König wrote: 
> Am 22.03.2013 11:10, schrieb Michel Dänzer:
> > On Don, 2013-03-21 at 12:37 +0100, Christian König wrote:
> >> attached are the next bunch of improvements for the SI llvm backend.
> > About patch 1: I'm not sure V_INTERP_MOV_F32 requires WQM, but I think
> > mipmapping requires it independently from parameter interpolation (as it
> > has to calculate gradients for selecting the miplevel). The way the WQM
> > intrinsic was used just happened to mostly work because parameter
> > interpolation is normally used for texture coordinates.
> 
> Yes that's also my understanding of the problem, but the point of this 
> patch is that we can easily check for those instructions in the backend, 
> and doesn't need that information feed to us from the GL driver (or am I 
> wrong here?).
> 
> The actual behavior shouldn't change, but we just no longer need the 
> intrinsics and so no longer have any side effects on instruction scheduling.

Right, but this doesn't work e.g. for mipmapping without parameter
interpolation, and conversely enables WQM when it isn't really
necessary. I'm thinking we could handle this better now in the backend.
E.g. enable WQM for IMAGE_SAMPLE* instructions, except for TEX_RECT.


BTW, WQM should really also be taken into account for things like
control flow and pixel discard, shouldn't it?


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer




More information about the llvm-commits mailing list