lima: Implement texture_barrier
Improves x11perf -copywinwin100 from ~1520/sec to ~3700/sec Reviewed-by: Qiang Yu <yuq825@gmail.com> Reviewed-by: Erico Nunes <nunes.erico@gmail.com> Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16658>
This commit is contained in:
parent
ee2278de65
commit
73851e3f44
|
@ -220,7 +220,7 @@ GL 4.5, GLSL 4.50 -- all DONE: nvc0, r600, radeonsi, llvmpipe, zink
|
|||
GL_ARB_direct_state_access DONE (all drivers)
|
||||
GL_ARB_get_texture_sub_image DONE (all drivers)
|
||||
GL_ARB_shader_texture_image_samples DONE (i965, nv50, virgl)
|
||||
GL_ARB_texture_barrier DONE (freedreno, i965, nv50, vc4, virgl)
|
||||
GL_ARB_texture_barrier DONE (freedreno, i965, nv50, vc4, virgl, lima)
|
||||
GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
|
||||
GL_KHR_robustness DONE (freedreno, i965, virgl)
|
||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||
|
|
|
@ -1112,6 +1112,14 @@ lima_pipe_flush(struct pipe_context *pctx, struct pipe_fence_handle **fence,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
lima_texture_barrier(struct pipe_context *pctx, unsigned flags)
|
||||
{
|
||||
struct lima_context *ctx = lima_context(pctx);
|
||||
|
||||
lima_flush(ctx);
|
||||
}
|
||||
|
||||
static bool
|
||||
lima_job_compare(const void *s1, const void *s2)
|
||||
{
|
||||
|
@ -1146,6 +1154,7 @@ bool lima_job_init(struct lima_context *ctx)
|
|||
}
|
||||
|
||||
ctx->base.flush = lima_pipe_flush;
|
||||
ctx->base.texture_barrier = lima_texture_barrier;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -106,6 +106,7 @@ lima_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
|||
case PIPE_CAP_FRAGMENT_SHADER_TEXTURE_LOD:
|
||||
case PIPE_CAP_TEXTURE_SWIZZLE:
|
||||
case PIPE_CAP_VERTEX_COLOR_UNCLAMPED:
|
||||
case PIPE_CAP_TEXTURE_BARRIER:
|
||||
return 1;
|
||||
|
||||
/* Unimplemented, but for exporting OpenGL 2.0 */
|
||||
|
|
Loading…
Reference in New Issue