aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost/pan_job.h
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-07-01 11:49:06 -0700
committerAlyssa Rosenzweig <[email protected]>2019-07-10 06:12:03 -0700
commit8e4e46794ed5a4cc8a84e91977f7950617b7b459 (patch)
tree8c7ed05d34c2bce21b0fa56fa2bb65f28e350ba3 /src/gallium/drivers/panfrost/pan_job.h
parent21c863a695bfcb3c19ee1e1c84ecab67f49553eb (diff)
panfrost: Extend clear colour packing
Eventually, this will allow packing clear colours for all formats, including floating-point framebuffers, pure integer buffers, and special formats. Currently, a few of these formats are supported, and many more are handled through a generic Gallium colour packing path (which is not a perfect fit for the hardware, but works for many formats and is a sane default for the moment.) Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost/pan_job.h')
-rw-r--r--src/gallium/drivers/panfrost/pan_job.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/panfrost/pan_job.h b/src/gallium/drivers/panfrost/pan_job.h
index b4c9db9828e..95478279d62 100644
--- a/src/gallium/drivers/panfrost/pan_job.h
+++ b/src/gallium/drivers/panfrost/pan_job.h
@@ -51,8 +51,12 @@ struct panfrost_job {
/* Buffers cleared (PIPE_CLEAR_* bitmask) */
unsigned clear;
- /* Packed clear values */
- uint32_t clear_color;
+ /* Packed clear values, indexed by both render target as well as word.
+ * Essentially, a single pixel is packed, with some padding to bring it
+ * up to a 32-bit interval; that pixel is then duplicated over to fill
+ * all 16-bytes */
+
+ uint32_t clear_color[PIPE_MAX_COLOR_BUFS][4];
float clear_depth;
unsigned clear_stencil;