[Mesa-dev] [PATCH 4/4] radv: Return NULL for entrypoints when not supported.
Emil Velikov
emil.l.velikov at gmail.com
Mon Feb 12 16:50:16 UTC 2018
Hi Bas,
On 11 February 2018 at 15:29, Bas Nieuwenhuizen <bas at 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
More information about the mesa-dev
mailing list