ci: carry venus-protocol 1.0 release patches in virglrenderer
authorYiwei Zhang <zzyiwei@chromium.org>
Tue, 2 May 2023 23:43:12 +0000 (16:43 -0700)
committerMarge Bot <emma+marge@anholt.net>
Wed, 3 May 2023 22:42:30 +0000 (22:42 +0000)
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22547>

.gitlab-ci/container/build-crosvm.sh
.gitlab-ci/container/patches/build-crosvm_meson-ci-drop-experimental-from-venus-driver.patch [new file with mode: 0644]
.gitlab-ci/container/patches/build-crosvm_vkr-adopt-venus-protocol-release.patch [new file with mode: 0644]
.gitlab-ci/image-tags.yml

index 1b23d98..9d3c158 100644 (file)
@@ -3,6 +3,8 @@
 
 set -ex
 
+SCRIPT_DIR="$(pwd)"
+
 git config --global user.email "mesa@example.com"
 git config --global user.name "Mesa CI"
 
@@ -17,7 +19,9 @@ rm -rf third_party/virglrenderer
 git clone --single-branch -b master --no-checkout https://gitlab.freedesktop.org/virgl/virglrenderer.git third_party/virglrenderer
 pushd third_party/virglrenderer
 git checkout "$VIRGLRENDERER_VERSION"
-meson build/ -Drender-server-worker=process -Dvenus-experimental=true $EXTRA_MESON_ARGS
+# Apply all virglrenderer venus-protocol 1.0 release patches for MESA CI
+git am "$SCRIPT_DIR"/.gitlab-ci/container/patches/build-crosvm_*.patch
+meson build/ -Drender-server-worker=process -Dvenus=true $EXTRA_MESON_ARGS
 ninja -C build install
 popd
 
diff --git a/.gitlab-ci/container/patches/build-crosvm_meson-ci-drop-experimental-from-venus-driver.patch b/.gitlab-ci/container/patches/build-crosvm_meson-ci-drop-experimental-from-venus-driver.patch
new file mode 100644 (file)
index 0000000..bb04de8
--- /dev/null
@@ -0,0 +1,100 @@
+From 289f7ab6723d5ebdde043db2239976284a0d9884 Mon Sep 17 00:00:00 2001
+From: Yiwei Zhang <zzyiwei@chromium.org>
+Date: Fri, 7 Apr 2023 23:20:51 -0700
+Subject: [PATCH 2/2] meson/ci: drop experimental from venus driver
+
+Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
+---
+ .gitlab-ci.yml            | 2 +-
+ .gitlab-ci/meson/build.sh | 2 +-
+ ci/run_tests.sh           | 2 +-
+ meson.build               | 4 ++--
+ meson_options.txt         | 4 ++--
+ 5 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index 7da65b2b..00693f01 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -112,7 +112,7 @@ debian/mingw32-x86_64:
+     MESA_IMAGE_PATH: ${DEBIAN_X86_BUILD_MINGW_IMAGE_PATH}
+     MESA_IMAGE_TAG: ${DEBIAN_BUILD_MINGW_TAG}
+     EXTRA_OPTION: >
+-      --cross-file=.gitlab-ci/x86_64-w64-mingw32 -Dplatforms= -Dtests=false -Drender-server=false -Dvenus-experimental=false
++      --cross-file=.gitlab-ci/x86_64-w64-mingw32 -Dplatforms= -Dtests=false -Drender-server=false -Dvenus=false
+   script:
+     - git clone --depth 1 https://github.com/anholt/libepoxy.git && pushd libepoxy && meson setup _build --cross-file=../.gitlab-ci/x86_64-w64-mingw32 -Dprefix=/usr/x86_64-w64-mingw32 && meson install -C _build && popd
+     - .gitlab-ci/meson/build.sh
+diff --git a/.gitlab-ci/meson/build.sh b/.gitlab-ci/meson/build.sh
+index 5af1cd8a..079d28c8 100755
+--- a/.gitlab-ci/meson/build.sh
++++ b/.gitlab-ci/meson/build.sh
+@@ -73,7 +73,7 @@ meson setup _build --native-file=native.file \
+     -D tests=true \
+     -D render-server=true \
+     -D render-server-worker=process \
+-    -D venus-experimental=true \
++    -D venus=true \
+     --fatal-meson-warnings \
+     ${EXTRA_OPTION} && \
+ pushd _build && \
+diff --git a/ci/run_tests.sh b/ci/run_tests.sh
+index f9aa5afa..6f9d3421 100755
+--- a/ci/run_tests.sh
++++ b/ci/run_tests.sh
+@@ -69,7 +69,7 @@ run_setup()
+    fi
+    if [ "x$use_venus" = "x1" ]; then
+-       export VENUS=-Dvenus-experimental=true
++       export VENUS=-Dvenus=true
+    fi
+    pwd | grep virglrenderer >/dev/null || pushd /virglrenderer && pushd $(pwd)
+diff --git a/meson.build b/meson.build
+index 49b76033..67c93c09 100644
+--- a/meson.build
++++ b/meson.build
+@@ -68,7 +68,7 @@ add_project_arguments(cc.get_supported_arguments(flags), language : 'c')
+ prog_python = import('python').find_installation('python3')
+ not_found = dependency('', required: false)
+-libdrm_dep = dependency('libdrm', version : '>=2.4.50', required: get_option('drm').enabled() or get_option('venus-experimental'))
++libdrm_dep = dependency('libdrm', version : '>=2.4.50', required: get_option('drm').enabled() or get_option('venus'))
+ gbm_dep = not_found
+ thread_dep = dependency('threads')
+ epoxy_dep = dependency('epoxy', version: '>= 1.5.4')
+@@ -253,7 +253,7 @@ if with_check_gl_errors
+    conf_data.set('CHECK_GL_ERRORS', 1)
+ endif
+-with_venus = get_option('venus-experimental')
++with_venus = get_option('venus')
+ with_render_server = with_venus
+ with_render_server_worker = get_option('render-server-worker')
+ render_server_install_dir = get_option('prefix') / get_option('libexecdir')
+diff --git a/meson_options.txt b/meson_options.txt
+index e147ee18..e1cb3d4c 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -39,7 +39,7 @@ option(
+ )
+ option(
+-  'venus-experimental',
++  'venus',
+   type : 'boolean',
+   value : 'false',
+   description : 'enable support for venus'
+@@ -77,7 +77,7 @@ option(
+   'render-server',
+   type : 'boolean',
+   value : 'false',
+-  description : 'DEPRECATED: render server is enabled by venus-experimental automatically'
++  description : 'DEPRECATED: render server is enabled by venus automatically'
+ )
+ option(
+-- 
+2.40.1.495.gc816e09b53d-goog
+
diff --git a/.gitlab-ci/container/patches/build-crosvm_vkr-adopt-venus-protocol-release.patch b/.gitlab-ci/container/patches/build-crosvm_vkr-adopt-venus-protocol-release.patch
new file mode 100644 (file)
index 0000000..a99141e
--- /dev/null
@@ -0,0 +1,1026 @@
+From 1dacfbbf8c8c5a5c48c38846e3d8cae88ef7fce1 Mon Sep 17 00:00:00 2001
+From: Yiwei Zhang <zzyiwei@chromium.org>
+Date: Fri, 7 Apr 2023 20:38:40 -0700
+Subject: [PATCH 1/2] vkr: adopt venus protocol release
+
+- sync to latest protocol
+- drop experimental feature query
+- drop 100000 experimental version
+
+Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org>
+---
+ .../venus-protocol/vn_protocol_renderer.h     |   2 +-
+ .../vn_protocol_renderer_defines.h            |  66 ++++------
+ .../vn_protocol_renderer_device_memory.h      |  38 +++---
+ .../vn_protocol_renderer_dispatches.h         |  26 ++--
+ .../vn_protocol_renderer_fence.h              |  20 +--
+ .../vn_protocol_renderer_info.h               |   6 +-
+ .../vn_protocol_renderer_semaphore.h          |  66 +++++-----
+ .../vn_protocol_renderer_transport.h          | 120 +++++-------------
+ src/venus/vkr_device_memory.c                 |   6 +-
+ src/venus/vkr_queue.c                         |  33 +++--
+ src/venus/vkr_transport.c                     |  51 ++------
+ 11 files changed, 161 insertions(+), 273 deletions(-)
+
+diff --git a/src/venus/venus-protocol/vn_protocol_renderer.h b/src/venus/venus-protocol/vn_protocol_renderer.h
+index fc1bfd16..96098538 100644
+--- a/src/venus/venus-protocol/vn_protocol_renderer.h
++++ b/src/venus/venus-protocol/vn_protocol_renderer.h
+@@ -1,4 +1,4 @@
+-/* This file is generated by venus-protocol git-fbda104b. */
++/* This file is generated by venus-protocol git-36572e74. */
+ /*
+  * Copyright 2020 Google LLC
+diff --git a/src/venus/venus-protocol/vn_protocol_renderer_defines.h b/src/venus/venus-protocol/vn_protocol_renderer_defines.h
+index 13707c4a..fc82e417 100644
+--- a/src/venus/venus-protocol/vn_protocol_renderer_defines.h
++++ b/src/venus/venus-protocol/vn_protocol_renderer_defines.h
+@@ -21,8 +21,8 @@
+ #define VK_STRUCTURE_TYPE_RING_CREATE_INFO_MESA ((VkStructureType)1000384000)
+ #define VK_STRUCTURE_TYPE_MEMORY_RESOURCE_PROPERTIES_MESA ((VkStructureType)1000384001)
+ #define VK_STRUCTURE_TYPE_IMPORT_MEMORY_RESOURCE_INFO_MESA ((VkStructureType)1000384002)
+-#define VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA ((VkStructureType)1000384003)
+-#define VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_RESOURCE_INFO_100000_MESA ((VkStructureType)1000384004)
++#define VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_MESA ((VkStructureType)1000384003)
++#define VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_RESOURCE_INFO_MESA ((VkStructureType)1000384004)
+ #define VK_STRUCTURE_TYPE_DEVICE_QUEUE_TIMELINE_INFO_MESA ((VkStructureType)1000384005)
+ #define VK_STRUCTURE_TYPE_RING_MONITOR_INFO_MESA ((VkStructureType)1000384006)
+@@ -353,13 +353,12 @@ typedef enum VkCommandTypeEXT {
+     VK_COMMAND_TYPE_vkNotifyRingMESA_EXT = 190,
+     VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT = 191,
+     VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT = 192,
+-    VK_COMMAND_TYPE_vkResetFenceResource100000MESA_EXT = 244,
+-    VK_COMMAND_TYPE_vkWaitSemaphoreResource100000MESA_EXT = 245,
+-    VK_COMMAND_TYPE_vkImportSemaphoreResource100000MESA_EXT = 246,
+-    VK_COMMAND_TYPE_vkSubmitVirtqueueSeqno100000MESA_EXT = 251,
+-    VK_COMMAND_TYPE_vkWaitVirtqueueSeqno100000MESA_EXT = 252,
+-    VK_COMMAND_TYPE_vkWaitRingSeqno100000MESA_EXT = 253,
+-    VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT = 195,
++    VK_COMMAND_TYPE_vkResetFenceResourceMESA_EXT = 244,
++    VK_COMMAND_TYPE_vkWaitSemaphoreResourceMESA_EXT = 245,
++    VK_COMMAND_TYPE_vkImportSemaphoreResourceMESA_EXT = 246,
++    VK_COMMAND_TYPE_vkSubmitVirtqueueSeqnoMESA_EXT = 251,
++    VK_COMMAND_TYPE_vkWaitVirtqueueSeqnoMESA_EXT = 252,
++    VK_COMMAND_TYPE_vkWaitRingSeqnoMESA_EXT = 253,
+ } VkCommandTypeEXT;
+ typedef enum VkCommandFlagBitsEXT {
+@@ -429,27 +428,18 @@ typedef struct VkImportMemoryResourceInfoMESA {
+     uint32_t resourceId;
+ } VkImportMemoryResourceInfoMESA;
+-typedef struct VkVenusExperimentalFeatures100000MESA {
+-    VkBool32 memoryResourceAllocationSize;
+-    VkBool32 globalFencing;
+-    VkBool32 largeRing;
+-    VkBool32 syncFdFencing;
+-    VkBool32 asyncRoundtrip;
+-    VkBool32 ringMonitoring;
+-} VkVenusExperimentalFeatures100000MESA;
+-
+-typedef struct VkMemoryResourceAllocationSizeProperties100000MESA {
++typedef struct VkMemoryResourceAllocationSizePropertiesMESA {
+     VkStructureType sType;
+     void* pNext;
+     uint64_t allocationSize;
+-} VkMemoryResourceAllocationSizeProperties100000MESA;
++} VkMemoryResourceAllocationSizePropertiesMESA;
+-typedef struct VkImportSemaphoreResourceInfo100000MESA {
++typedef struct VkImportSemaphoreResourceInfoMESA {
+     VkStructureType sType;
+     const void* pNext;
+     VkSemaphore semaphore;
+     uint32_t resourceId;
+-} VkImportSemaphoreResourceInfo100000MESA;
++} VkImportSemaphoreResourceInfoMESA;
+ typedef struct VkDeviceQueueTimelineInfoMESA {
+     VkStructureType sType;
+@@ -2242,40 +2232,35 @@ struct vn_command_vkGetMemoryResourcePropertiesMESA {
+     VkResult ret;
+ };
+-struct vn_command_vkResetFenceResource100000MESA {
++struct vn_command_vkResetFenceResourceMESA {
+     VkDevice device;
+     VkFence fence;
+ };
+-struct vn_command_vkWaitSemaphoreResource100000MESA {
++struct vn_command_vkWaitSemaphoreResourceMESA {
+     VkDevice device;
+     VkSemaphore semaphore;
+ };
+-struct vn_command_vkImportSemaphoreResource100000MESA {
++struct vn_command_vkImportSemaphoreResourceMESA {
+     VkDevice device;
+-    const VkImportSemaphoreResourceInfo100000MESA* pImportSemaphoreResourceInfo;
++    const VkImportSemaphoreResourceInfoMESA* pImportSemaphoreResourceInfo;
+ };
+-struct vn_command_vkSubmitVirtqueueSeqno100000MESA {
++struct vn_command_vkSubmitVirtqueueSeqnoMESA {
+     uint64_t ring;
+     uint64_t seqno;
+ };
+-struct vn_command_vkWaitVirtqueueSeqno100000MESA {
++struct vn_command_vkWaitVirtqueueSeqnoMESA {
+     uint64_t seqno;
+ };
+-struct vn_command_vkWaitRingSeqno100000MESA {
++struct vn_command_vkWaitRingSeqnoMESA {
+     uint64_t ring;
+     uint64_t seqno;
+ };
+-struct vn_command_vkGetVenusExperimentalFeatureData100000MESA {
+-    size_t* pDataSize;
+-    void* pData;
+-};
+-
+ struct vn_dispatch_context {
+     void *data;
+     void (*debug_log)(struct vn_dispatch_context *ctx, const char *msg);
+@@ -2530,13 +2515,12 @@ struct vn_dispatch_context {
+     void (*dispatch_vkNotifyRingMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkNotifyRingMESA *args);
+     void (*dispatch_vkWriteRingExtraMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWriteRingExtraMESA *args);
+     void (*dispatch_vkGetMemoryResourcePropertiesMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkGetMemoryResourcePropertiesMESA *args);
+-    void (*dispatch_vkResetFenceResource100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkResetFenceResource100000MESA *args);
+-    void (*dispatch_vkWaitSemaphoreResource100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitSemaphoreResource100000MESA *args);
+-    void (*dispatch_vkImportSemaphoreResource100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkImportSemaphoreResource100000MESA *args);
+-    void (*dispatch_vkSubmitVirtqueueSeqno100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkSubmitVirtqueueSeqno100000MESA *args);
+-    void (*dispatch_vkWaitVirtqueueSeqno100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitVirtqueueSeqno100000MESA *args);
+-    void (*dispatch_vkWaitRingSeqno100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitRingSeqno100000MESA *args);
+-    void (*dispatch_vkGetVenusExperimentalFeatureData100000MESA)(struct vn_dispatch_context *ctx, struct vn_command_vkGetVenusExperimentalFeatureData100000MESA *args);
++    void (*dispatch_vkResetFenceResourceMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkResetFenceResourceMESA *args);
++    void (*dispatch_vkWaitSemaphoreResourceMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitSemaphoreResourceMESA *args);
++    void (*dispatch_vkImportSemaphoreResourceMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkImportSemaphoreResourceMESA *args);
++    void (*dispatch_vkSubmitVirtqueueSeqnoMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkSubmitVirtqueueSeqnoMESA *args);
++    void (*dispatch_vkWaitVirtqueueSeqnoMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitVirtqueueSeqnoMESA *args);
++    void (*dispatch_vkWaitRingSeqnoMESA)(struct vn_dispatch_context *ctx, struct vn_command_vkWaitRingSeqnoMESA *args);
+ };
+ static inline void vn_dispatch_debug_log(struct vn_dispatch_context *ctx, const char *format, ...)
+diff --git a/src/venus/venus-protocol/vn_protocol_renderer_device_memory.h b/src/venus/venus-protocol/vn_protocol_renderer_device_memory.h
+index fc591a16..467a1675 100644
+--- a/src/venus/venus-protocol/vn_protocol_renderer_device_memory.h
++++ b/src/venus/venus-protocol/vn_protocol_renderer_device_memory.h
+@@ -561,33 +561,33 @@ vn_replace_VkDeviceMemoryOpaqueCaptureAddressInfo_handle(VkDeviceMemoryOpaqueCap
+     } while (pnext);
+ }
+-/* struct VkMemoryResourceAllocationSizeProperties100000MESA chain */
++/* struct VkMemoryResourceAllocationSizePropertiesMESA chain */
+ static inline void
+-vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext(struct vn_cs_encoder *enc, const void *val)
++vn_encode_VkMemoryResourceAllocationSizePropertiesMESA_pnext(struct vn_cs_encoder *enc, const void *val)
+ {
+     /* no known/supported struct */
+     vn_encode_simple_pointer(enc, NULL);
+ }
+ static inline void
+-vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_self(struct vn_cs_encoder *enc, const VkMemoryResourceAllocationSizeProperties100000MESA *val)
++vn_encode_VkMemoryResourceAllocationSizePropertiesMESA_self(struct vn_cs_encoder *enc, const VkMemoryResourceAllocationSizePropertiesMESA *val)
+ {
+     /* skip val->{sType,pNext} */
+     vn_encode_uint64_t(enc, &val->allocationSize);
+ }
+ static inline void
+-vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA(struct vn_cs_encoder *enc, const VkMemoryResourceAllocationSizeProperties100000MESA *val)
++vn_encode_VkMemoryResourceAllocationSizePropertiesMESA(struct vn_cs_encoder *enc, const VkMemoryResourceAllocationSizePropertiesMESA *val)
+ {
+-    assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA);
+-    vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA });
+-    vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext(enc, val->pNext);
+-    vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_self(enc, val);
++    assert(val->sType == VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_MESA);
++    vn_encode_VkStructureType(enc, &(VkStructureType){ VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_MESA });
++    vn_encode_VkMemoryResourceAllocationSizePropertiesMESA_pnext(enc, val->pNext);
++    vn_encode_VkMemoryResourceAllocationSizePropertiesMESA_self(enc, val);
+ }
+ static inline void *
+-vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial_temp(struct vn_cs_decoder *dec)
++vn_decode_VkMemoryResourceAllocationSizePropertiesMESA_pnext_partial_temp(struct vn_cs_decoder *dec)
+ {
+     /* no known/supported struct */
+     if (vn_decode_simple_pointer(dec))
+@@ -596,23 +596,23 @@ vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial_temp(
+ }
+ static inline void
+-vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial_temp(struct vn_cs_decoder *dec, VkMemoryResourceAllocationSizeProperties100000MESA *val)
++vn_decode_VkMemoryResourceAllocationSizePropertiesMESA_self_partial_temp(struct vn_cs_decoder *dec, VkMemoryResourceAllocationSizePropertiesMESA *val)
+ {
+     /* skip val->{sType,pNext} */
+     /* skip val->allocationSize */
+ }
+ static inline void
+-vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_partial_temp(struct vn_cs_decoder *dec, VkMemoryResourceAllocationSizeProperties100000MESA *val)
++vn_decode_VkMemoryResourceAllocationSizePropertiesMESA_partial_temp(struct vn_cs_decoder *dec, VkMemoryResourceAllocationSizePropertiesMESA *val)
+ {
+     VkStructureType stype;
+     vn_decode_VkStructureType(dec, &stype);
+-    if (stype != VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA)
++    if (stype != VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_MESA)
+         vn_cs_decoder_set_fatal(dec);
+     val->sType = stype;
+-    val->pNext = vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_pnext_partial_temp(dec);
+-    vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial_temp(dec, val);
++    val->pNext = vn_decode_VkMemoryResourceAllocationSizePropertiesMESA_pnext_partial_temp(dec);
++    vn_decode_VkMemoryResourceAllocationSizePropertiesMESA_self_partial_temp(dec, val);
+ }
+ /* struct VkMemoryResourcePropertiesMESA chain */
+@@ -624,11 +624,11 @@ vn_encode_VkMemoryResourcePropertiesMESA_pnext(struct vn_cs_encoder *enc, const
+     while (pnext) {
+         switch ((int32_t)pnext->sType) {
+-        case VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA:
++        case VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_MESA:
+             vn_encode_simple_pointer(enc, pnext);
+             vn_encode_VkStructureType(enc, &pnext->sType);
+             vn_encode_VkMemoryResourcePropertiesMESA_pnext(enc, pnext->pNext);
+-            vn_encode_VkMemoryResourceAllocationSizeProperties100000MESA_self(enc, (const VkMemoryResourceAllocationSizeProperties100000MESA *)pnext);
++            vn_encode_VkMemoryResourceAllocationSizePropertiesMESA_self(enc, (const VkMemoryResourceAllocationSizePropertiesMESA *)pnext);
+             return;
+         default:
+             /* ignore unknown/unsupported struct */
+@@ -667,12 +667,12 @@ vn_decode_VkMemoryResourcePropertiesMESA_pnext_partial_temp(struct vn_cs_decoder
+     vn_decode_VkStructureType(dec, &stype);
+     switch ((int32_t)stype) {
+-    case VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA:
+-        pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkMemoryResourceAllocationSizeProperties100000MESA));
++    case VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_MESA:
++        pnext = vn_cs_decoder_alloc_temp(dec, sizeof(VkMemoryResourceAllocationSizePropertiesMESA));
+         if (pnext) {
+             pnext->sType = stype;
+             pnext->pNext = vn_decode_VkMemoryResourcePropertiesMESA_pnext_partial_temp(dec);
+-            vn_decode_VkMemoryResourceAllocationSizeProperties100000MESA_self_partial_temp(dec, (VkMemoryResourceAllocationSizeProperties100000MESA *)pnext);
++            vn_decode_VkMemoryResourceAllocationSizePropertiesMESA_self_partial_temp(dec, (VkMemoryResourceAllocationSizePropertiesMESA *)pnext);
+         }
+         break;
+     default:
+diff --git a/src/venus/venus-protocol/vn_protocol_renderer_dispatches.h b/src/venus/venus-protocol/vn_protocol_renderer_dispatches.h
+index 369caffe..0b497c7c 100644
+--- a/src/venus/venus-protocol/vn_protocol_renderer_dispatches.h
++++ b/src/venus/venus-protocol/vn_protocol_renderer_dispatches.h
+@@ -279,13 +279,12 @@ static inline const char *vn_dispatch_command_name(VkCommandTypeEXT type)
+     case VK_COMMAND_TYPE_vkNotifyRingMESA_EXT: return "vkNotifyRingMESA";
+     case VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT: return "vkWriteRingExtraMESA";
+     case VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT: return "vkGetMemoryResourcePropertiesMESA";
+-    case VK_COMMAND_TYPE_vkResetFenceResource100000MESA_EXT: return "vkResetFenceResource100000MESA";
+-    case VK_COMMAND_TYPE_vkWaitSemaphoreResource100000MESA_EXT: return "vkWaitSemaphoreResource100000MESA";
+-    case VK_COMMAND_TYPE_vkImportSemaphoreResource100000MESA_EXT: return "vkImportSemaphoreResource100000MESA";
+-    case VK_COMMAND_TYPE_vkSubmitVirtqueueSeqno100000MESA_EXT: return "vkSubmitVirtqueueSeqno100000MESA";
+-    case VK_COMMAND_TYPE_vkWaitVirtqueueSeqno100000MESA_EXT: return "vkWaitVirtqueueSeqno100000MESA";
+-    case VK_COMMAND_TYPE_vkWaitRingSeqno100000MESA_EXT: return "vkWaitRingSeqno100000MESA";
+-    case VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT: return "vkGetVenusExperimentalFeatureData100000MESA";
++    case VK_COMMAND_TYPE_vkResetFenceResourceMESA_EXT: return "vkResetFenceResourceMESA";
++    case VK_COMMAND_TYPE_vkWaitSemaphoreResourceMESA_EXT: return "vkWaitSemaphoreResourceMESA";
++    case VK_COMMAND_TYPE_vkImportSemaphoreResourceMESA_EXT: return "vkImportSemaphoreResourceMESA";
++    case VK_COMMAND_TYPE_vkSubmitVirtqueueSeqnoMESA_EXT: return "vkSubmitVirtqueueSeqnoMESA";
++    case VK_COMMAND_TYPE_vkWaitVirtqueueSeqnoMESA_EXT: return "vkWaitVirtqueueSeqnoMESA";
++    case VK_COMMAND_TYPE_vkWaitRingSeqnoMESA_EXT: return "vkWaitRingSeqnoMESA";
+     case VK_COMMAND_TYPE_vkGetDeviceProcAddr_EXT: return "vkGetDeviceProcAddr";
+     case VK_COMMAND_TYPE_vkGetInstanceProcAddr_EXT: return "vkGetInstanceProcAddr";
+     case VK_COMMAND_TYPE_vkMapMemory_EXT: return "vkMapMemory";
+@@ -538,13 +537,12 @@ static void (*const vn_dispatch_table[254])(struct vn_dispatch_context *ctx, VkC
+     [VK_COMMAND_TYPE_vkNotifyRingMESA_EXT] = vn_dispatch_vkNotifyRingMESA,
+     [VK_COMMAND_TYPE_vkWriteRingExtraMESA_EXT] = vn_dispatch_vkWriteRingExtraMESA,
+     [VK_COMMAND_TYPE_vkGetMemoryResourcePropertiesMESA_EXT] = vn_dispatch_vkGetMemoryResourcePropertiesMESA,
+-    [VK_COMMAND_TYPE_vkResetFenceResource100000MESA_EXT] = vn_dispatch_vkResetFenceResource100000MESA,
+-    [VK_COMMAND_TYPE_vkWaitSemaphoreResource100000MESA_EXT] = vn_dispatch_vkWaitSemaphoreResource100000MESA,
+-    [VK_COMMAND_TYPE_vkImportSemaphoreResource100000MESA_EXT] = vn_dispatch_vkImportSemaphoreResource100000MESA,
+-    [VK_COMMAND_TYPE_vkSubmitVirtqueueSeqno100000MESA_EXT] = vn_dispatch_vkSubmitVirtqueueSeqno100000MESA,
+-    [VK_COMMAND_TYPE_vkWaitVirtqueueSeqno100000MESA_EXT] = vn_dispatch_vkWaitVirtqueueSeqno100000MESA,
+-    [VK_COMMAND_TYPE_vkWaitRingSeqno100000MESA_EXT] = vn_dispatch_vkWaitRingSeqno100000MESA,
+-    [VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT] = vn_dispatch_vkGetVenusExperimentalFeatureData100000MESA,
++    [VK_COMMAND_TYPE_vkResetFenceResourceMESA_EXT] = vn_dispatch_vkResetFenceResourceMESA,
++    [VK_COMMAND_TYPE_vkWaitSemaphoreResourceMESA_EXT] = vn_dispatch_vkWaitSemaphoreResourceMESA,
++    [VK_COMMAND_TYPE_vkImportSemaphoreResourceMESA_EXT] = vn_dispatch_vkImportSemaphoreResourceMESA,
++    [VK_COMMAND_TYPE_vkSubmitVirtqueueSeqnoMESA_EXT] = vn_dispatch_vkSubmitVirtqueueSeqnoMESA,
++    [VK_COMMAND_TYPE_vkWaitVirtqueueSeqnoMESA_EXT] = vn_dispatch_vkWaitVirtqueueSeqnoMESA,
++    [VK_COMMAND_TYPE_vkWaitRingSeqnoMESA_EXT] = vn_dispatch_vkWaitRingSeqnoMESA,
+ };
+ static inline void vn_dispatch_command(struct vn_dispatch_context *ctx)
+diff --git a/src/venus/venus-protocol/vn_protocol_renderer_fence.h b/src/venus/venus-protocol/vn_protocol_renderer_fence.h
+index 4c354e8d..59fa8d69 100644
+--- a/src/venus/venus-protocol/vn_protocol_renderer_fence.h
++++ b/src/venus/venus-protocol/vn_protocol_renderer_fence.h
+@@ -334,21 +334,21 @@ static inline void vn_encode_vkWaitForFences_reply(struct vn_cs_encoder *enc, co
+     /* skip args->timeout */
+ }
+-static inline void vn_decode_vkResetFenceResource100000MESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkResetFenceResource100000MESA *args)
++static inline void vn_decode_vkResetFenceResourceMESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkResetFenceResourceMESA *args)
+ {
+     vn_decode_VkDevice_lookup(dec, &args->device);
+     vn_decode_VkFence_lookup(dec, &args->fence);
+ }
+-static inline void vn_replace_vkResetFenceResource100000MESA_args_handle(struct vn_command_vkResetFenceResource100000MESA *args)
++static inline void vn_replace_vkResetFenceResourceMESA_args_handle(struct vn_command_vkResetFenceResourceMESA *args)
+ {
+     vn_replace_VkDevice_handle(&args->device);
+     vn_replace_VkFence_handle(&args->fence);
+ }
+-static inline void vn_encode_vkResetFenceResource100000MESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkResetFenceResource100000MESA *args)
++static inline void vn_encode_vkResetFenceResourceMESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkResetFenceResourceMESA *args)
+ {
+-    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkResetFenceResource100000MESA_EXT});
++    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkResetFenceResourceMESA_EXT});
+     /* skip args->device */
+     /* skip args->fence */
+@@ -502,26 +502,26 @@ static inline void vn_dispatch_vkWaitForFences(struct vn_dispatch_context *ctx,
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+-static inline void vn_dispatch_vkResetFenceResource100000MESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
++static inline void vn_dispatch_vkResetFenceResourceMESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
+ {
+-    struct vn_command_vkResetFenceResource100000MESA args;
++    struct vn_command_vkResetFenceResourceMESA args;
+-    if (!ctx->dispatch_vkResetFenceResource100000MESA) {
++    if (!ctx->dispatch_vkResetFenceResourceMESA) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+-    vn_decode_vkResetFenceResource100000MESA_args_temp(ctx->decoder, &args);
++    vn_decode_vkResetFenceResourceMESA_args_temp(ctx->decoder, &args);
+     if (!args.device) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+     if (!vn_cs_decoder_get_fatal(ctx->decoder))
+-        ctx->dispatch_vkResetFenceResource100000MESA(ctx, &args);
++        ctx->dispatch_vkResetFenceResourceMESA(ctx, &args);
+     if ((flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT) && !vn_cs_decoder_get_fatal(ctx->decoder))
+-        vn_encode_vkResetFenceResource100000MESA_reply(ctx->encoder, &args);
++        vn_encode_vkResetFenceResourceMESA_reply(ctx->encoder, &args);
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+diff --git a/src/venus/venus-protocol/vn_protocol_renderer_info.h b/src/venus/venus-protocol/vn_protocol_renderer_info.h
+index 4bee03f0..a6517aba 100644
+--- a/src/venus/venus-protocol/vn_protocol_renderer_info.h
++++ b/src/venus/venus-protocol/vn_protocol_renderer_info.h
+@@ -133,7 +133,7 @@ static const uint32_t _vn_info_extension_count = 102;
+ static const struct vn_info_extension _vn_info_extensions[102] = {
+    { "VK_EXT_4444_formats", 341, 1 },
+    { "VK_EXT_calibrated_timestamps", 185, 2 },
+-   { "VK_EXT_command_serialization", 384, 0 },
++   { "VK_EXT_command_serialization", 384, 1 },
+    { "VK_EXT_conditional_rendering", 82, 2 },
+    { "VK_EXT_conservative_rasterization", 102, 1 },
+    { "VK_EXT_custom_border_color", 288, 12 },
+@@ -231,14 +231,14 @@ static const struct vn_info_extension _vn_info_extensions[102] = {
+    { "VK_KHR_variable_pointers", 121, 1 },
+    { "VK_KHR_vulkan_memory_model", 212, 3 },
+    { "VK_KHR_zero_initialize_workgroup_memory", 326, 1 },
+-   { "VK_MESA_venus_protocol", 385, 100000 },
++   { "VK_MESA_venus_protocol", 385, 1 },
+    { "VK_VALVE_mutable_descriptor_type", 352, 1 },
+ };
+ static inline uint32_t
+ vn_info_wire_format_version(void)
+ {
+-    return 0;
++    return 1;
+ }
+ static inline uint32_t
+diff --git a/src/venus/venus-protocol/vn_protocol_renderer_semaphore.h b/src/venus/venus-protocol/vn_protocol_renderer_semaphore.h
+index 89299d77..37c0194c 100644
+--- a/src/venus/venus-protocol/vn_protocol_renderer_semaphore.h
++++ b/src/venus/venus-protocol/vn_protocol_renderer_semaphore.h
+@@ -314,10 +314,10 @@ vn_replace_VkSemaphoreSignalInfo_handle(VkSemaphoreSignalInfo *val)
+     } while (pnext);
+ }
+-/* struct VkImportSemaphoreResourceInfo100000MESA chain */
++/* struct VkImportSemaphoreResourceInfoMESA chain */
+ static inline void *
+-vn_decode_VkImportSemaphoreResourceInfo100000MESA_pnext_temp(struct vn_cs_decoder *dec)
++vn_decode_VkImportSemaphoreResourceInfoMESA_pnext_temp(struct vn_cs_decoder *dec)
+ {
+     /* no known/supported struct */
+     if (vn_decode_simple_pointer(dec))
+@@ -326,7 +326,7 @@ vn_decode_VkImportSemaphoreResourceInfo100000MESA_pnext_temp(struct vn_cs_decode
+ }
+ static inline void
+-vn_decode_VkImportSemaphoreResourceInfo100000MESA_self_temp(struct vn_cs_decoder *dec, VkImportSemaphoreResourceInfo100000MESA *val)
++vn_decode_VkImportSemaphoreResourceInfoMESA_self_temp(struct vn_cs_decoder *dec, VkImportSemaphoreResourceInfoMESA *val)
+ {
+     /* skip val->{sType,pNext} */
+     vn_decode_VkSemaphore_lookup(dec, &val->semaphore);
+@@ -334,20 +334,20 @@ vn_decode_VkImportSemaphoreResourceInfo100000MESA_self_temp(struct vn_cs_decoder
+ }
+ static inline void
+-vn_decode_VkImportSemaphoreResourceInfo100000MESA_temp(struct vn_cs_decoder *dec, VkImportSemaphoreResourceInfo100000MESA *val)
++vn_decode_VkImportSemaphoreResourceInfoMESA_temp(struct vn_cs_decoder *dec, VkImportSemaphoreResourceInfoMESA *val)
+ {
+     VkStructureType stype;
+     vn_decode_VkStructureType(dec, &stype);
+-    if (stype != VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_RESOURCE_INFO_100000_MESA)
++    if (stype != VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_RESOURCE_INFO_MESA)
+         vn_cs_decoder_set_fatal(dec);
+     val->sType = stype;
+-    val->pNext = vn_decode_VkImportSemaphoreResourceInfo100000MESA_pnext_temp(dec);
+-    vn_decode_VkImportSemaphoreResourceInfo100000MESA_self_temp(dec, val);
++    val->pNext = vn_decode_VkImportSemaphoreResourceInfoMESA_pnext_temp(dec);
++    vn_decode_VkImportSemaphoreResourceInfoMESA_self_temp(dec, val);
+ }
+ static inline void
+-vn_replace_VkImportSemaphoreResourceInfo100000MESA_handle_self(VkImportSemaphoreResourceInfo100000MESA *val)
++vn_replace_VkImportSemaphoreResourceInfoMESA_handle_self(VkImportSemaphoreResourceInfoMESA *val)
+ {
+     /* skip val->sType */
+     /* skip val->pNext */
+@@ -356,14 +356,14 @@ vn_replace_VkImportSemaphoreResourceInfo100000MESA_handle_self(VkImportSemaphore
+ }
+ static inline void
+-vn_replace_VkImportSemaphoreResourceInfo100000MESA_handle(VkImportSemaphoreResourceInfo100000MESA *val)
++vn_replace_VkImportSemaphoreResourceInfoMESA_handle(VkImportSemaphoreResourceInfoMESA *val)
+ {
+     struct VkBaseOutStructure *pnext = (struct VkBaseOutStructure *)val;
+     do {
+         switch ((int32_t)pnext->sType) {
+-        case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_RESOURCE_INFO_100000_MESA:
+-            vn_replace_VkImportSemaphoreResourceInfo100000MESA_handle_self((VkImportSemaphoreResourceInfo100000MESA *)pnext);
++        case VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_RESOURCE_INFO_MESA:
++            vn_replace_VkImportSemaphoreResourceInfoMESA_handle_self((VkImportSemaphoreResourceInfoMESA *)pnext);
+             break;
+         default:
+             /* ignore unknown/unsupported struct */
+@@ -539,49 +539,49 @@ static inline void vn_encode_vkSignalSemaphore_reply(struct vn_cs_encoder *enc,
+     /* skip args->pSignalInfo */
+ }
+-static inline void vn_decode_vkWaitSemaphoreResource100000MESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkWaitSemaphoreResource100000MESA *args)
++static inline void vn_decode_vkWaitSemaphoreResourceMESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkWaitSemaphoreResourceMESA *args)
+ {
+     vn_decode_VkDevice_lookup(dec, &args->device);
+     vn_decode_VkSemaphore_lookup(dec, &args->semaphore);
+ }
+-static inline void vn_replace_vkWaitSemaphoreResource100000MESA_args_handle(struct vn_command_vkWaitSemaphoreResource100000MESA *args)
++static inline void vn_replace_vkWaitSemaphoreResourceMESA_args_handle(struct vn_command_vkWaitSemaphoreResourceMESA *args)
+ {
+     vn_replace_VkDevice_handle(&args->device);
+     vn_replace_VkSemaphore_handle(&args->semaphore);
+ }
+-static inline void vn_encode_vkWaitSemaphoreResource100000MESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkWaitSemaphoreResource100000MESA *args)
++static inline void vn_encode_vkWaitSemaphoreResourceMESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkWaitSemaphoreResourceMESA *args)
+ {
+-    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkWaitSemaphoreResource100000MESA_EXT});
++    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkWaitSemaphoreResourceMESA_EXT});
+     /* skip args->device */
+     /* skip args->semaphore */
+ }
+-static inline void vn_decode_vkImportSemaphoreResource100000MESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkImportSemaphoreResource100000MESA *args)
++static inline void vn_decode_vkImportSemaphoreResourceMESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkImportSemaphoreResourceMESA *args)
+ {
+     vn_decode_VkDevice_lookup(dec, &args->device);
+     if (vn_decode_simple_pointer(dec)) {
+         args->pImportSemaphoreResourceInfo = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pImportSemaphoreResourceInfo));
+         if (!args->pImportSemaphoreResourceInfo) return;
+-        vn_decode_VkImportSemaphoreResourceInfo100000MESA_temp(dec, (VkImportSemaphoreResourceInfo100000MESA *)args->pImportSemaphoreResourceInfo);
++        vn_decode_VkImportSemaphoreResourceInfoMESA_temp(dec, (VkImportSemaphoreResourceInfoMESA *)args->pImportSemaphoreResourceInfo);
+     } else {
+         args->pImportSemaphoreResourceInfo = NULL;
+         vn_cs_decoder_set_fatal(dec);
+     }
+ }
+-static inline void vn_replace_vkImportSemaphoreResource100000MESA_args_handle(struct vn_command_vkImportSemaphoreResource100000MESA *args)
++static inline void vn_replace_vkImportSemaphoreResourceMESA_args_handle(struct vn_command_vkImportSemaphoreResourceMESA *args)
+ {
+     vn_replace_VkDevice_handle(&args->device);
+     if (args->pImportSemaphoreResourceInfo)
+-        vn_replace_VkImportSemaphoreResourceInfo100000MESA_handle((VkImportSemaphoreResourceInfo100000MESA *)args->pImportSemaphoreResourceInfo);
++        vn_replace_VkImportSemaphoreResourceInfoMESA_handle((VkImportSemaphoreResourceInfoMESA *)args->pImportSemaphoreResourceInfo);
+ }
+-static inline void vn_encode_vkImportSemaphoreResource100000MESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkImportSemaphoreResource100000MESA *args)
++static inline void vn_encode_vkImportSemaphoreResourceMESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkImportSemaphoreResourceMESA *args)
+ {
+-    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkImportSemaphoreResource100000MESA_EXT});
++    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkImportSemaphoreResourceMESA_EXT});
+     /* skip args->device */
+     /* skip args->pImportSemaphoreResourceInfo */
+@@ -735,50 +735,50 @@ static inline void vn_dispatch_vkSignalSemaphore(struct vn_dispatch_context *ctx
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+-static inline void vn_dispatch_vkWaitSemaphoreResource100000MESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
++static inline void vn_dispatch_vkWaitSemaphoreResourceMESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
+ {
+-    struct vn_command_vkWaitSemaphoreResource100000MESA args;
++    struct vn_command_vkWaitSemaphoreResourceMESA args;
+-    if (!ctx->dispatch_vkWaitSemaphoreResource100000MESA) {
++    if (!ctx->dispatch_vkWaitSemaphoreResourceMESA) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+-    vn_decode_vkWaitSemaphoreResource100000MESA_args_temp(ctx->decoder, &args);
++    vn_decode_vkWaitSemaphoreResourceMESA_args_temp(ctx->decoder, &args);
+     if (!args.device) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+     if (!vn_cs_decoder_get_fatal(ctx->decoder))
+-        ctx->dispatch_vkWaitSemaphoreResource100000MESA(ctx, &args);
++        ctx->dispatch_vkWaitSemaphoreResourceMESA(ctx, &args);
+     if ((flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT) && !vn_cs_decoder_get_fatal(ctx->decoder))
+-        vn_encode_vkWaitSemaphoreResource100000MESA_reply(ctx->encoder, &args);
++        vn_encode_vkWaitSemaphoreResourceMESA_reply(ctx->encoder, &args);
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+-static inline void vn_dispatch_vkImportSemaphoreResource100000MESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
++static inline void vn_dispatch_vkImportSemaphoreResourceMESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
+ {
+-    struct vn_command_vkImportSemaphoreResource100000MESA args;
++    struct vn_command_vkImportSemaphoreResourceMESA args;
+-    if (!ctx->dispatch_vkImportSemaphoreResource100000MESA) {
++    if (!ctx->dispatch_vkImportSemaphoreResourceMESA) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+-    vn_decode_vkImportSemaphoreResource100000MESA_args_temp(ctx->decoder, &args);
++    vn_decode_vkImportSemaphoreResourceMESA_args_temp(ctx->decoder, &args);
+     if (!args.device) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+     if (!vn_cs_decoder_get_fatal(ctx->decoder))
+-        ctx->dispatch_vkImportSemaphoreResource100000MESA(ctx, &args);
++        ctx->dispatch_vkImportSemaphoreResourceMESA(ctx, &args);
+     if ((flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT) && !vn_cs_decoder_get_fatal(ctx->decoder))
+-        vn_encode_vkImportSemaphoreResource100000MESA_reply(ctx->encoder, &args);
++        vn_encode_vkImportSemaphoreResourceMESA_reply(ctx->encoder, &args);
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+diff --git a/src/venus/venus-protocol/vn_protocol_renderer_transport.h b/src/venus/venus-protocol/vn_protocol_renderer_transport.h
+index 08f60f2d..a0ef419e 100644
+--- a/src/venus/venus-protocol/vn_protocol_renderer_transport.h
++++ b/src/venus/venus-protocol/vn_protocol_renderer_transport.h
+@@ -407,103 +407,63 @@ static inline void vn_encode_vkWriteRingExtraMESA_reply(struct vn_cs_encoder *en
+     /* skip args->value */
+ }
+-static inline void vn_decode_vkSubmitVirtqueueSeqno100000MESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkSubmitVirtqueueSeqno100000MESA *args)
++static inline void vn_decode_vkSubmitVirtqueueSeqnoMESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkSubmitVirtqueueSeqnoMESA *args)
+ {
+     vn_decode_uint64_t(dec, &args->ring);
+     vn_decode_uint64_t(dec, &args->seqno);
+ }
+-static inline void vn_replace_vkSubmitVirtqueueSeqno100000MESA_args_handle(struct vn_command_vkSubmitVirtqueueSeqno100000MESA *args)
++static inline void vn_replace_vkSubmitVirtqueueSeqnoMESA_args_handle(struct vn_command_vkSubmitVirtqueueSeqnoMESA *args)
+ {
+     /* skip args->ring */
+     /* skip args->seqno */
+ }
+-static inline void vn_encode_vkSubmitVirtqueueSeqno100000MESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkSubmitVirtqueueSeqno100000MESA *args)
++static inline void vn_encode_vkSubmitVirtqueueSeqnoMESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkSubmitVirtqueueSeqnoMESA *args)
+ {
+-    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkSubmitVirtqueueSeqno100000MESA_EXT});
++    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkSubmitVirtqueueSeqnoMESA_EXT});
+     /* skip args->ring */
+     /* skip args->seqno */
+ }
+-static inline void vn_decode_vkWaitVirtqueueSeqno100000MESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkWaitVirtqueueSeqno100000MESA *args)
++static inline void vn_decode_vkWaitVirtqueueSeqnoMESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkWaitVirtqueueSeqnoMESA *args)
+ {
+     vn_decode_uint64_t(dec, &args->seqno);
+ }
+-static inline void vn_replace_vkWaitVirtqueueSeqno100000MESA_args_handle(struct vn_command_vkWaitVirtqueueSeqno100000MESA *args)
++static inline void vn_replace_vkWaitVirtqueueSeqnoMESA_args_handle(struct vn_command_vkWaitVirtqueueSeqnoMESA *args)
+ {
+     /* skip args->seqno */
+ }
+-static inline void vn_encode_vkWaitVirtqueueSeqno100000MESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkWaitVirtqueueSeqno100000MESA *args)
++static inline void vn_encode_vkWaitVirtqueueSeqnoMESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkWaitVirtqueueSeqnoMESA *args)
+ {
+-    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkWaitVirtqueueSeqno100000MESA_EXT});
++    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkWaitVirtqueueSeqnoMESA_EXT});
+     /* skip args->seqno */
+ }
+-static inline void vn_decode_vkWaitRingSeqno100000MESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkWaitRingSeqno100000MESA *args)
++static inline void vn_decode_vkWaitRingSeqnoMESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkWaitRingSeqnoMESA *args)
+ {
+     vn_decode_uint64_t(dec, &args->ring);
+     vn_decode_uint64_t(dec, &args->seqno);
+ }
+-static inline void vn_replace_vkWaitRingSeqno100000MESA_args_handle(struct vn_command_vkWaitRingSeqno100000MESA *args)
++static inline void vn_replace_vkWaitRingSeqnoMESA_args_handle(struct vn_command_vkWaitRingSeqnoMESA *args)
+ {
+     /* skip args->ring */
+     /* skip args->seqno */
+ }
+-static inline void vn_encode_vkWaitRingSeqno100000MESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkWaitRingSeqno100000MESA *args)
++static inline void vn_encode_vkWaitRingSeqnoMESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkWaitRingSeqnoMESA *args)
+ {
+-    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkWaitRingSeqno100000MESA_EXT});
++    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkWaitRingSeqnoMESA_EXT});
+     /* skip args->ring */
+     /* skip args->seqno */
+ }
+-static inline void vn_decode_vkGetVenusExperimentalFeatureData100000MESA_args_temp(struct vn_cs_decoder *dec, struct vn_command_vkGetVenusExperimentalFeatureData100000MESA *args)
+-{
+-    if (vn_decode_simple_pointer(dec)) {
+-        args->pDataSize = vn_cs_decoder_alloc_temp(dec, sizeof(*args->pDataSize));
+-        if (!args->pDataSize) return;
+-        vn_decode_size_t(dec, args->pDataSize);
+-    } else {
+-        args->pDataSize = NULL;
+-        vn_cs_decoder_set_fatal(dec);
+-    }
+-    if (vn_peek_array_size(dec)) {
+-        const size_t array_size = vn_decode_array_size(dec, (args->pDataSize ? *args->pDataSize : 0));
+-        args->pData = vn_cs_decoder_alloc_temp(dec, array_size);
+-        if (!args->pData) return;
+-    } else {
+-        vn_decode_array_size_unchecked(dec);
+-        args->pData = NULL;
+-    }
+-}
+-
+-static inline void vn_replace_vkGetVenusExperimentalFeatureData100000MESA_args_handle(struct vn_command_vkGetVenusExperimentalFeatureData100000MESA *args)
+-{
+-    /* skip args->pDataSize */
+-    /* skip args->pData */
+-}
+-
+-static inline void vn_encode_vkGetVenusExperimentalFeatureData100000MESA_reply(struct vn_cs_encoder *enc, const struct vn_command_vkGetVenusExperimentalFeatureData100000MESA *args)
+-{
+-    vn_encode_VkCommandTypeEXT(enc, &(VkCommandTypeEXT){VK_COMMAND_TYPE_vkGetVenusExperimentalFeatureData100000MESA_EXT});
+-
+-    if (vn_encode_simple_pointer(enc, args->pDataSize))
+-        vn_encode_size_t(enc, args->pDataSize);
+-    if (args->pData) {
+-        vn_encode_array_size(enc, (args->pDataSize ? *args->pDataSize : 0));
+-        vn_encode_blob_array(enc, args->pData, (args->pDataSize ? *args->pDataSize : 0));
+-    } else {
+-        vn_encode_array_size(enc, 0);
+-    }
+-}
+-
+ static inline void vn_dispatch_vkSetReplyCommandStreamMESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
+ {
+     struct vn_command_vkSetReplyCommandStreamMESA args;
+@@ -644,82 +604,62 @@ static inline void vn_dispatch_vkWriteRingExtraMESA(struct vn_dispatch_context *
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+-static inline void vn_dispatch_vkSubmitVirtqueueSeqno100000MESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
+-{
+-    struct vn_command_vkSubmitVirtqueueSeqno100000MESA args;
+-
+-    if (!ctx->dispatch_vkSubmitVirtqueueSeqno100000MESA) {
+-        vn_cs_decoder_set_fatal(ctx->decoder);
+-        return;
+-    }
+-
+-    vn_decode_vkSubmitVirtqueueSeqno100000MESA_args_temp(ctx->decoder, &args);
+-
+-    if (!vn_cs_decoder_get_fatal(ctx->decoder))
+-        ctx->dispatch_vkSubmitVirtqueueSeqno100000MESA(ctx, &args);
+-
+-    if ((flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT) && !vn_cs_decoder_get_fatal(ctx->decoder))
+-        vn_encode_vkSubmitVirtqueueSeqno100000MESA_reply(ctx->encoder, &args);
+-
+-    vn_cs_decoder_reset_temp_pool(ctx->decoder);
+-}
+-
+-static inline void vn_dispatch_vkWaitVirtqueueSeqno100000MESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
++static inline void vn_dispatch_vkSubmitVirtqueueSeqnoMESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
+ {
+-    struct vn_command_vkWaitVirtqueueSeqno100000MESA args;
++    struct vn_command_vkSubmitVirtqueueSeqnoMESA args;
+-    if (!ctx->dispatch_vkWaitVirtqueueSeqno100000MESA) {
++    if (!ctx->dispatch_vkSubmitVirtqueueSeqnoMESA) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+-    vn_decode_vkWaitVirtqueueSeqno100000MESA_args_temp(ctx->decoder, &args);
++    vn_decode_vkSubmitVirtqueueSeqnoMESA_args_temp(ctx->decoder, &args);
+     if (!vn_cs_decoder_get_fatal(ctx->decoder))
+-        ctx->dispatch_vkWaitVirtqueueSeqno100000MESA(ctx, &args);
++        ctx->dispatch_vkSubmitVirtqueueSeqnoMESA(ctx, &args);
+     if ((flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT) && !vn_cs_decoder_get_fatal(ctx->decoder))
+-        vn_encode_vkWaitVirtqueueSeqno100000MESA_reply(ctx->encoder, &args);
++        vn_encode_vkSubmitVirtqueueSeqnoMESA_reply(ctx->encoder, &args);
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+-static inline void vn_dispatch_vkWaitRingSeqno100000MESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
++static inline void vn_dispatch_vkWaitVirtqueueSeqnoMESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
+ {
+-    struct vn_command_vkWaitRingSeqno100000MESA args;
++    struct vn_command_vkWaitVirtqueueSeqnoMESA args;
+-    if (!ctx->dispatch_vkWaitRingSeqno100000MESA) {
++    if (!ctx->dispatch_vkWaitVirtqueueSeqnoMESA) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+-    vn_decode_vkWaitRingSeqno100000MESA_args_temp(ctx->decoder, &args);
++    vn_decode_vkWaitVirtqueueSeqnoMESA_args_temp(ctx->decoder, &args);
+     if (!vn_cs_decoder_get_fatal(ctx->decoder))
+-        ctx->dispatch_vkWaitRingSeqno100000MESA(ctx, &args);
++        ctx->dispatch_vkWaitVirtqueueSeqnoMESA(ctx, &args);
+     if ((flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT) && !vn_cs_decoder_get_fatal(ctx->decoder))
+-        vn_encode_vkWaitRingSeqno100000MESA_reply(ctx->encoder, &args);
++        vn_encode_vkWaitVirtqueueSeqnoMESA_reply(ctx->encoder, &args);
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+-static inline void vn_dispatch_vkGetVenusExperimentalFeatureData100000MESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
++static inline void vn_dispatch_vkWaitRingSeqnoMESA(struct vn_dispatch_context *ctx, VkCommandFlagsEXT flags)
+ {
+-    struct vn_command_vkGetVenusExperimentalFeatureData100000MESA args;
++    struct vn_command_vkWaitRingSeqnoMESA args;
+-    if (!ctx->dispatch_vkGetVenusExperimentalFeatureData100000MESA) {
++    if (!ctx->dispatch_vkWaitRingSeqnoMESA) {
+         vn_cs_decoder_set_fatal(ctx->decoder);
+         return;
+     }
+-    vn_decode_vkGetVenusExperimentalFeatureData100000MESA_args_temp(ctx->decoder, &args);
++    vn_decode_vkWaitRingSeqnoMESA_args_temp(ctx->decoder, &args);
+     if (!vn_cs_decoder_get_fatal(ctx->decoder))
+-        ctx->dispatch_vkGetVenusExperimentalFeatureData100000MESA(ctx, &args);
++        ctx->dispatch_vkWaitRingSeqnoMESA(ctx, &args);
+     if ((flags & VK_COMMAND_GENERATE_REPLY_BIT_EXT) && !vn_cs_decoder_get_fatal(ctx->decoder))
+-        vn_encode_vkGetVenusExperimentalFeatureData100000MESA_reply(ctx->encoder, &args);
++        vn_encode_vkWaitRingSeqnoMESA_reply(ctx->encoder, &args);
+     vn_cs_decoder_reset_temp_pool(ctx->decoder);
+ }
+diff --git a/src/venus/vkr_device_memory.c b/src/venus/vkr_device_memory.c
+index de797cfa..80e896a6 100644
+--- a/src/venus/vkr_device_memory.c
++++ b/src/venus/vkr_device_memory.c
+@@ -291,9 +291,9 @@ vkr_dispatch_vkGetMemoryResourcePropertiesMESA(
+    args->pMemoryResourceProperties->memoryTypeBits = mem_fd_props.memoryTypeBits;
+-   VkMemoryResourceAllocationSizeProperties100000MESA *alloc_size_props = vkr_find_struct(
+-      args->pMemoryResourceProperties->pNext,
+-      VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_100000_MESA);
++   VkMemoryResourceAllocationSizePropertiesMESA *alloc_size_props =
++      vkr_find_struct(args->pMemoryResourceProperties->pNext,
++                      VK_STRUCTURE_TYPE_MEMORY_RESOURCE_ALLOCATION_SIZE_PROPERTIES_MESA);
+    if (alloc_size_props)
+       alloc_size_props->allocationSize = res->size;
+ }
+diff --git a/src/venus/vkr_queue.c b/src/venus/vkr_queue.c
+index cd38654a..803f1fb5 100644
+--- a/src/venus/vkr_queue.c
++++ b/src/venus/vkr_queue.c
+@@ -457,16 +457,15 @@ vkr_dispatch_vkWaitForFences(UNUSED struct vn_dispatch_context *dispatch,
+ }
+ static void
+-vkr_dispatch_vkResetFenceResource100000MESA(
+-   struct vn_dispatch_context *dispatch,
+-   struct vn_command_vkResetFenceResource100000MESA *args)
++vkr_dispatch_vkResetFenceResourceMESA(struct vn_dispatch_context *dispatch,
++                                      struct vn_command_vkResetFenceResourceMESA *args)
+ {
+    struct vkr_context *ctx = dispatch->data;
+    struct vkr_device *dev = vkr_device_from_handle(args->device);
+    struct vn_device_proc_table *vk = &dev->proc_table;
+    int fd = -1;
+-   vn_replace_vkResetFenceResource100000MESA_args_handle(args);
++   vn_replace_vkResetFenceResourceMESA_args_handle(args);
+    const VkFenceGetFdInfoKHR info = {
+       .sType = VK_STRUCTURE_TYPE_FENCE_GET_FD_INFO_KHR,
+@@ -531,16 +530,16 @@ vkr_dispatch_vkSignalSemaphore(UNUSED struct vn_dispatch_context *dispatch,
+ }
+ static void
+-vkr_dispatch_vkWaitSemaphoreResource100000MESA(
++vkr_dispatch_vkWaitSemaphoreResourceMESA(
+    struct vn_dispatch_context *dispatch,
+-   struct vn_command_vkWaitSemaphoreResource100000MESA *args)
++   struct vn_command_vkWaitSemaphoreResourceMESA *args)
+ {
+    struct vkr_context *ctx = dispatch->data;
+    struct vkr_device *dev = vkr_device_from_handle(args->device);
+    struct vn_device_proc_table *vk = &dev->proc_table;
+    int fd = -1;
+-   vn_replace_vkWaitSemaphoreResource100000MESA_args_handle(args);
++   vn_replace_vkWaitSemaphoreResourceMESA_args_handle(args);
+    const VkSemaphoreGetFdInfoKHR info = {
+       .sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR,
+@@ -558,18 +557,17 @@ vkr_dispatch_vkWaitSemaphoreResource100000MESA(
+ }
+ static void
+-vkr_dispatch_vkImportSemaphoreResource100000MESA(
++vkr_dispatch_vkImportSemaphoreResourceMESA(
+    struct vn_dispatch_context *dispatch,
+-   struct vn_command_vkImportSemaphoreResource100000MESA *args)
++   struct vn_command_vkImportSemaphoreResourceMESA *args)
+ {
+    struct vkr_context *ctx = dispatch->data;
+    struct vkr_device *dev = vkr_device_from_handle(args->device);
+    struct vn_device_proc_table *vk = &dev->proc_table;
+-   vn_replace_vkImportSemaphoreResource100000MESA_args_handle(args);
++   vn_replace_vkImportSemaphoreResourceMESA_args_handle(args);
+-   const VkImportSemaphoreResourceInfo100000MESA *res_info =
+-      args->pImportSemaphoreResourceInfo;
++   const VkImportSemaphoreResourceInfoMESA *res_info = args->pImportSemaphoreResourceInfo;
+    /* resourceId 0 is for importing a signaled payload to sync_fd fence */
+    assert(!res_info->resourceId);
+@@ -658,8 +656,7 @@ vkr_context_init_fence_dispatch(struct vkr_context *ctx)
+    dispatch->dispatch_vkGetFenceStatus = vkr_dispatch_vkGetFenceStatus;
+    dispatch->dispatch_vkWaitForFences = vkr_dispatch_vkWaitForFences;
+-   dispatch->dispatch_vkResetFenceResource100000MESA =
+-      vkr_dispatch_vkResetFenceResource100000MESA;
++   dispatch->dispatch_vkResetFenceResourceMESA = vkr_dispatch_vkResetFenceResourceMESA;
+ }
+ void
+@@ -674,10 +671,10 @@ vkr_context_init_semaphore_dispatch(struct vkr_context *ctx)
+    dispatch->dispatch_vkWaitSemaphores = vkr_dispatch_vkWaitSemaphores;
+    dispatch->dispatch_vkSignalSemaphore = vkr_dispatch_vkSignalSemaphore;
+-   dispatch->dispatch_vkWaitSemaphoreResource100000MESA =
+-      vkr_dispatch_vkWaitSemaphoreResource100000MESA;
+-   dispatch->dispatch_vkImportSemaphoreResource100000MESA =
+-      vkr_dispatch_vkImportSemaphoreResource100000MESA;
++   dispatch->dispatch_vkWaitSemaphoreResourceMESA =
++      vkr_dispatch_vkWaitSemaphoreResourceMESA;
++   dispatch->dispatch_vkImportSemaphoreResourceMESA =
++      vkr_dispatch_vkImportSemaphoreResourceMESA;
+ }
+ void
+diff --git a/src/venus/vkr_transport.c b/src/venus/vkr_transport.c
+index c236dcd6..1ab6fe9d 100644
+--- a/src/venus/vkr_transport.c
++++ b/src/venus/vkr_transport.c
+@@ -293,9 +293,8 @@ vkr_dispatch_vkWriteRingExtraMESA(struct vn_dispatch_context *dispatch,
+ }
+ static void
+-vkr_dispatch_vkSubmitVirtqueueSeqno100000MESA(
+-   struct vn_dispatch_context *dispatch,
+-   struct vn_command_vkSubmitVirtqueueSeqno100000MESA *args)
++vkr_dispatch_vkSubmitVirtqueueSeqnoMESA(struct vn_dispatch_context *dispatch,
++                                        struct vn_command_vkSubmitVirtqueueSeqnoMESA *args)
+ {
+    struct vkr_context *ctx = dispatch->data;
+    struct vkr_ring *ring = lookup_ring(ctx, args->ring);
+@@ -308,9 +307,8 @@ vkr_dispatch_vkSubmitVirtqueueSeqno100000MESA(
+ }
+ static void
+-vkr_dispatch_vkWaitVirtqueueSeqno100000MESA(
+-   struct vn_dispatch_context *dispatch,
+-   struct vn_command_vkWaitVirtqueueSeqno100000MESA *args)
++vkr_dispatch_vkWaitVirtqueueSeqnoMESA(struct vn_dispatch_context *dispatch,
++                                      struct vn_command_vkWaitVirtqueueSeqnoMESA *args)
+ {
+    struct vkr_context *ctx = dispatch->data;
+    /* this is for -Wgnu-statement-expression-from-macro-expansion */
+@@ -323,8 +321,8 @@ vkr_dispatch_vkWaitVirtqueueSeqno100000MESA(
+ }
+ static void
+-vkr_dispatch_vkWaitRingSeqno100000MESA(struct vn_dispatch_context *dispatch,
+-                                       struct vn_command_vkWaitRingSeqno100000MESA *args)
++vkr_dispatch_vkWaitRingSeqnoMESA(struct vn_dispatch_context *dispatch,
++                                 struct vn_command_vkWaitRingSeqnoMESA *args)
+ {
+    struct vkr_context *ctx = dispatch->data;
+    struct vkr_ring *ring = lookup_ring(ctx, args->ring);
+@@ -337,31 +335,6 @@ vkr_dispatch_vkWaitRingSeqno100000MESA(struct vn_dispatch_context *dispatch,
+       vkr_context_set_fatal(ctx);
+ }
+-static void
+-vkr_dispatch_vkGetVenusExperimentalFeatureData100000MESA(
+-   UNUSED struct vn_dispatch_context *dispatch,
+-   struct vn_command_vkGetVenusExperimentalFeatureData100000MESA *args)
+-{
+-   const VkVenusExperimentalFeatures100000MESA features = {
+-      .memoryResourceAllocationSize = VK_TRUE,
+-      .globalFencing = VK_FALSE,
+-      .largeRing = VK_TRUE,
+-      .syncFdFencing = VK_TRUE,
+-      .asyncRoundtrip = VK_TRUE,
+-      .ringMonitoring = VK_TRUE,
+-   };
+-
+-   vn_replace_vkGetVenusExperimentalFeatureData100000MESA_args_handle(args);
+-
+-   if (!args->pData) {
+-      *args->pDataSize = sizeof(features);
+-      return;
+-   }
+-
+-   *args->pDataSize = MIN2(*args->pDataSize, sizeof(features));
+-   memcpy(args->pData, &features, *args->pDataSize);
+-}
+-
+ void
+ vkr_context_init_transport_dispatch(struct vkr_context *ctx)
+ {
+@@ -377,12 +350,8 @@ vkr_context_init_transport_dispatch(struct vkr_context *ctx)
+    dispatch->dispatch_vkDestroyRingMESA = vkr_dispatch_vkDestroyRingMESA;
+    dispatch->dispatch_vkNotifyRingMESA = vkr_dispatch_vkNotifyRingMESA;
+    dispatch->dispatch_vkWriteRingExtraMESA = vkr_dispatch_vkWriteRingExtraMESA;
+-   dispatch->dispatch_vkSubmitVirtqueueSeqno100000MESA =
+-      vkr_dispatch_vkSubmitVirtqueueSeqno100000MESA;
+-   dispatch->dispatch_vkWaitVirtqueueSeqno100000MESA =
+-      vkr_dispatch_vkWaitVirtqueueSeqno100000MESA;
+-   dispatch->dispatch_vkWaitRingSeqno100000MESA = vkr_dispatch_vkWaitRingSeqno100000MESA;
+-
+-   dispatch->dispatch_vkGetVenusExperimentalFeatureData100000MESA =
+-      vkr_dispatch_vkGetVenusExperimentalFeatureData100000MESA;
++   dispatch->dispatch_vkSubmitVirtqueueSeqnoMESA =
++      vkr_dispatch_vkSubmitVirtqueueSeqnoMESA;
++   dispatch->dispatch_vkWaitVirtqueueSeqnoMESA = vkr_dispatch_vkWaitVirtqueueSeqnoMESA;
++   dispatch->dispatch_vkWaitRingSeqnoMESA = vkr_dispatch_vkWaitRingSeqnoMESA;
+ }
+-- 
+2.40.1.495.gc816e09b53d-goog
+
index 1884006..528f274 100644 (file)
@@ -1,6 +1,6 @@
 variables:
    DEBIAN_X86_BUILD_BASE_IMAGE: "debian/x86_build-base"
-   DEBIAN_BASE_TAG: "2023-05-02-virglrenderer-crosvm"
+   DEBIAN_BASE_TAG: "2023-05-02-virglrenderer-patch"
 
    DEBIAN_X86_BUILD_IMAGE_PATH: "debian/x86_build"
    DEBIAN_BUILD_TAG: "2023-04-29-mold"
@@ -21,7 +21,7 @@ variables:
 
    ALPINE_X86_BUILD_TAG: "2023-03-20-3.17-bump"
    FEDORA_X86_BUILD_TAG: "2023-04-26-rusticl"
-   KERNEL_ROOTFS_TAG: "2023-05-02-virglrenderer-crosvm"
+   KERNEL_ROOTFS_TAG: "2023-05-02-virglrenderer-patch"
 
    WINDOWS_X64_VS_PATH: "windows/x64_vs"
    WINDOWS_X64_VS_TAG: "2022-10-20-upgrade-zlib"