[Mesa-dev] [PATCH 3/4] anv: add helper to get vue map for fragment shader
Jason Ekstrand
jason at jlekstrand.net
Tue Jan 10 17:31:48 UTC 2017
1-3 are
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Thanks for cleaning this up!
On Tue, Jan 10, 2017 at 9:28 AM, Lionel Landwerlin <
lionel.g.landwerlin at intel.com> wrote:
> Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> ---
> src/intel/vulkan/anv_private.h | 11 +++++++++++
> src/intel/vulkan/genX_pipeline.c | 7 +------
> 2 files changed, 12 insertions(+), 6 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_
> private.h
> index 8a69aa22f6..dbc8c3cf68 100644
> --- a/src/intel/vulkan/anv_private.h
> +++ b/src/intel/vulkan/anv_private.h
> @@ -1482,6 +1482,17 @@ ANV_DECL_GET_PROG_DATA_FUNC(gs,
> MESA_SHADER_GEOMETRY)
> ANV_DECL_GET_PROG_DATA_FUNC(wm, MESA_SHADER_FRAGMENT)
> ANV_DECL_GET_PROG_DATA_FUNC(cs, MESA_SHADER_COMPUTE)
>
> +static inline const struct brw_vue_map *
> +anv_pipeline_get_fs_input_map(const struct anv_pipeline *pipeline)
> +{
> + if (anv_pipeline_has_stage(pipeline, MESA_SHADER_GEOMETRY))
> + return &get_gs_prog_data(pipeline)->base.vue_map;
> + else if (anv_pipeline_has_stage(pipeline, MESA_SHADER_TESS_EVAL))
> + return &get_tes_prog_data(pipeline)->base.vue_map;
> + else
> + return &get_vs_prog_data(pipeline)->base.vue_map;
> +}
> +
> VkResult
> anv_pipeline_init(struct anv_pipeline *pipeline, struct anv_device
> *device,
> struct anv_pipeline_cache *cache,
> diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_
> pipeline.c
> index 90968b490f..20ba5b63ae 100644
> --- a/src/intel/vulkan/genX_pipeline.c
> +++ b/src/intel/vulkan/genX_pipeline.c
> @@ -285,8 +285,6 @@ emit_urb_setup(struct anv_pipeline *pipeline)
> static void
> emit_3dstate_sbe(struct anv_pipeline *pipeline)
> {
> - const struct brw_vs_prog_data *vs_prog_data =
> get_vs_prog_data(pipeline);
> - const struct brw_gs_prog_data *gs_prog_data =
> get_gs_prog_data(pipeline);
> const struct brw_wm_prog_data *wm_prog_data =
> get_wm_prog_data(pipeline);
> const struct brw_vue_map *fs_input_map;
>
> @@ -298,10 +296,7 @@ emit_3dstate_sbe(struct anv_pipeline *pipeline)
> return;
> }
>
> - if (gs_prog_data)
> - fs_input_map = &gs_prog_data->base.vue_map;
> - else
> - fs_input_map = &vs_prog_data->base.vue_map;
> + fs_input_map = anv_pipeline_get_fs_input_map(pipeline);
>
> struct GENX(3DSTATE_SBE) sbe = {
> GENX(3DSTATE_SBE_header),
> --
> 2.11.0
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170110/f50a1eae/attachment.html>
More information about the mesa-dev
mailing list