On Sun, Jan 8, 2017 at 9:26 PM, Kenneth Graunke <kenn...@whitecape.org> wrote:
> Signed-off-by: Kenneth Graunke <kenn...@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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev