diff --git a/docs/features.txt b/docs/features.txt index 9c26e2a3266..ef2d09838a3 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -213,7 +213,7 @@ GL 4.4, GLSL 4.40 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, v GL 4.5, GLSL 4.50 -- all DONE: freedreno/a6xx, nvc0, r600, radeonsi, llvmpipe, virgl, zink, iris, crocus/gen7.5+ GL_ARB_ES3_1_compatibility DONE (freedreno/a6xx, softpipe) - GL_ARB_clip_control DONE (freedreno, nv50, softpipe, lima, d3d12, crocus) + GL_ARB_clip_control DONE (freedreno, nv50, softpipe, lima, d3d12, crocus, asahi) GL_ARB_conditional_render_inverted DONE (freedreno, nv50, softpipe, panfrost, d3d12, asahi, crocus/gen6+) GL_ARB_cull_distance DONE (freedreno/a6xx, nv50, softpipe, crocus/gen6+) GL_ARB_derivative_control DONE (freedreno/a3xx+, nv50, softpipe, asahi, crocus/gen7+) diff --git a/docs/relnotes/new_features.txt b/docs/relnotes/new_features.txt index 75dbb78eaae..564326c8d59 100644 --- a/docs/relnotes/new_features.txt +++ b/docs/relnotes/new_features.txt @@ -5,3 +5,4 @@ VK_EXT_device_fault on RADV OpenGL 3.2 on Asahi Geometry shaders on Asahi GL_ARB_texture_cube_map_array on Asahi +GL_ARB_clip_control on Asahi diff --git a/src/gallium/drivers/asahi/agx_pipe.c b/src/gallium/drivers/asahi/agx_pipe.c index e6395facbc4..dc9f9288c11 100644 --- a/src/gallium/drivers/asahi/agx_pipe.c +++ b/src/gallium/drivers/asahi/agx_pipe.c @@ -1569,21 +1569,8 @@ agx_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_FS_FINE_DERIVATIVE: return 1; - /* We could support ARB_clip_control by toggling the clip control bit for - * the render pass. Because this bit is for the whole render pass, - * switching clip modes necessarily incurs a flush. This should be ok, from - * the ARB_clip_control spec: - * - * Some implementations may introduce a flush when changing the - * clip control state. Hence frequent clip control changes are - * not recommended. - * - * However, this would require tuning to ensure we don't flush unnecessary - * when using u_blitter clears, for example. As we don't yet have a use case, - * don't expose the feature. - */ case PIPE_CAP_CLIP_HALFZ: - return 0; + return !(agx_device(pscreen)->debug & AGX_DBG_NOCLIPCTRL); case PIPE_CAP_MAX_RENDER_TARGETS: case PIPE_CAP_FBFETCH: