venus: query experimental features in one call

It is simpler.  But I mainly want to work around

../src/virtio/vulkan/vn_cs.h:173:4: error: argument 1 null where non-null expected [-Werror=nonnull]
  173 |    memcpy(val, dec->cur, val_size);

We trust virglrenderer and it never instructs the decoder to memcpy to
pData when it is NULL.  The compiler does not know however.  A proper
fix will be to generate

  if (!pData)
    unreachable();

to help the compiler.

Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11174>
This commit is contained in:
Chia-I Wu 2021-06-03 13:05:30 -07:00
parent d08930f2fa
commit ae4ef6491d
1 changed files with 1 additions and 4 deletions

View File

@ -1898,10 +1898,7 @@ vn_CreateInstance(const VkInstanceCreateInfo *pCreateInfo,
if (instance->renderer_info.vk_mesa_venus_protocol_spec_version ==
100000) {
size_t size = 0;
vn_call_vkGetVenusExperimentalFeatureData100000MESA(instance, &size,
NULL);
size = MIN2(size, sizeof(instance->experimental));
size_t size = sizeof(instance->experimental);
vn_call_vkGetVenusExperimentalFeatureData100000MESA(
instance, &size, &instance->experimental);
}