Revert "Rerun codegen"
Revert "Remove trailing semicolon for DEFINE_ALIAS_FUNCTION"
Revert submission 1909696-aosp-image-ci-mismatch
Reason for revert:Looks like this breaks the emulator build
Reverted Changes:
I4a575fd83:Remove trailing semicolon for DEFINE_ALIAS_FUNCTIO...
If02c5f4e1:Fix VkImageCreateInfo mismatch for AHB sibling VkI...
If07d76a4c:vulkan-cereal: Remove marshaling/decoding code for...
Ib558e02bd:Reland "macOS: Remove Vulkan cereal marshaling / d...
I08f18d3e6:Regenerate Vulkan sources
If02c5f4e1:Fix VkImageCreateInfo mismatch for AHB sibling VkI...
Ifebb0e46b:Rerun codegen
Ibc0855b88:Fix VkImageCreateInfo mismatch for AHB sibling VkI...
Change-Id: Id8293bddc08c05b3488a2dbacbc49ec8ae14569c
diff --git a/system/vulkan_enc/goldfish_vk_marshaling_guest.cpp b/system/vulkan_enc/goldfish_vk_marshaling_guest.cpp
index 09bf7b9..5b5f3a3 100644
--- a/system/vulkan_enc/goldfish_vk_marshaling_guest.cpp
+++ b/system/vulkan_enc/goldfish_vk_marshaling_guest.cpp
@@ -10132,10 +10132,21 @@
const VkXcbSurfaceCreateInfoKHR* forMarshaling)
{
(void)rootType;
-
- // This struct should never be marshaled / unmarshaled.
- __builtin_trap();
-
+ vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
+ if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM)
+ {
+ rootType = forMarshaling->sType;
+ }
+ marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
+ vkStream->write((VkXcbSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkXcbSurfaceCreateFlagsKHR));
+ // WARNING PTR CHECK
+ uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->connection;
+ vkStream->putBe64(cgen_var_0);
+ if (forMarshaling->connection)
+ {
+ vkStream->write((xcb_connection_t*)forMarshaling->connection, sizeof(xcb_connection_t));
+ }
+ vkStream->write((xcb_window_t*)&forMarshaling->window, sizeof(xcb_window_t));
}
void unmarshal_VkXcbSurfaceCreateInfoKHR(
@@ -10144,10 +10155,25 @@
VkXcbSurfaceCreateInfoKHR* forUnmarshaling)
{
(void)rootType;
-
- // This struct should never be marshaled / unmarshaled.
- __builtin_trap();
-
+ vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
+ if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM)
+ {
+ rootType = forUnmarshaling->sType;
+ }
+ unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
+ vkStream->read((VkXcbSurfaceCreateFlagsKHR*)&forUnmarshaling->flags, sizeof(VkXcbSurfaceCreateFlagsKHR));
+ // WARNING PTR CHECK
+ xcb_connection_t* check_connection;
+ check_connection = (xcb_connection_t*)(uintptr_t)vkStream->getBe64();
+ if (forUnmarshaling->connection)
+ {
+ if (!(check_connection))
+ {
+ fprintf(stderr, "fatal: forUnmarshaling->connection inconsistent between guest and host\n");
+ }
+ vkStream->read((xcb_connection_t*)forUnmarshaling->connection, sizeof(xcb_connection_t));
+ }
+ vkStream->read((xcb_window_t*)&forUnmarshaling->window, sizeof(xcb_window_t));
}
#endif
@@ -19190,10 +19216,20 @@
const VkMetalSurfaceCreateInfoEXT* forMarshaling)
{
(void)rootType;
-
- // This struct should never be marshaled / unmarshaled.
- __builtin_trap();
-
+ vkStream->write((VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
+ if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM)
+ {
+ rootType = forMarshaling->sType;
+ }
+ marshal_extension_struct(vkStream, rootType, forMarshaling->pNext);
+ vkStream->write((VkMetalSurfaceCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkMetalSurfaceCreateFlagsEXT));
+ // WARNING PTR CHECK
+ uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pLayer;
+ vkStream->putBe64(cgen_var_0);
+ if (forMarshaling->pLayer)
+ {
+ vkStream->write((const CAMetalLayer*)forMarshaling->pLayer, sizeof(const CAMetalLayer));
+ }
}
void unmarshal_VkMetalSurfaceCreateInfoEXT(
@@ -19202,10 +19238,24 @@
VkMetalSurfaceCreateInfoEXT* forUnmarshaling)
{
(void)rootType;
-
- // This struct should never be marshaled / unmarshaled.
- __builtin_trap();
-
+ vkStream->read((VkStructureType*)&forUnmarshaling->sType, sizeof(VkStructureType));
+ if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM)
+ {
+ rootType = forUnmarshaling->sType;
+ }
+ unmarshal_extension_struct(vkStream, rootType, (void*)(forUnmarshaling->pNext));
+ vkStream->read((VkMetalSurfaceCreateFlagsEXT*)&forUnmarshaling->flags, sizeof(VkMetalSurfaceCreateFlagsEXT));
+ // WARNING PTR CHECK
+ const CAMetalLayer* check_pLayer;
+ check_pLayer = (const CAMetalLayer*)(uintptr_t)vkStream->getBe64();
+ if (forUnmarshaling->pLayer)
+ {
+ if (!(check_pLayer))
+ {
+ fprintf(stderr, "fatal: forUnmarshaling->pLayer inconsistent between guest and host\n");
+ }
+ vkStream->read((CAMetalLayer*)forUnmarshaling->pLayer, sizeof(const CAMetalLayer));
+ }
}
#endif
diff --git a/system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.cpp b/system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.cpp
index c09d716..e4bf00d 100644
--- a/system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.cpp
+++ b/system/vulkan_enc/goldfish_vk_reserved_marshaling_guest.cpp
@@ -6937,10 +6937,29 @@
const VkXcbSurfaceCreateInfoKHR* forMarshaling,
uint8_t** ptr)
{
-
- // This struct should never be marshaled / unmarshaled.
- __builtin_trap();
-
+ (void)vkStream;
+ (void)rootType;
+ memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
+ *ptr += sizeof(VkStructureType);
+ if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM)
+ {
+ rootType = forMarshaling->sType;
+ }
+ reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
+ memcpy(*ptr, (VkXcbSurfaceCreateFlagsKHR*)&forMarshaling->flags, sizeof(VkXcbSurfaceCreateFlagsKHR));
+ *ptr += sizeof(VkXcbSurfaceCreateFlagsKHR);
+ // WARNING PTR CHECK
+ uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->connection;
+ memcpy((*ptr), &cgen_var_0, 8);
+ android::base::Stream::toBe64((uint8_t*)(*ptr));
+ *ptr += 8;
+ if (forMarshaling->connection)
+ {
+ memcpy(*ptr, (xcb_connection_t*)forMarshaling->connection, sizeof(xcb_connection_t));
+ *ptr += sizeof(xcb_connection_t);
+ }
+ memcpy(*ptr, (xcb_window_t*)&forMarshaling->window, sizeof(xcb_window_t));
+ *ptr += sizeof(xcb_window_t);
}
#endif
@@ -12888,10 +12907,27 @@
const VkMetalSurfaceCreateInfoEXT* forMarshaling,
uint8_t** ptr)
{
-
- // This struct should never be marshaled / unmarshaled.
- __builtin_trap();
-
+ (void)vkStream;
+ (void)rootType;
+ memcpy(*ptr, (VkStructureType*)&forMarshaling->sType, sizeof(VkStructureType));
+ *ptr += sizeof(VkStructureType);
+ if (rootType == VK_STRUCTURE_TYPE_MAX_ENUM)
+ {
+ rootType = forMarshaling->sType;
+ }
+ reservedmarshal_extension_struct(vkStream, rootType, forMarshaling->pNext, ptr);
+ memcpy(*ptr, (VkMetalSurfaceCreateFlagsEXT*)&forMarshaling->flags, sizeof(VkMetalSurfaceCreateFlagsEXT));
+ *ptr += sizeof(VkMetalSurfaceCreateFlagsEXT);
+ // WARNING PTR CHECK
+ uint64_t cgen_var_0 = (uint64_t)(uintptr_t)forMarshaling->pLayer;
+ memcpy((*ptr), &cgen_var_0, 8);
+ android::base::Stream::toBe64((uint8_t*)(*ptr));
+ *ptr += 8;
+ if (forMarshaling->pLayer)
+ {
+ memcpy(*ptr, (const CAMetalLayer*)forMarshaling->pLayer, sizeof(const CAMetalLayer));
+ *ptr += sizeof(const CAMetalLayer);
+ }
}
#endif