[Mesa-dev] [PATCH 05/11] anv: Handle patch primitives.

Jason Ekstrand jason at jlekstrand.net
Mon Jan 9 16:26:34 UTC 2017


On Sun, Jan 8, 2017 at 9:26 PM, Kenneth Graunke <kenneth at whitecape.org>
wrote:

> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
>  src/intel/vulkan/anv_pipeline.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/src/intel/vulkan/anv_pipeline.c b/src/intel/vulkan/anv_
> pipeline.c
> index 17491e34fc0..b34759a5406 100644
> --- a/src/intel/vulkan/anv_pipeline.c
> +++ b/src/intel/vulkan/anv_pipeline.c
> @@ -212,7 +212,6 @@ static const uint32_t vk_to_gen_primitive_type[] = {
>     [VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY]     =
> _3DPRIM_LINESTRIP_ADJ,
>     [VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY]  =
> _3DPRIM_TRILIST_ADJ,
>     [VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY] =
> _3DPRIM_TRISTRIP_ADJ,
> -/*   [VK_PRIMITIVE_TOPOLOGY_PATCH_LIST]                =
> _3DPRIM_PATCHLIST_1 */
>  };
>
>  static void
> @@ -1086,8 +1085,14 @@ anv_pipeline_init(struct anv_pipeline *pipeline,
>
>     const VkPipelineInputAssemblyStateCreateInfo *ia_info =
>        pCreateInfo->pInputAssemblyState;
> +   const VkPipelineTessellationStateCreateInfo *tess_info =
> +      pCreateInfo->pTessellationState;
>     pipeline->primitive_restart = ia_info->primitiveRestartEnable;
> -   pipeline->topology = vk_to_gen_primitive_type[ia_info->topology];
> +
> +   if (tess_info)
> +      pipeline->topology = _3DPRIM_PATCHLIST(tess_info->
> patchControlPoints);
>

I don't think this is what you want.  I think you want to key it off of
whether or not you have a tessellation shader (there's a has_stage helper
for this).  They can provide a pTessellationState without a tessellation
shader.


> +   else
> +      pipeline->topology = vk_to_gen_primitive_type[ia_info->topology];
>
>     return VK_SUCCESS;
>
> --
> 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/20170109/b5005655/attachment.html>


More information about the mesa-dev mailing list