R600 Patches: .td file cleanups and compute fixes for Cayman

Tom Stellard tom at stellard.net
Mon Jun 10 13:59:03 PDT 2013


On Mon, Jun 10, 2013 at 04:43:31PM -0400, Alex Deucher wrote:
> On Mon, Jun 10, 2013 at 4:28 PM, Tom Stellard <tom at stellard.net> wrote:
> > Hi,
> >
> > The attached patches do some re-organization of the R600 .td files and
> > also fix some issues with compute shaders on Cayman.
> 
> From 0004:
> 
> +  // The docs say that if this bit is set, then DATA_FORMAT, NUM_FORMAT_ALL,
> +  // FORMAT_COMP_ALL, SRF_MODE_ALL, and ENDIAN_SWAP fields will be ignored,
> +  // however, based on my testing if USE_CONST_FIELDS is set, then all
> +  // these fields need to be set to 0.
> 
> If the USE_CONST_FIELDS bit is set, the  DATA_FORMAT, NUM_FORMAT_ALL,
> FORMAT_COMP_ALL, SRF_MODE_ALL, and ENDIAN_SWAP fields come from the
> resource constants (e.g., SQ_[TEX|VTX]_RESOURCE_*) rather than the
> shader instruction.
>

This comment is very old, but IIRC I had to set USE_CONST_FIELDS and
also clear DATA_FORMAT, NUM_FORMAT_ALL, FORMAT_COMP_ALL, SRF_MODE_ALL,
and ENDIAN_SWAP in order for the instruction to use the resource
constants.  I'll try to see if I can still reproduce this with the 3D
driver.

-Tom




More information about the llvm-commits mailing list