mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 19:58:09 +02:00
freedreno: use MSM_BO_SCANOUT with scanout buffers
Signed-off-by: Jonathan Marek <jonathan@marek.ca>
This commit is contained in:
parent
3ed4aad524
commit
e68cd91251
3 changed files with 7 additions and 1 deletions
|
|
@ -63,6 +63,7 @@ enum fd_param_id {
|
|||
#define DRM_FREEDRENO_GEM_CACHE_WBACKWA 0x00800000
|
||||
#define DRM_FREEDRENO_GEM_CACHE_MASK 0x00f00000
|
||||
#define DRM_FREEDRENO_GEM_GPUREADONLY 0x01000000
|
||||
#define DRM_FREEDRENO_GEM_SCANOUT 0x02000000
|
||||
|
||||
/* bo access flags: (keep aligned to MSM_PREP_x) */
|
||||
#define DRM_FREEDRENO_PREP_READ 0x01
|
||||
|
|
|
|||
|
|
@ -142,6 +142,9 @@ int msm_bo_new_handle(struct fd_device *dev,
|
|||
};
|
||||
int ret;
|
||||
|
||||
if (flags & DRM_FREEDRENO_GEM_SCANOUT)
|
||||
req.flags |= MSM_BO_SCANOUT;
|
||||
|
||||
ret = drmCommandWriteRead(dev->fd, DRM_MSM_GEM_NEW,
|
||||
&req, sizeof(req));
|
||||
if (ret)
|
||||
|
|
|
|||
|
|
@ -99,7 +99,9 @@ realloc_bo(struct fd_resource *rsc, uint32_t size)
|
|||
{
|
||||
struct fd_screen *screen = fd_screen(rsc->base.screen);
|
||||
uint32_t flags = DRM_FREEDRENO_GEM_CACHE_WCOMBINE |
|
||||
DRM_FREEDRENO_GEM_TYPE_KMEM; /* TODO */
|
||||
DRM_FREEDRENO_GEM_TYPE_KMEM |
|
||||
COND(rsc->base.bind & PIPE_BIND_SCANOUT, DRM_FREEDRENO_GEM_SCANOUT);
|
||||
/* TODO other flags? */
|
||||
|
||||
/* if we start using things other than write-combine,
|
||||
* be sure to check for PIPE_RESOURCE_FLAG_MAP_COHERENT
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue