From 8a25b88d6965b3a481c7ec01852ba1b914ad6b15 Mon Sep 17 00:00:00 2001 From: Mary Guillemard Date: Tue, 23 Sep 2025 18:09:24 +0200 Subject: [PATCH] asahi/libagx: Do not expose anything not use externaly No need to actually generate NIR bindings for anything we don't need to. We are going to copy most of this in Panfrost and that will be required there... Signed-off-by: Mary Guillemard Reviewed-by: Alyssa Rosenzweig Part-of: --- src/asahi/libagx/geometry.cl | 50 ++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/asahi/libagx/geometry.cl b/src/asahi/libagx/geometry.cl index 18159749d33..795d255140b 100644 --- a/src/asahi/libagx/geometry.cl +++ b/src/asahi/libagx/geometry.cl @@ -20,8 +20,8 @@ * is its own inverse. It is hence used both vertex fetch and transform * feedback. */ -uint -libagx_map_vertex_in_tri_strip(uint prim, uint vert, bool flatshade_first) +static uint +map_vertex_in_tri_strip(uint prim, uint vert, bool flatshade_first) { unsigned pv = flatshade_first ? 0 : 2; @@ -61,7 +61,7 @@ libagx_xfb_vertex_offset(uint n, uint invocation_base_prim, uint vert = vert_0 - copy; if (n == 3) { - vert = libagx_map_vertex_in_tri_strip(prim, vert, flatshade_first); + vert = map_vertex_in_tri_strip(prim, vert, flatshade_first); } /* Tally up in the whole buffer */ @@ -79,8 +79,8 @@ libagx_xfb_vertex_address(constant struct agx_geometry_params *p, uint index, return (uintptr_t)(p->xfb_base[buffer]) + xfb_offset; } -uint -libagx_vertex_id_for_line_loop(uint prim, uint vert, uint num_prims) +static uint +vertex_id_for_line_loop(uint prim, uint vert, uint num_prims) { /* (0, 1), (1, 2), (2, 0) */ if (prim == (num_prims - 1) && vert == 1) @@ -103,8 +103,8 @@ libagx_vertex_id_for_line_class(enum mesa_prim mode, uint prim, uint vert, return prim + vert; } -uint -libagx_vertex_id_for_tri_fan(uint prim, uint vert, bool flatshade_first) +static uint +vertex_id_for_tri_fan(uint prim, uint vert, bool flatshade_first) { /* Vulkan spec section 20.1.7 gives (i + 1, i + 2, 0) for a provoking * first. OpenGL instead wants (0, i + 1, i + 2) with a provoking last. @@ -159,9 +159,9 @@ libagx_vertex_id_for_line_adj_class(enum mesa_prim mode, uint prim, uint vert) return prim + vert; } -uint -libagx_vertex_id_for_tri_strip_adj(uint prim, uint vert, uint num_prims, - bool flatshade_first) +static uint +vertex_id_for_tri_strip_adj(uint prim, uint vert, uint num_prims, + bool flatshade_first) { /* See Vulkan spec section 20.1.11 "Triangle Strips With Adjancency". * @@ -211,8 +211,7 @@ libagx_vertex_id_for_tri_adj_class(enum mesa_prim mode, uint prim, uint vert, { /* Tri adj list or tri adj strip */ if (mode == MESA_PRIM_TRIANGLE_STRIP_ADJACENCY) { - return libagx_vertex_id_for_tri_strip_adj(prim, vert, nr, - flatshade_first); + return vertex_id_for_tri_strip_adj(prim, vert, nr, flatshade_first); } else { return (6 * prim) + vert; } @@ -232,7 +231,7 @@ vertex_id_for_topology(enum mesa_prim mode, bool flatshade_first, uint prim, return (prim * mesa_vertices_per_prim(mode)) + vert; case MESA_PRIM_LINE_LOOP: - return libagx_vertex_id_for_line_loop(prim, vert, num_prims); + return vertex_id_for_line_loop(prim, vert, num_prims); case MESA_PRIM_LINE_STRIP: case MESA_PRIM_LINE_STRIP_ADJACENCY: @@ -247,15 +246,15 @@ vertex_id_for_topology(enum mesa_prim mode, bool flatshade_first, uint prim, * * Pull the (maybe swapped) vert from the corresponding primitive */ - return prim + libagx_map_vertex_in_tri_strip(prim, vert, flatshade_first); + return prim + map_vertex_in_tri_strip(prim, vert, flatshade_first); } case MESA_PRIM_TRIANGLE_FAN: - return libagx_vertex_id_for_tri_fan(prim, vert, flatshade_first); + return vertex_id_for_tri_fan(prim, vert, flatshade_first); case MESA_PRIM_TRIANGLE_STRIP_ADJACENCY: - return libagx_vertex_id_for_tri_strip_adj(prim, vert, num_prims, - flatshade_first); + return vertex_id_for_tri_strip_adj(prim, vert, num_prims, + flatshade_first); default: return 0; @@ -581,10 +580,9 @@ libagx_unroll_restart(global struct agx_heap *heap, uint64_t index_buffer, out_draw[0] = out_prims * per_prim; } -uint -libagx_setup_xfb_buffer(global struct agx_geometry_params *p, uint i, - uint stride, uint max_output_end, - uint vertices_per_prim) +static uint +setup_xfb_buffer(global struct agx_geometry_params *p, uint i, uint stride, + uint max_output_end, uint vertices_per_prim) { uint xfb_offset = *(p->xfb_offs_ptrs[i]); p->xfb_base[i] = p->xfb_base_original[i] + xfb_offset; @@ -746,7 +744,8 @@ libagx_work_group_scan_inclusive_add(uint x, local uint *scratch) } static void -_libagx_prefix_sum(local uint *scratch, global uint *buffer, uint len, uint words, uint word) +_libagx_prefix_sum(local uint *scratch, global uint *buffer, uint len, + uint words, uint word) { uint tid = cl_local_id.x; @@ -789,7 +788,8 @@ libagx_prefix_sum_tess(global struct libagx_tess_args *p, global uint *c_prims, global uint *c_invs, uint increment_stats__2) { local uint scratch[32]; - _libagx_prefix_sum(scratch, p->counts, p->nr_patches, 1 /* words */, 0 /* word */); + _libagx_prefix_sum(scratch, p->counts, p->nr_patches, 1 /* words */, + 0 /* word */); /* After prefix summing, we know the total # of indices, so allocate the * index buffer now. Elect a thread for the allocation. @@ -917,8 +917,8 @@ libagx_pre_gs(global struct agx_geometry_params *p, uint streams, if (buffers_written) { libagx_foreach_xfb(buffers_written, i) { - uint max_prims = libagx_setup_xfb_buffer( - p, i, stride[i], output_end[i], vertices_per_prim); + uint max_prims = + setup_xfb_buffer(p, i, stride[i], output_end[i], vertices_per_prim); unsigned stream = buffer_to_stream[i]; prims[stream] = min(prims[stream], max_prims);