diff options
author | Iago Toral Quiroga <itoral@igalia.com> | 2019-10-29 10:27:23 +0100 |
---|---|---|
committer | Iago Toral Quiroga <itoral@igalia.com> | 2019-12-16 08:42:37 +0100 |
commit | 74a59fdc6e8c4f9c51454a6d1a5b8998083014b5 (patch) | |
tree | add466d61fbb718e8f7a34f970cfed4918de52ee /src/gallium/drivers/v3d/v3d_context.h | |
parent | a0c94c70ee9aa74c7ff05acffc43c8e92b0c0e1e (diff) |
v3d: support rendering to multi-layered framebuffers
When doing layered rendering the binning stage will prepare per-tile
lists for each layer in the framebuffer, so we need to make sure
we allocate enough space for them .
We also need to emit the NUMBER_OF_LAYERS packet. This is required
even when the number of layers is only 1, otherwise the simulator
detects buffer overflows in the tile_state BO during some CTS test
cases involving layered FBOs.
When rendering, we need to emit commands for each layer of the
framebuffer separately and make sure we address the correct layers for
each one.
v2: fixed typo in comment (Alejandro)
Reviewed-by: Alejandro PiƱeiro <apinheiro@igalia.com>
Diffstat (limited to 'src/gallium/drivers/v3d/v3d_context.h')
-rw-r--r-- | src/gallium/drivers/v3d/v3d_context.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3d_context.h b/src/gallium/drivers/v3d/v3d_context.h index 738c1f82319..f8d146847de 100644 --- a/src/gallium/drivers/v3d/v3d_context.h +++ b/src/gallium/drivers/v3d/v3d_context.h @@ -354,6 +354,8 @@ struct v3d_job { */ uint32_t draw_width; uint32_t draw_height; + uint32_t num_layers; + /** @} */ /** @{ Tile information, depending on MSAA and float color buffer. */ uint32_t draw_tiles_x; /** @< Number of tiles wide for framebuffer. */ |