diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-05-10 07:23:44 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-05-10 07:23:44 +0000 |
commit | 2502a13f8088ee7911418b679ba2593940c39a4d (patch) | |
tree | 053d3acaad91c69e7ad71b460a591612de7d19c3 /src/venus/vkr_renderer.c | |
parent | 727d6974198536eba5c2790a44ff461bd4c4561b (diff) | |
parent | 95be3cd08d582499c402ff79db4d4093b1b8c780 (diff) | |
download | virglrenderer-2502a13f8088ee7911418b679ba2593940c39a4d.tar.gz |
Snap for 8564071 from 95be3cd08d582499c402ff79db4d4093b1b8c780 to mainline-os-statsd-releaseaml_sta_331910000aml_sta_331811000aml_sta_331711010aml_sta_331610000aml_sta_331511000aml_sta_331410000aml_sta_331311000aml_sta_331010010aml_sta_330910000android13-mainline-os-statsd-release
Change-Id: Id7b0aff5248476e4b8ded2a670730d7107f445d9
Diffstat (limited to 'src/venus/vkr_renderer.c')
-rw-r--r-- | src/venus/vkr_renderer.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/venus/vkr_renderer.c b/src/venus/vkr_renderer.c new file mode 100644 index 00000000..0f19885a --- /dev/null +++ b/src/venus/vkr_renderer.c @@ -0,0 +1,62 @@ +/* + * Copyright 2020 Google LLC + * SPDX-License-Identifier: MIT + */ + +#include "vkr_common.h" + +#include "util/u_debug.h" +#include "venus-protocol/vn_protocol_renderer_info.h" +#include "virglrenderer_hw.h" + +static const struct debug_named_value vkr_debug_options[] = { + { "validate", VKR_DEBUG_VALIDATE, "Force enabling the validation layer" }, + DEBUG_NAMED_VALUE_END +}; + +uint32_t vkr_renderer_flags; +uint32_t vkr_debug_flags; + +size_t +vkr_get_capset(void *capset) +{ + struct virgl_renderer_capset_venus *c = capset; + if (c) { + memset(c, 0, sizeof(*c)); + c->wire_format_version = vn_info_wire_format_version(); + c->vk_xml_version = vn_info_vk_xml_version(); + c->vk_ext_command_serialization_spec_version = + vn_info_extension_spec_version("VK_EXT_command_serialization"); + c->vk_mesa_venus_protocol_spec_version = + vn_info_extension_spec_version("VK_MESA_venus_protocol"); + } + + return sizeof(*c); +} + +int +vkr_renderer_init(uint32_t flags) +{ + /* TODO VKR_RENDERER_MULTI_PROCESS hint */ + + if ((vkr_renderer_flags & VKR_RENDERER_ASYNC_FENCE_CB) && + !(vkr_renderer_flags & VKR_RENDERER_THREAD_SYNC)) + return -EINVAL; + + vkr_renderer_flags = flags; + vkr_debug_flags = debug_get_flags_option("VKR_DEBUG", vkr_debug_options, 0); + + return 0; +} + +void +vkr_renderer_fini(void) +{ + vkr_renderer_flags = 0; + vkr_debug_flags = 0; +} + +void +vkr_renderer_reset(void) +{ +} |