mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-11 14:30:26 +01:00
tgsi/scan: add writes_memory to flag presence of stores or atomics
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
This commit is contained in:
parent
e9d935ed0e
commit
79762e877c
2 changed files with 9 additions and 4 deletions
|
|
@ -196,10 +196,13 @@ scan_instruction(struct tgsi_shader_info *info,
|
|||
if (is_memory_file(src->Register.File)) {
|
||||
is_mem_inst = true;
|
||||
|
||||
if (src->Register.File == TGSI_FILE_IMAGE &&
|
||||
!src->Register.Indirect &&
|
||||
tgsi_get_opcode_info(fullinst->Instruction.Opcode)->is_store)
|
||||
info->images_writemask |= 1 << src->Register.Index;
|
||||
if (tgsi_get_opcode_info(fullinst->Instruction.Opcode)->is_store) {
|
||||
info->writes_memory = TRUE;
|
||||
|
||||
if (src->Register.File == TGSI_FILE_IMAGE &&
|
||||
!src->Register.Indirect)
|
||||
info->images_writemask |= 1 << src->Register.Index;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -215,6 +218,7 @@ scan_instruction(struct tgsi_shader_info *info,
|
|||
assert(fullinst->Instruction.Opcode == TGSI_OPCODE_STORE);
|
||||
|
||||
is_mem_inst = true;
|
||||
info->writes_memory = TRUE;
|
||||
|
||||
if (dst->Register.File == TGSI_FILE_IMAGE &&
|
||||
!dst->Register.Indirect)
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ struct tgsi_shader_info
|
|||
boolean writes_clipvertex;
|
||||
boolean writes_viewport_index;
|
||||
boolean writes_layer;
|
||||
boolean writes_memory; /**< contains stores or atomics to buffers or images */
|
||||
boolean is_msaa_sampler[PIPE_MAX_SAMPLERS];
|
||||
boolean uses_doubles; /**< uses any of the double instructions */
|
||||
unsigned clipdist_writemask;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue