aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno/vulkan/tu_private.h
diff options
context:
space:
mode:
authorJonathan Marek <[email protected]>2020-04-09 19:32:19 -0400
committerMarge Bot <[email protected]>2020-04-22 17:45:33 +0000
commit44c6c145daadf618607abb997f20608e820daee0 (patch)
treeb652082698fd92c65e124169c8f3e48f59eb45af /src/freedreno/vulkan/tu_private.h
parente72201c7873ea22dadf8d1775f97400a435a8b9a (diff)
turnip: improve GMEM load/store logic
Determine load/store at renderpass creation time. This also fixes behavior with S8_UINT. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4588>
Diffstat (limited to 'src/freedreno/vulkan/tu_private.h')
-rw-r--r--src/freedreno/vulkan/tu_private.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h
index 4953075375f..eb026998293 100644
--- a/src/freedreno/vulkan/tu_private.h
+++ b/src/freedreno/vulkan/tu_private.h
@@ -1319,7 +1319,10 @@ tu_clear_gmem_attachment(struct tu_cmd_buffer *cmd,
const VkRenderPassBeginInfo *info);
void
-tu_load_gmem_attachment(struct tu_cmd_buffer *cmd, struct tu_cs *cs, uint32_t a);
+tu_load_gmem_attachment(struct tu_cmd_buffer *cmd,
+ struct tu_cs *cs,
+ uint32_t a,
+ bool force_load);
/* expose this function to be able to emit load without checking LOAD_OP */
void
@@ -1590,10 +1593,9 @@ struct tu_render_pass_attachment
VkFormat format;
uint32_t samples;
uint32_t cpp;
- VkAttachmentLoadOp load_op;
- VkAttachmentLoadOp stencil_load_op;
- VkAttachmentStoreOp store_op;
- VkAttachmentStoreOp stencil_store_op;
+ VkImageAspectFlags clear_mask;
+ bool load;
+ bool store;
int32_t gmem_offset;
};