mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-10 08:10:14 +01:00
panfrost: Fix FBD issue
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Fixes: b0e915b4e6 ("panfrost: Emit SFBD/MFBD after a batch, instead of before")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3118>
This commit is contained in:
parent
bc36160ccb
commit
caf55e7bfd
2 changed files with 2 additions and 5 deletions
|
|
@ -102,10 +102,6 @@ panfrost_fragment_job(struct panfrost_batch *batch, bool has_draws,
|
|||
.framebuffer = framebuffer,
|
||||
};
|
||||
|
||||
/* Normally, there should be no padding. However, fragment jobs are
|
||||
* shared with 64-bit Bifrost systems, and accordingly there is 4-bytes
|
||||
* of zero padding in between. */
|
||||
|
||||
struct panfrost_transfer transfer = panfrost_allocate_transient(batch, sizeof(header) + sizeof(payload));
|
||||
memcpy(transfer.cpu, &header, sizeof(header));
|
||||
memcpy(transfer.cpu + sizeof(header), &payload, sizeof(payload));
|
||||
|
|
|
|||
|
|
@ -623,6 +623,7 @@ panfrost_batch_get_polygon_list(struct panfrost_batch *batch, unsigned size)
|
|||
assert(batch->polygon_list->size >= size);
|
||||
} else {
|
||||
/* Create the BO as invisible, as there's no reason to map */
|
||||
size = util_next_power_of_two(size);
|
||||
|
||||
batch->polygon_list = panfrost_batch_create_bo(batch, size,
|
||||
PAN_BO_INVISIBLE,
|
||||
|
|
@ -962,7 +963,7 @@ panfrost_batch_submit(struct panfrost_batch *batch)
|
|||
/* Now that all draws are in, we can finally prepare the
|
||||
* FBD for the batch */
|
||||
|
||||
if (batch->framebuffer.gpu) {
|
||||
if (batch->framebuffer.gpu && batch->first_job.gpu) {
|
||||
struct panfrost_context *ctx = batch->ctx;
|
||||
struct pipe_context *gallium = (struct pipe_context *) ctx;
|
||||
struct panfrost_screen *screen = pan_screen(gallium->screen);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue