gallium: add mesh shader caps

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36596>
This commit is contained in:
Qiang Yu
2025-02-08 14:35:50 +08:00
committed by Marge Bot
parent 12a9bf968d
commit aebf0abbf1

View File

@@ -808,6 +808,38 @@ struct pipe_compute_caps {
uint64_t max_global_size;
};
struct pipe_mesh_caps {
unsigned max_task_work_group_total_count;
unsigned max_mesh_work_group_total_count;
unsigned max_mesh_work_group_invocations;
unsigned max_task_work_group_invocations;
unsigned max_task_payload_size;
unsigned max_task_shared_memory_size;
unsigned max_mesh_shared_memory_size;
unsigned max_task_payload_and_shared_memory_size;
unsigned max_mesh_payload_and_shared_memory_size;
unsigned max_mesh_output_memory_size;
unsigned max_mesh_payload_and_output_memory_size;
unsigned max_mesh_output_vertices;
unsigned max_mesh_output_primitives;
unsigned max_mesh_output_components;
unsigned max_mesh_output_layers;
unsigned max_mesh_multiview_view_count;
unsigned mesh_output_per_vertex_granularity;
unsigned mesh_output_per_primitive_granularity;
unsigned max_preferred_task_work_group_invocations;
unsigned max_preferred_mesh_work_group_invocations;
bool mesh_prefers_local_invocation_vertex_output;
bool mesh_prefers_local_invocation_primitive_output;
bool mesh_prefers_compact_vertex_output;
bool mesh_prefers_compact_primitive_output;
unsigned max_task_work_group_count[3];
unsigned max_mesh_work_group_count[3];
unsigned max_task_work_group_size[3];
unsigned max_mesh_work_group_size[3];
bool pipeline_statistic_queries;
};
struct pipe_caps {
bool graphics;
bool npot_textures;
@@ -1007,6 +1039,7 @@ struct pipe_caps {
bool astc_decode_mode;
bool shader_subgroup_quad_all_stages;
bool call_finalize_nir_in_linker;
bool mesh_shader;
int accelerated;
int min_texel_offset;
@@ -1113,6 +1146,8 @@ struct pipe_caps {
float min_conservative_raster_dilate;
float max_conservative_raster_dilate;
float conservative_raster_dilate_granularity;
struct pipe_mesh_caps mesh;
};
/**