gm107/ir: do not combine CONST loads

This will allow to use MOV instead of LD. The main advantage is
that MOV doesn't require a read dependency barrier while LD does,
and so this will both reduce barriers pressure and the number of
stall counts needed to read data from constant memory.

This is currently only for user uniform accesses. I should do
something similar when loading from the driver constant buffer
but it seems like a bit tricky to handle for now.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
This commit is contained in:
Samuel Pitoiset 2016-11-25 12:17:56 +01:00
parent fa6bbb5c00
commit 948cce0196

View file

@ -406,8 +406,13 @@ TargetNVC0::isAccessSupported(DataFile file, DataType ty) const
{
if (ty == TYPE_NONE)
return false;
if (file == FILE_MEMORY_CONST && getChipset() >= 0xe0) // wrong encoding ?
return typeSizeof(ty) <= 8;
if (file == FILE_MEMORY_CONST) {
if (getChipset() >= NVISA_GM107_CHIPSET)
return typeSizeof(ty) <= 4;
else
if (getChipset() >= NVISA_GK104_CHIPSET) // wrong encoding ?
return typeSizeof(ty) <= 8;
}
if (ty == TYPE_B96)
return false;
return true;