Hi Bas,

On 11 February 2018 at 15:29, Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl> 
wrote:
> This implements strict checking for the entrypoint ProcAddr
> functions.
>
>  - InstanceProcAddr with instance = NULL, only returns the 3 allowed
>    entrypoints.
>  - DeviceProcAddr does not return any instance entrypoints.
>  - InstanceProcAddr does not return non-supported or disabled
>    instance entrypoints.
>  - DeviceProcAddr does not return non-supported or disabled device
>    entrypoints.
>  - InstanceProcAddr still returns non-supported device entrypoints.
> ---
>  src/amd/vulkan/radv_device.c           | 18 +++++++---
>  src/amd/vulkan/radv_entrypoints_gen.py | 66 
> ++++++++++++++++++++++++++++++++--
>  src/amd/vulkan/radv_private.h          |  6 +++-
>  src/amd/vulkan/radv_wsi.c              |  2 +-
>  4 files changed, 83 insertions(+), 9 deletions(-)
>
Have you thought about splitting out the device specifics* and sharing the rest.
It should save you all the cross-porting, plus it'll add things like
radv_entrypoint_is_enabled NULL instance handling back to ANV.

Quick looks flags the following as device specific:
*_extensions.py
 - MAX_API_VERSION(?)
 - EXTENSIONS and respective extension structs/enums/data names

*_entrypoints_gen.py
 - LAYERS
 - dispatch table struct/enum/data names
 - *_resolve_entrypoint()
 - *_private.h

-Emil
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to