On Mon, 2018-03-12 at 07:37 -0700, Jason Ekstrand wrote: > On Mon, Mar 12, 2018 at 1:40 AM, Iago Toral Quiroga <[email protected] > m> wrote: > > af5f2322d0c64 addressed this for extension commands, but the spec > > mandates > > > > this behavior also for core API commands. From the Vulkan spec, > > > > Table 2. vkGetDeviceProcAddr behavior: > > > > > > > > device pname return > > > > ---------------------------------------------------------- > > > > (..) > > > > device core device-level command fp > > > > (...) > > > > > > > > See that it specifically states "device-level". > > > > > > > > Since the vk.xml file doesn't state if core commands are instance > > or > > > > device level, we identify device level commands as the ones that > > take a > > > > VkDevice, VkQueue or VkCommandBuffer as their first parameter. > > > > > > > > Fixes test failures in new work-in-progress CTS tests. > > > > > > > > Also see the public issue: > > > > https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/is > > sues/2323 > > > > > > > > v2: > > > > - Include reference to github issue (Emil) > > > > - Rebased on top of Vulkan 1.1 changes. > > > > > > > > Reviewed-by: Emil Velikov <[email protected]> (v1) > > > > --- > > > > > > > > Emil, I had to rebase the patch on top of Jason's 1.1 changes. He > > had already > > > > accounted for device dispatches in that work, so now I just build > > on top of > > > > that now. With that, I am not sure whether the comment you were > > asking for makes > > > > sense in this patch any more (I think it should have gone in > > Jason's, when he > > > > added is_device_entrypoint()). I you want a comment for that I can > > send > > > > another patch to include it, or maybe ammend the first patch in > > this series to > > > > include that. However, do notice that the comment you were > > referring to has > > > > been removed from the spec, since now it is clearly stated that > > only > > > > core device-level commands return non-NULL pointers, so I think my > > preference > > > > would be to not add ny comments. > > > > > > > > Also, this version won't do for 18.0, but I guess we can still use > > the > > > > previous version for that if you want to put it in. > > > > > > > > src/intel/vulkan/anv_entrypoints_gen.py | 6 +++++- > > > > 1 file changed, 5 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/src/intel/vulkan/anv_entrypoints_gen.py > > b/src/intel/vulkan/anv_entrypoints_gen.py > > > > index 2dddd7f1aa..8e0d036469 100644 > > > > --- a/src/intel/vulkan/anv_entrypoints_gen.py > > > > +++ b/src/intel/vulkan/anv_entrypoints_gen.py > > > > @@ -274,7 +274,11 @@ anv_entrypoint_is_enabled(int index, uint32_t > > core_version, > > > > case ${e.num}: > > > > /* ${e.name} */ > > > > % if e.core_version: > > > > - return ${e.core_version.c_vk_version()} <= core_version; > > > > + % if not e.is_device_entrypoint(): > > > > + return !device && ${e.core_version.c_vk_version()} <= > > core_version; > > > > + % else: > > > > + return ${e.core_version.c_vk_version()} <= core_version; > > > > + % endif > > Any particular reason why you did "if not" instead of just flipping > the then and else blocks?
Not really, I can change that. > > % elif e.extensions: > > > > % for ext in e.extensions: > > > > % if ext.type == 'instance': > > > > -- > > > > 2.14.1 > > > > > >
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
