I just noticed that I had missed on of your comments: On Mon, 2018-03-05 at 12:11 +0000, Emil Velikov wrote: (...) > > > EntrypointParam = namedtuple('EntrypointParam', 'type name decl') > > > > +DeviceChildrenList = ['VkDevice', 'VkQueue', 'VkCommandBuffer' ] > > + > > +def is_device_child(name): > > + """Tell if the given type name is a VkDevice or one of its > > children.""" > > + return name in DeviceChildrenList > > + > > class Entrypoint(object): > > def __init__(self, name, return_type, params, guard = None): > > self.name = name > > @@ -358,6 +368,7 @@ class Entrypoint(object): > > self.guard = guard > > self.enabled = False > > self.num = None > > + self.instance_dispatch = not > > is_device_child(params[0].type) > > On a quick look this seems odd - one is interested in instance > dispatch, yet checking for device.
We consider that an instance dispatch is anything that is not dispatched to a device or one of its children... what do you find odd about this? > There are some subtleties about it in the above mentioned report. > > Please add a small comment about those. How about this?: "Originally, the Vulkan specs stated that VkGetDeviceProcaAddr could be used to retrieve function pointers to any core Vulkan command, yet it would also state that returned function pointers could only be dispatched to VkDevice or one of its children, so in practice this made it incorrect to use any pointers to instance-level commands that were retrived with this function, which was a source of confusion. Later, the spec was updated to make VkGetDeviceProcAddr return NULL function pointers for any instance-level commands". > With the link + trivial comment the patch is > Reviewed-by: Emil Velikov <emil.veli...@collabora.com> > > -Emil > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev