pmaports/temp/mesa/fix-lima-on-wayland.patch
Bart Ribbers 85dfee5b75
temp/mesa: update to latest git master to include Lima (!359)
temp/mesa: enable mesa-dri-lima subpackage
temp/mesa: add a fix for Wayland on Lima
temp/mesa-purism-gc7000: update to latest Git and try to resolve conflicts with mesa
temp/mesa: switch version to 19.1.0-rc1
device/device-pine-a64lts: add mesa and mesa-dri-lima to depends
device/device-pine-dontbeevil: add mesa to depends
device/device-purism-librem5dev: remove now defunct mesa-purism-gc7000-dri-imx from depends
temp/mesa*: re-add X11 support
temp/mesa-purism-gc7000: fix build error which for some reason didn't cause problems earlier
temp/mesa*: fix X11 DRI symlinks
2019-05-14 16:26:21 +02:00

56 lines
1.9 KiB
Diff

diff --git a/src/gallium/drivers/lima/lima_draw.c b/src/gallium/drivers/lima/lima_draw.c
index e0a1e181937..9cb0c6c360f 100644
--- a/src/gallium/drivers/lima/lima_draw.c
+++ b/src/gallium/drivers/lima/lima_draw.c
@@ -1549,7 +1549,7 @@ lima_pack_pp_frame_reg(struct lima_context *ctx, uint32_t *frame_reg,
}
static void
-_lima_flush(struct lima_context *ctx, bool end_of_frame)
+_lima_flush(struct lima_context *ctx)
{
lima_finish_plbu_cmd(ctx);
@@ -1675,9 +1675,9 @@ _lima_flush(struct lima_context *ctx, bool end_of_frame)
ctx->plb_index = (ctx->plb_index + 1) % lima_ctx_num_plb;
if (ctx->framebuffer.base.nr_cbufs) {
- /* this surface may need reload when next draw if not end of frame */
+ /* Set reload flag for next draw. It'll be unset if buffer is cleared */
struct lima_surface *surf = lima_surface(ctx->framebuffer.base.cbufs[0]);
- surf->reload = !end_of_frame;
+ surf->reload = true;
}
}
@@ -1687,7 +1687,7 @@ lima_flush(struct lima_context *ctx)
if (!lima_ctx_dirty(ctx))
return;
- _lima_flush(ctx, false);
+ _lima_flush(ctx);
}
static void
@@ -1698,7 +1698,7 @@ lima_pipe_flush(struct pipe_context *pctx, struct pipe_fence_handle **fence,
if (!lima_ctx_dirty(ctx))
return;
- _lima_flush(ctx, flags & PIPE_FLUSH_END_OF_FRAME);
+ _lima_flush(ctx);
if (fence) {
int fd;
diff --git a/src/gallium/drivers/lima/lima_resource.c b/src/gallium/drivers/lima/lima_resource.c
index 4e215e9e08f..0aefb2c7900 100644
--- a/src/gallium/drivers/lima/lima_resource.c
+++ b/src/gallium/drivers/lima/lima_resource.c
@@ -382,6 +382,8 @@ lima_surface_create(struct pipe_context *pctx,
surf->tiled_w = align(psurf->width, 16) >> 4;
surf->tiled_h = align(psurf->height, 16) >> 4;
+ surf->reload = true;
+
struct lima_context *ctx = lima_context(pctx);
if (ctx->plb_pp_stream) {
struct lima_ctx_plb_pp_stream_key key = {