tgsi: add Texture and Format to tgsi_instruction_memory

Frontends should have this information readily available, and it simplifies
image LOAD/STORE/ATOM* handling especially with indirect image access.

Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
Nicolai Hähnle
2016-03-10 16:30:07 -05:00
parent 9b68bdf6f8
commit 3243b6fc97
2 changed files with 11 additions and 1 deletions

View File

@@ -637,6 +637,14 @@ iter_instruction(
TXT(", ");
ENM(bit, tgsi_memory_names);
}
if (inst->Memory.Texture) {
TXT( ", " );
ENM( inst->Memory.Texture, tgsi_texture_names );
}
if (inst->Memory.Format) {
TXT( ", " );
TXT( util_format_name(inst->Memory.Format) );
}
}
switch (inst->Instruction.Opcode) {

View File

@@ -743,7 +743,9 @@ struct tgsi_dst_register
struct tgsi_instruction_memory
{
unsigned Qualifier : 3; /* TGSI_MEMORY_ */
unsigned Padding : 29;
unsigned Texture : 8; /* only for images: TGSI_TEXTURE_ */
unsigned Format : 10; /* only for images: PIPE_FORMAT_ */
unsigned Padding : 11;
};
#define TGSI_MEMBAR_SHADER_BUFFER (1 << 0)