85dfee5b75
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
56 lines
1.9 KiB
Diff
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 = {
|