Procházet zdrojové kódy

panfrost: Remove fbd_type enum

Just use the MALI_MFBD tag directly; it's clean.

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3118>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3118>
master
Alyssa Rosenzweig před 6 roky
rodič
revize
8959364937

+ 1
- 1
src/gallium/drivers/panfrost/pan_sfbd.c Zobrazit soubor

@@ -269,5 +269,5 @@ panfrost_sfbd_fragment(struct panfrost_batch *batch, bool has_draws)
fb.format.unk2 |= MALI_SFBD_FORMAT_MSAA_B;
}

return panfrost_upload_transient(batch, &fb, sizeof(fb)) | MALI_SFBD;
return panfrost_upload_transient(batch, &fb, sizeof(fb));
}

+ 3
- 6
src/panfrost/include/panfrost-job.h Zobrazit soubor

@@ -872,14 +872,11 @@ struct mali_attr_meta {
int32_t src_offset;
} __attribute__((packed));

enum mali_fbd_type {
MALI_SFBD = 0,
MALI_MFBD = 1,
};

#define FBD_TYPE (1)
#define FBD_MASK (~0x3f)

/* MFBD, rather than SFBD */
#define MALI_MFBD (0x1)

/* ORed into an MFBD address to specify the fbx section is included */
#define MALI_MFBD_TAG_EXTRA (0x2)


+ 3
- 3
src/panfrost/pandecode/decode.c Zobrazit soubor

@@ -2116,7 +2116,7 @@ pandecode_vertex_tiler_postfix_pre(
};

if (is_bifrost)
pandecode_scratchpad(p->framebuffer & ~FBD_TYPE, job_no, suffix);
pandecode_scratchpad(p->framebuffer & ~1, job_no, suffix);
else if (p->framebuffer & MALI_MFBD)
fbd_info = pandecode_mfbd_bfr((u64) ((uintptr_t) p->framebuffer) & FBD_MASK, job_no, false);
else if (job_type == JOB_TYPE_COMPUTE)
@@ -2734,7 +2734,7 @@ pandecode_fragment_job(const struct pandecode_mapped_memory *mem,
{
const struct mali_payload_fragment *PANDECODE_PTR_VAR(s, mem, payload);

bool is_mfbd = (s->framebuffer & FBD_TYPE) == MALI_MFBD;
bool is_mfbd = s->framebuffer & MALI_MFBD;

/* Bifrost theoretically may retain support for SFBD on compute jobs,
* but for graphics workloads with a FRAGMENT payload, use MFBD */
@@ -2754,7 +2754,7 @@ pandecode_fragment_job(const struct pandecode_mapped_memory *mem,
* additional structures follow the MFBD header (an extra payload or
* not, as well as a count of render targets) */

unsigned expected_tag = is_mfbd ? MALI_MFBD : MALI_SFBD;
unsigned expected_tag = is_mfbd ? MALI_MFBD : 0;

if (is_mfbd) {
if (info.has_extra)

Načítá se…
Zrušit
Uložit