diff options
author | Nicolai Hähnle <[email protected]> | 2016-03-10 16:30:07 -0500 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2016-03-14 17:24:02 -0500 |
commit | 3243b6fc97dc73555f72ce8c01f643d707b26610 (patch) | |
tree | 9959afd93846f7d666cf466ff0f8a3be603c383e | |
parent | 9b68bdf6f8a06986340efa0c94afeeeb5580f9fd (diff) |
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 <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r-- | src/gallium/auxiliary/tgsi/tgsi_dump.c | 8 | ||||
-rw-r--r-- | src/gallium/include/pipe/p_shader_tokens.h | 4 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/tgsi/tgsi_dump.c b/src/gallium/auxiliary/tgsi/tgsi_dump.c index f232f3870d1..c8b91bba534 100644 --- a/src/gallium/auxiliary/tgsi/tgsi_dump.c +++ b/src/gallium/auxiliary/tgsi/tgsi_dump.c @@ -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) { diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index 9d4a96a5a7e..34e491e4b93 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -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) |