diff options
author | Alyssa Rosenzweig <[email protected]> | 2019-07-01 11:49:06 -0700 |
---|---|---|
committer | Alyssa Rosenzweig <[email protected]> | 2019-07-10 06:12:03 -0700 |
commit | 8e4e46794ed5a4cc8a84e91977f7950617b7b459 (patch) | |
tree | 8c7ed05d34c2bce21b0fa56fa2bb65f28e350ba3 /src/gallium/drivers/panfrost/pan_job.h | |
parent | 21c863a695bfcb3c19ee1e1c84ecab67f49553eb (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.h | 8 |
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; |