From: Samuel Pitoiset Date: Tue, 9 Jul 2019 06:43:56 +0000 (+0200) Subject: radv: add radv_pipeline_generate_hw_gs() helper X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c81b719812b6202b9c12eb6c8ad876c10ef7cbd0;p=mesa.git radv: add radv_pipeline_generate_hw_gs() helper For legacy GS path. Signed-off-by: Samuel Pitoiset Reviewed-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index d2002dd904b..23aefc5ffd0 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -3536,22 +3536,18 @@ radv_pipeline_generate_tess_shaders(struct radeon_cmdbuf *ctx_cs, } static void -radv_pipeline_generate_geometry_shader(struct radeon_cmdbuf *ctx_cs, - struct radeon_cmdbuf *cs, - struct radv_pipeline *pipeline, - const struct radv_gs_state *gs_state) +radv_pipeline_generate_hw_gs(struct radeon_cmdbuf *ctx_cs, + struct radeon_cmdbuf *cs, + struct radv_pipeline *pipeline, + struct radv_shader_variant *gs, + const struct radv_gs_state *gs_state) { - struct radv_shader_variant *gs; unsigned gs_max_out_vertices; uint8_t *num_components; uint8_t max_stream; unsigned offset; uint64_t va; - gs = pipeline->shaders[MESA_SHADER_GEOMETRY]; - if (!gs) - return; - gs_max_out_vertices = gs->info.gs.vertices_out; max_stream = gs->info.info.gs.max_stream; num_components = gs->info.info.gs.num_stream_output_components; @@ -3616,6 +3612,21 @@ radv_pipeline_generate_geometry_shader(struct radeon_cmdbuf *ctx_cs, radv_pipeline_generate_hw_vs(ctx_cs, cs, pipeline, pipeline->gs_copy_shader); } +static void +radv_pipeline_generate_geometry_shader(struct radeon_cmdbuf *ctx_cs, + struct radeon_cmdbuf *cs, + struct radv_pipeline *pipeline, + const struct radv_gs_state *gs_state) +{ + struct radv_shader_variant *gs; + + gs = pipeline->shaders[MESA_SHADER_GEOMETRY]; + if (!gs) + return; + + radv_pipeline_generate_hw_gs(ctx_cs, cs, pipeline, gs, gs_state); +} + static uint32_t offset_to_ps_input(uint32_t offset, bool flat_shade, bool float16) { uint32_t ps_input_cntl;