mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-04 13:30:11 +01:00
aco: Add storage class for Task Shader payload.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15161>
This commit is contained in:
parent
962b2fe214
commit
cd0dd5d6b7
3 changed files with 8 additions and 4 deletions
|
|
@ -138,9 +138,10 @@ enum storage_class : uint8_t {
|
|||
storage_image = 0x4,
|
||||
storage_shared = 0x8, /* or TCS output */
|
||||
storage_vmem_output = 0x10, /* GS or TCS output stores using VMEM */
|
||||
storage_scratch = 0x20,
|
||||
storage_vgpr_spill = 0x40,
|
||||
storage_count = 8,
|
||||
storage_task_payload = 0x20,/* Task-Mesh payload */
|
||||
storage_scratch = 0x40,
|
||||
storage_vgpr_spill = 0x80,
|
||||
storage_count = 8, /* not counting storage_none */
|
||||
};
|
||||
|
||||
enum memory_semantics : uint8_t {
|
||||
|
|
|
|||
|
|
@ -219,6 +219,8 @@ print_storage(storage_class storage, FILE* output)
|
|||
printed += fprintf(output, "%simage", printed ? "," : "");
|
||||
if (storage & storage_shared)
|
||||
printed += fprintf(output, "%sshared", printed ? "," : "");
|
||||
if (storage & storage_task_payload)
|
||||
printed += fprintf(output, "%stask_payload", printed ? "," : "");
|
||||
if (storage & storage_vmem_output)
|
||||
printed += fprintf(output, "%svmem_output", printed ? "," : "");
|
||||
if (storage & storage_scratch)
|
||||
|
|
|
|||
|
|
@ -613,7 +613,8 @@ perform_hazard_query(hazard_query* query, Instruction* instr, bool upwards)
|
|||
/* Don't move memory accesses to before control barriers. I don't think
|
||||
* this is necessary for the Vulkan memory model, but it might be for GLSL450. */
|
||||
unsigned control_classes =
|
||||
storage_buffer | storage_atomic_counter | storage_image | storage_shared;
|
||||
storage_buffer | storage_atomic_counter | storage_image | storage_shared |
|
||||
storage_task_payload;
|
||||
if (first->has_control_barrier &&
|
||||
((second->access_atomic | second->access_relaxed) & control_classes))
|
||||
return hazard_fail_barrier;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue