diff options
author | Bas Nieuwenhuizen <[email protected]> | 2018-02-11 14:38:42 +0100 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2018-02-23 00:39:02 +0100 |
commit | e72ad05c1d6bdedf3b15cfe7ba42c801254d6112 (patch) | |
tree | f38b69296fb1f70aa666092c44e4a6ed1d636eeb /src/amd/vulkan/radv_private.h | |
parent | 414f5e0e14e5f2e90b688344660751803935c6f2 (diff) |
radv: Return NULL for entrypoints when not supported.
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.
Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_private.h')
-rw-r--r-- | src/amd/vulkan/radv_private.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 18665557eda..10690cbb727 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -255,7 +255,11 @@ void radv_loge_v(const char *format, va_list va); return; \ } while (0) -void *radv_lookup_entrypoint(const char *name); +void *radv_lookup_entrypoint_unchecked(const char *name); +void *radv_lookup_entrypoint_checked(const char *name, + uint32_t core_version, + const struct radv_instance_extension_table *instance, + const struct radv_device_extension_table *device); struct radv_physical_device { VK_LOADER_DATA _loader_data; |