mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 18:10:11 +01:00
v3d: Implement GL_ARB_texture_barrier
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27550>
This commit is contained in:
parent
51ccba82ce
commit
277a5856e2
4 changed files with 87 additions and 1 deletions
|
|
@ -220,7 +220,7 @@ GL 4.5, GLSL 4.50 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, v
|
||||||
GL_ARB_direct_state_access DONE (all drivers)
|
GL_ARB_direct_state_access DONE (all drivers)
|
||||||
GL_ARB_get_texture_sub_image DONE (all drivers)
|
GL_ARB_get_texture_sub_image DONE (all drivers)
|
||||||
GL_ARB_shader_texture_image_samples DONE (freedreno/a3xx+, nv50, crocus/gen7+)
|
GL_ARB_shader_texture_image_samples DONE (freedreno/a3xx+, nv50, crocus/gen7+)
|
||||||
GL_ARB_texture_barrier DONE (freedreno, nv50, vc4, lima, crocus)
|
GL_ARB_texture_barrier DONE (freedreno, nv50, v3d, vc4, lima, crocus)
|
||||||
GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
|
GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
|
||||||
GL_KHR_robustness DONE (freedreno)
|
GL_KHR_robustness DONE (freedreno)
|
||||||
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
|
||||||
|
|
|
||||||
|
|
@ -518,3 +518,77 @@ dEQP-VK.wsi.wayland.swapchain.simulate_oom.image_usage,Crash
|
||||||
dEQP-VK.wsi.wayland.swapchain.simulate_oom.min_image_count,Crash
|
dEQP-VK.wsi.wayland.swapchain.simulate_oom.min_image_count,Crash
|
||||||
dEQP-VK.wsi.wayland.swapchain.simulate_oom.pre_transform,Crash
|
dEQP-VK.wsi.wayland.swapchain.simulate_oom.pre_transform,Crash
|
||||||
dEQP-VK.wsi.wayland.swapchain.simulate_oom.present_mode,Crash
|
dEQP-VK.wsi.wayland.swapchain.simulate_oom.present_mode,Crash
|
||||||
|
|
||||||
|
# RPI4 only supports 4RT, so this tests with 8RT will fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 128 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 128 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 128 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 128 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 128 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 128 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 64 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 64 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 64 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 64 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 64 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 64 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 8 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 8 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 8 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 8 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 8 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 1 8 8 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 128 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 128 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 128 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 128 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 128 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 128 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 64 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 64 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 64 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 64 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 64 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 64 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 8 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 8 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 8 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 8 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 8 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 32 42 8 8 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 128 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 128 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 128 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 128 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 128 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 128 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 64 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 64 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 64 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 64 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 64 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 64 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 8 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 8 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 8 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 8 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 8 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 1 8 8 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 128 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 128 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 128 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 128 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 128 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 128 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 64 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 64 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 64 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 64 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 64 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 64 8,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 8 1,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 8 2,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 8 3,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 8 4,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 8 7,Fail
|
||||||
|
spec@arb_texture_barrier@arb_texture_barrier-blending-in-shader 512 42 8 8 8,Fail
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,16 @@ v3d_pipe_flush(struct pipe_context *pctx, struct pipe_fence_handle **fence,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* We can't flush the texture cache within rendering a tile, so we have to
|
||||||
|
* flush all rendering to the kernel so that the next job reading from the
|
||||||
|
* tile gets a flushed cache.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
v3d_texture_barrier(struct pipe_context *pctx, unsigned int flags)
|
||||||
|
{
|
||||||
|
v3d_flush(pctx);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
v3d_memory_barrier(struct pipe_context *pctx, unsigned int flags)
|
v3d_memory_barrier(struct pipe_context *pctx, unsigned int flags)
|
||||||
{
|
{
|
||||||
|
|
@ -379,6 +389,7 @@ v3d_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
|
||||||
pctx->set_debug_callback = u_default_set_debug_callback;
|
pctx->set_debug_callback = u_default_set_debug_callback;
|
||||||
pctx->invalidate_resource = v3d_invalidate_resource;
|
pctx->invalidate_resource = v3d_invalidate_resource;
|
||||||
pctx->get_sample_position = v3d_get_sample_position;
|
pctx->get_sample_position = v3d_get_sample_position;
|
||||||
|
pctx->texture_barrier = v3d_texture_barrier;
|
||||||
|
|
||||||
v3d_X(devinfo, draw_init)(pctx);
|
v3d_X(devinfo, draw_init)(pctx);
|
||||||
v3d_X(devinfo, state_init)(pctx);
|
v3d_X(devinfo, state_init)(pctx);
|
||||||
|
|
|
||||||
|
|
@ -151,6 +151,7 @@ v3d_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
|
||||||
case PIPE_CAP_CONDITIONAL_RENDER_INVERTED:
|
case PIPE_CAP_CONDITIONAL_RENDER_INVERTED:
|
||||||
case PIPE_CAP_CUBE_MAP_ARRAY:
|
case PIPE_CAP_CUBE_MAP_ARRAY:
|
||||||
case PIPE_CAP_NIR_COMPACT_ARRAYS:
|
case PIPE_CAP_NIR_COMPACT_ARRAYS:
|
||||||
|
case PIPE_CAP_TEXTURE_BARRIER:
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
case PIPE_CAP_POLYGON_OFFSET_CLAMP:
|
case PIPE_CAP_POLYGON_OFFSET_CLAMP:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue