diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-05-10 16:09:50 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-05-10 16:09:50 +0000 |
commit | 090f68b1cf700e26c5ae68ff8c094e20f7b469f1 (patch) | |
tree | 5cef8f2b0acbd492c19071c70cb736ca939b2089 | |
parent | 4140efcefc95925c7db454a523832801cf7b5a9b (diff) | |
parent | 433b520f3be28b80af427745980cb03d659d0016 (diff) | |
download | gfxstream-protocols-090f68b1cf700e26c5ae68ff8c094e20f7b469f1.tar.gz |
Snap for 10103804 from 433b520f3be28b80af427745980cb03d659d0016 to mainline-tzdata5-release
Change-Id: Ic0eb62914628fc4671c6fde881c09fdb7ac78304
-rw-r--r-- | include/vulkan/include/vulkan/vulkan_core.h | 5 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/api_log_decoder.py | 1 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/common/codegen.py | 2 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/common/vulkantypes.py | 2 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/decoder.py | 77 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/decodersnapshot.py | 2 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/encoder.py | 7 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/marshalingdefs.py | 3 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/subdecode.py | 17 | ||||
-rw-r--r-- | registry/vulkan/scripts/cereal/wrapperdefs.py | 2 | ||||
-rw-r--r-- | registry/vulkan/scripts/cerealgenerator.py | 19 | ||||
-rw-r--r-- | registry/vulkan/xml/vk.xml | 39 |
12 files changed, 91 insertions, 85 deletions
diff --git a/include/vulkan/include/vulkan/vulkan_core.h b/include/vulkan/include/vulkan/vulkan_core.h index 3b97ee8c..19e9ffe6 100644 --- a/include/vulkan/include/vulkan/vulkan_core.h +++ b/include/vulkan/include/vulkan/vulkan_core.h @@ -908,9 +908,8 @@ typedef enum VkStructureType { VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR = 1000413002, VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = 1000413003, VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE = 1000385000, - VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE = 1000385001, - VK_STRUCTURE_TYPE_IMPORT_BUFFER_HANDLE_GOOGLE = 1000385002, - VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE = 1000385003, + VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE = 1000385001, + VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE = 1000385002, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES, VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT = VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT, diff --git a/registry/vulkan/scripts/cereal/api_log_decoder.py b/registry/vulkan/scripts/cereal/api_log_decoder.py index dfca0717..97930f5f 100644 --- a/registry/vulkan/scripts/cereal/api_log_decoder.py +++ b/registry/vulkan/scripts/cereal/api_log_decoder.py @@ -72,6 +72,7 @@ class ApiLogDecoder(VulkanWrapperGenerator): "vkFreeMemorySyncGOOGLE", "vkGetFenceStatus", "vkGetMemoryHostAddressInfoGOOGLE", + "vkGetBlobGOOGLE", "vkGetPhysicalDeviceFormatProperties", "vkGetPhysicalDeviceProperties2KHR", "vkGetPipelineCacheData", diff --git a/registry/vulkan/scripts/cereal/common/codegen.py b/registry/vulkan/scripts/cereal/common/codegen.py index 0fcac4ae..b6b8a6b3 100644 --- a/registry/vulkan/scripts/cereal/common/codegen.py +++ b/registry/vulkan/scripts/cereal/common/codegen.py @@ -947,7 +947,7 @@ class VulkanWrapperGenerator(object): }, "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT": { "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2": "VkPhysicalDeviceFragmentDensityMapPropertiesEXT", - "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO": "VkImportPhysicalAddressGOOGLE", + "VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO": "VkCreateBlobGOOGLE", "default": "VkPhysicalDeviceFragmentDensityMapPropertiesEXT", }, "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT": { diff --git a/registry/vulkan/scripts/cereal/common/vulkantypes.py b/registry/vulkan/scripts/cereal/common/vulkantypes.py index 31284e26..dc3a9072 100644 --- a/registry/vulkan/scripts/cereal/common/vulkantypes.py +++ b/registry/vulkan/scripts/cereal/common/vulkantypes.py @@ -750,7 +750,7 @@ class VulkanCompoundType(object): class VulkanAPI(object): - def __init__(self, name: str, retType: VulkanType, parameters: list[VulkanType], origName=None): + def __init__(self, name: str, retType: VulkanType, parameters, origName=None): self.name: str = name self.origName = name self.retType: VulkanType = retType diff --git a/registry/vulkan/scripts/cereal/decoder.py b/registry/vulkan/scripts/cereal/decoder.py index 5363f635..e082db0c 100644 --- a/registry/vulkan/scripts/cereal/decoder.py +++ b/registry/vulkan/scripts/cereal/decoder.py @@ -26,27 +26,37 @@ global_state_prefix = "m_state->on_" decoder_decl_preamble = """ +namespace gfxstream { class IOStream; +class ProcessResources; +} // namespace gfxstream + +namespace gfxstream { +namespace vk { class VkDecoder { public: VkDecoder(); ~VkDecoder(); void setForSnapshotLoad(bool forSnapshotLoad); - size_t decode(void* buf, size_t bufsize, IOStream* stream, uint32_t* seqnoPtr, - const VkDecoderContext&); + size_t decode(void* buf, size_t bufsize, IOStream* stream, + const ProcessResources* processResources, const VkDecoderContext&); private: class Impl; std::unique_ptr<Impl> mImpl; }; + +} // namespace vk +} // namespace gfxstream + """ decoder_impl_preamble =""" +namespace gfxstream { +namespace vk { + using android::base::MetricEventBadPacketLength; using android::base::MetricEventDuplicateSequenceNum; -using emugl::vkDispatch; - -using namespace goldfish_vk; class VkDecoder::Impl { public: @@ -66,8 +76,8 @@ public: m_forSnapshotLoad = forSnapshotLoad; } - size_t decode(void* buf, size_t bufsize, IOStream* stream, uint32_t* seqnoPtr, - const VkDecoderContext&); + size_t decode(void* buf, size_t bufsize, IOStream* stream, + const ProcessResources* processResources, const VkDecoderContext&); private: bool m_logCalls; @@ -94,14 +104,22 @@ void VkDecoder::setForSnapshotLoad(bool forSnapshotLoad) { mImpl->setForSnapshotLoad(forSnapshotLoad); } -size_t VkDecoder::decode(void* buf, size_t bufsize, IOStream* stream, uint32_t* seqnoPtr, +size_t VkDecoder::decode(void* buf, size_t bufsize, IOStream* stream, + const ProcessResources* processResources, const VkDecoderContext& context) { - return mImpl->decode(buf, bufsize, stream, seqnoPtr, context); + return mImpl->decode(buf, bufsize, stream, processResources, context); } // VkDecoder::Impl::decode to follow """ % (VULKAN_STREAM_TYPE, VULKAN_STREAM_TYPE) +decoder_impl_postamble = """ + +} // namespace vk +} // namespace gfxstream + +""" + READ_STREAM = "vkReadStream" WRITE_STREAM = "vkStream" @@ -319,14 +337,12 @@ def emit_dispatch_call(api, cgen): if delay: cgen.line("};") -def emit_global_state_wrapped_call(api, cgen, logger, context): +def emit_global_state_wrapped_call(api, cgen, context): if api.name in DELAYED_DECODER_DELETES: print("Error: Cannot generate a global state wrapped call that is also a delayed delete (yet)"); raise customParams = ["&m_pool"] + list(map(lambda p: p.paramName, api.parameters)) - if logger: - customParams += ["gfx_logger"] if context: customParams += ["context"] cgen.vkApiCall(api, customPrefix=global_state_prefix, \ @@ -423,7 +439,7 @@ def emit_pool_free(cgen): cgen.stmt("%s->clearPool()" % READ_STREAM) def emit_seqno_incr(api, cgen): - cgen.stmt("if (queueSubmitWithCommandsEnabled) __atomic_fetch_add(seqnoPtr, 1, __ATOMIC_SEQ_CST)") + cgen.stmt("if (queueSubmitWithCommandsEnabled) seqnoPtr->fetch_add(1, std::memory_order_seq_cst)") def emit_snapshot(typeInfo, api, cgen): @@ -461,7 +477,7 @@ def emit_snapshot(typeInfo, api, cgen): cgen.vkApiCall(apiForSnapshot, customPrefix="m_state->snapshot()->") cgen.endIf() -def emit_decoding(typeInfo, api, cgen, globalWrapped=False, logger=False, context=False): +def emit_decoding(typeInfo, api, cgen, globalWrapped=False, context=False): isAcquire = api.name in RELAXED_APIS emit_decode_parameters(typeInfo, api, cgen, globalWrapped) @@ -469,7 +485,7 @@ def emit_decoding(typeInfo, api, cgen, globalWrapped=False, logger=False, contex emit_seqno_incr(api, cgen) if globalWrapped: - emit_global_state_wrapped_call(api, cgen, logger, context) + emit_global_state_wrapped_call(api, cgen, context) else: emit_dispatch_call(api, cgen) @@ -489,9 +505,6 @@ def emit_default_decoding(typeInfo, api, cgen): def emit_global_state_wrapped_decoding(typeInfo, api, cgen): emit_decoding(typeInfo, api, cgen, globalWrapped=True) -def emit_global_state_wrapped_decoding_with_logger(typeInfo, api, cgen): - emit_decoding(typeInfo, api, cgen, globalWrapped=True, logger=True) - def emit_global_state_wrapped_decoding_with_context(typeInfo, api, cgen): emit_decoding(typeInfo, api, cgen, globalWrapped=True, context=True) @@ -613,6 +626,9 @@ custom_decodes = { "vkGetImageMemoryRequirements" : emit_global_state_wrapped_decoding, "vkGetImageMemoryRequirements2" : emit_global_state_wrapped_decoding, "vkGetImageMemoryRequirements2KHR" : emit_global_state_wrapped_decoding, + "vkGetBufferMemoryRequirements" : emit_global_state_wrapped_decoding, + "vkGetBufferMemoryRequirements2": emit_global_state_wrapped_decoding, + "vkGetBufferMemoryRequirements2KHR": emit_global_state_wrapped_decoding, "vkCreateDescriptorSetLayout" : emit_global_state_wrapped_decoding, "vkDestroyDescriptorSetLayout" : emit_global_state_wrapped_decoding, @@ -642,8 +658,8 @@ custom_decodes = { "vkCmdExecuteCommands" : emit_global_state_wrapped_decoding, "vkQueueSubmit" : emit_global_state_wrapped_decoding, "vkQueueWaitIdle" : emit_global_state_wrapped_decoding, - "vkBeginCommandBuffer" : emit_global_state_wrapped_decoding_with_logger, - "vkEndCommandBuffer" : emit_global_state_wrapped_decoding_with_logger, + "vkBeginCommandBuffer" : emit_global_state_wrapped_decoding_with_context, + "vkEndCommandBuffer" : emit_global_state_wrapped_decoding_with_context, "vkResetCommandBuffer" : emit_global_state_wrapped_decoding, "vkFreeCommandBuffers" : emit_global_state_wrapped_decoding, "vkCreateCommandPool" : emit_global_state_wrapped_decoding, @@ -682,10 +698,7 @@ custom_decodes = { "vkFreeMemorySyncGOOGLE" : emit_global_state_wrapped_decoding, "vkMapMemoryIntoAddressSpaceGOOGLE" : emit_global_state_wrapped_decoding, "vkGetMemoryHostAddressInfoGOOGLE" : emit_global_state_wrapped_decoding, - - # VK_GOOGLE_color_buffer - "vkRegisterImageColorBufferGOOGLE" : emit_global_state_wrapped_decoding, - "vkRegisterBufferColorBufferGOOGLE" : emit_global_state_wrapped_decoding, + "vkGetBlobGOOGLE" : emit_global_state_wrapped_decoding, # Descriptor update templates "vkCreateDescriptorUpdateTemplate" : emit_global_state_wrapped_decoding, @@ -695,8 +708,8 @@ custom_decodes = { "vkUpdateDescriptorSetWithTemplateSizedGOOGLE" : emit_global_state_wrapped_decoding, # VK_GOOGLE_gfxstream - "vkBeginCommandBufferAsyncGOOGLE" : emit_global_state_wrapped_decoding_with_logger, - "vkEndCommandBufferAsyncGOOGLE" : emit_global_state_wrapped_decoding_with_logger, + "vkBeginCommandBufferAsyncGOOGLE" : emit_global_state_wrapped_decoding_with_context, + "vkEndCommandBufferAsyncGOOGLE" : emit_global_state_wrapped_decoding_with_context, "vkResetCommandBufferAsyncGOOGLE" : emit_global_state_wrapped_decoding, "vkCommandBufferHostSyncGOOGLE" : emit_global_state_wrapped_decoding, "vkCreateImageWithRequirementsGOOGLE" : emit_global_state_wrapped_decoding, @@ -741,7 +754,8 @@ class VulkanDecoder(VulkanWrapperGenerator): self.module.appendImpl( """ -size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, uint32_t* seqnoPtr, +size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, + const ProcessResources* processResources, const VkDecoderContext& context) """) @@ -796,6 +810,9 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, uint32 executionData->insert({{"previous_seqno", std::to_string(m_prevSeqno.value())}}); } } + + std::atomic<uint32_t>* seqnoPtr = processResources->getSequenceNumberPtr(); + if (queueSubmitWithCommandsEnabled && ((opcode >= OP_vkFirst && opcode < OP_vkLast) || (opcode >= OP_vkFirst_old && opcode < OP_vkLast_old))) { uint32_t seqno; memcpy(&seqno, *readStreamPtrPtr, sizeof(uint32_t)); *readStreamPtrPtr += sizeof(uint32_t); @@ -817,12 +834,11 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, uint32 /* Data gathered if this hangs*/ .setOnHangCallback([=]() { auto annotations = std::make_unique<EventHangMetadata::HangAnnotations>(); - annotations->insert({{"seqnoPtr", std::to_string(__atomic_load_n( - seqnoPtr, __ATOMIC_SEQ_CST))}}); + annotations->insert({{"seqnoPtr", std::to_string(seqnoPtr->load(std::memory_order_seq_cst))}}); return annotations; }) .build(); - while ((seqno - __atomic_load_n(seqnoPtr, __ATOMIC_SEQ_CST) != 1)) { + while ((seqno - seqnoPtr->load(std::memory_order_seq_cst) != 1)) { #if (defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))) _mm_pause(); #elif (defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))) @@ -893,3 +909,4 @@ size_t VkDecoder::Impl::decode(void* buf, size_t len, IOStream* ioStream, uint32 self.cgen.stmt("return ptr - (unsigned char*)buf;") self.cgen.endBlock() # function body self.module.appendImpl(self.cgen.swapCode()) + self.module.appendImpl(decoder_impl_postamble) diff --git a/registry/vulkan/scripts/cereal/decodersnapshot.py b/registry/vulkan/scripts/cereal/decodersnapshot.py index f4dc6d6f..4ff97a1d 100644 --- a/registry/vulkan/scripts/cereal/decodersnapshot.py +++ b/registry/vulkan/scripts/cereal/decodersnapshot.py @@ -39,7 +39,7 @@ private: decoder_snapshot_impl_preamble =""" -using namespace goldfish_vk; +using namespace gfxstream::vk; using emugl::GfxApiLogger; using emugl::HealthMonitor; diff --git a/registry/vulkan/scripts/cereal/encoder.py b/registry/vulkan/scripts/cereal/encoder.py index 42d1e815..d3e39745 100644 --- a/registry/vulkan/scripts/cereal/encoder.py +++ b/registry/vulkan/scripts/cereal/encoder.py @@ -38,7 +38,7 @@ private: encoder_impl_preamble =""" -using namespace goldfish_vk; +using namespace gfxstream::vk; using android::base::guest::AutoLock; using android::base::guest::Lock; @@ -79,9 +79,6 @@ ENCODER_CUSTOM_RESOURCE_POSTPROCESS = [ "vkGetPhysicalDeviceProperties", "vkGetPhysicalDeviceProperties2", "vkGetPhysicalDeviceProperties2KHR", - "vkGetPhysicalDeviceMemoryProperties", - "vkGetPhysicalDeviceMemoryProperties2", - "vkGetPhysicalDeviceMemoryProperties2KHR", "vkCreateDescriptorUpdateTemplate", "vkCreateDescriptorUpdateTemplateKHR", "vkGetPhysicalDeviceExternalSemaphoreProperties", @@ -401,7 +398,7 @@ def emit_parameter_encode_do_parameter_write(typeInfo, api, cgen): emit_marshal(typeInfo, p, cgen) dispatchDone = True - + cgen.beginIf("watchdog") cgen.stmt("size_t watchdogBufSize = std::min<size_t>(static_cast<size_t>(packetSize_%s), kWatchdogBufferMax)" % (api.name)) cgen.stmt("healthMonitorAnnotation_packetContents.resize(watchdogBufSize)") diff --git a/registry/vulkan/scripts/cereal/marshalingdefs.py b/registry/vulkan/scripts/cereal/marshalingdefs.py index 19b08d12..88791f68 100644 --- a/registry/vulkan/scripts/cereal/marshalingdefs.py +++ b/registry/vulkan/scripts/cereal/marshalingdefs.py @@ -332,8 +332,6 @@ KNOWN_FUNCTION_OPCODES = { "vkCmdSetCheckpointNV": 20315, "vkGetQueueCheckpointDataNV": 20316, "vkMapMemoryIntoAddressSpaceGOOGLE": 20317, - "vkRegisterImageColorBufferGOOGLE": 20318, - "vkRegisterBufferColorBufferGOOGLE": 20319, "vkUpdateDescriptorSetWithTemplateSizedGOOGLE": 20320, "vkBeginCommandBufferAsyncGOOGLE": 20321, "vkEndCommandBufferAsyncGOOGLE": 20322, @@ -355,6 +353,7 @@ KNOWN_FUNCTION_OPCODES = { "vkUseIOSurfaceMVK": 20338, "vkGetIOSurfaceMVK": 20339, "vkQueueFlushCommandsGOOGLE": 20340, + "vkGetBlobGOOGLE": 20341, } CUSTOM_MARSHAL_TYPES = { diff --git a/registry/vulkan/scripts/cereal/subdecode.py b/registry/vulkan/scripts/cereal/subdecode.py index a81f7228..b77cad77 100644 --- a/registry/vulkan/scripts/cereal/subdecode.py +++ b/registry/vulkan/scripts/cereal/subdecode.py @@ -261,11 +261,9 @@ def emit_dispatch_call(api, cgen): cgen.stmt("unlock()") -def emit_global_state_wrapped_call(api, cgen, logger=False, context=False): +def emit_global_state_wrapped_call(api, cgen, context=False): customParams = ["pool", "(VkCommandBuffer)(boxed_dispatchHandle)"] + \ list(map(lambda p: p.paramName, api.parameters[1:])) - if logger: - customParams += ["gfx_logger"]; if context: customParams += ["context"]; cgen.vkApiCall(api, customPrefix=global_state_prefix, @@ -282,10 +280,6 @@ def emit_global_state_wrapped_decoding(typeInfo, api, cgen): emit_decode_parameters(typeInfo, api, cgen, globalWrapped=True) emit_global_state_wrapped_call(api, cgen) -def emit_global_state_wrapped_decoding_with_logger(typeInfo, api, cgen): - emit_decode_parameters(typeInfo, api, cgen, globalWrapped=True) - emit_global_state_wrapped_call(api, cgen, logger=True) - def emit_global_state_wrapped_decoding_with_context(typeInfo, api, cgen): emit_decode_parameters(typeInfo, api, cgen, globalWrapped=True) emit_global_state_wrapped_call(api, cgen, context=True) @@ -295,15 +289,15 @@ custom_decodes = { "vkCmdCopyImage": emit_global_state_wrapped_decoding, "vkCmdCopyImageToBuffer": emit_global_state_wrapped_decoding, "vkCmdExecuteCommands": emit_global_state_wrapped_decoding, - "vkBeginCommandBuffer": emit_global_state_wrapped_decoding_with_logger, - "vkEndCommandBuffer": emit_global_state_wrapped_decoding_with_logger, + "vkBeginCommandBuffer": emit_global_state_wrapped_decoding_with_context, + "vkEndCommandBuffer": emit_global_state_wrapped_decoding_with_context, "vkResetCommandBuffer": emit_global_state_wrapped_decoding, "vkCmdPipelineBarrier": emit_global_state_wrapped_decoding, "vkCmdBindPipeline": emit_global_state_wrapped_decoding, "vkCmdBindDescriptorSets": emit_global_state_wrapped_decoding, "vkCmdCopyQueryPoolResults": emit_global_state_wrapped_decoding, - "vkBeginCommandBufferAsyncGOOGLE": emit_global_state_wrapped_decoding_with_logger, - "vkEndCommandBufferAsyncGOOGLE": emit_global_state_wrapped_decoding_with_logger, + "vkBeginCommandBufferAsyncGOOGLE": emit_global_state_wrapped_decoding_with_context, + "vkEndCommandBufferAsyncGOOGLE": emit_global_state_wrapped_decoding_with_context, "vkResetCommandBufferAsyncGOOGLE": emit_global_state_wrapped_decoding, "vkCommandBufferHostSyncGOOGLE": emit_global_state_wrapped_decoding, } @@ -327,7 +321,6 @@ class VulkanSubDecoder(VulkanWrapperGenerator): self.cgen.beginBlock() # function body - self.cgen.stmt("auto& gfx_logger = *context.gfxApiLogger") self.cgen.stmt("auto& metricsLogger = *context.metricsLogger") self.cgen.stmt("uint32_t count = 0") self.cgen.stmt("unsigned char *buf = (unsigned char *)pData") diff --git a/registry/vulkan/scripts/cereal/wrapperdefs.py b/registry/vulkan/scripts/cereal/wrapperdefs.py index 6d89197e..9b969875 100644 --- a/registry/vulkan/scripts/cereal/wrapperdefs.py +++ b/registry/vulkan/scripts/cereal/wrapperdefs.py @@ -98,8 +98,8 @@ STYPE_OVERRIDE = { "VkPhysicalDeviceFragmentDensityMapPropertiesEXT": "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT", "VkRenderPassFragmentDensityMapCreateInfoEXT": "VK_STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT", "VkImportColorBufferGOOGLE": "VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE", - "VkImportPhysicalAddressGOOGLE": "VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE", "VkImportBufferGOOGLE": "VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE", + "VkCreateBlobGOOGLE": "VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE", } MAX_PACKET_LENGTH = "(400 * 1024 * 1024) // 400MB" diff --git a/registry/vulkan/scripts/cerealgenerator.py b/registry/vulkan/scripts/cerealgenerator.py index 29d73219..988cda45 100644 --- a/registry/vulkan/scripts/cerealgenerator.py +++ b/registry/vulkan/scripts/cerealgenerator.py @@ -325,11 +325,13 @@ using android::base::BumpPool; dispatchHeaderDefs = f""" {self.hostCommonExtraVulkanHeaders} #include "goldfish_vk_private_defs.h" -namespace goldfish_vk {{ +namespace gfxstream {{ +namespace vk {{ struct VulkanDispatch; -}} // namespace goldfish_vk +}} // namespace vk +}} // namespace gfxstream using DlOpenFunc = void* (void); using DlSymFunc = void* (void*, const char*); """ @@ -411,6 +413,7 @@ class BumpPool; #include "{self.baseLibDirPrefix}/system/System.h" #include "{self.baseLibDirPrefix}/Tracing.h" #include "{self.baseLibDirPrefix}/Metrics.h" +#include "stream-servers/FrameBuffer.h" #include "stream-servers/IOStream.h" #include "host-common/feature_control.h" #include "host-common/GfxstreamFatalError.h" @@ -651,8 +654,16 @@ class BumpPool; autogeneratedHeaderTemplate % \ (basename, "(header) generated by %s" % banner_command(sys.argv)) - namespaceBegin = "namespace goldfish_vk {" if useNamespace else "" - namespaceEnd = "} // namespace goldfish_vk" if useNamespace else "" + + namespaceBegin = """ +namespace gfxstream { +namespace vk { +""" if useNamespace else "" + + namespaceEnd = """ +} // namespace vk" +} // namespace gfxstream +""" if useNamespace else "" module.headerPreamble += "#pragma once\n" if (not suppressVulkanHeaders): diff --git a/registry/vulkan/xml/vk.xml b/registry/vulkan/xml/vk.xml index 0e19344e..73245d2e 100644 --- a/registry/vulkan/xml/vk.xml +++ b/registry/vulkan/xml/vk.xml @@ -5462,14 +5462,12 @@ typedef void <name>CAMetalLayer</name>; <member><type>void</type>* <name>pNext</name></member> <member><type>uint32_t</type> <name>buffer</name></member> </type> - <type category="struct" name="VkImportPhysicalAddressGOOGLE" structextends="VkMemoryAllocateInfo"> - <member values="VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE"><type>VkStructureType</type> <name>sType</name></member> + <type category="struct" name="VkCreateBlobGOOGLE" structextends="VkMemoryAllocateInfo"> + <member values="VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE"><type>VkStructureType</type> <name>sType</name></member> <member><type>void</type>* <name>pNext</name></member> - <member><type>uint64_t</type> <name>physicalAddress</name></member> - <member><type>VkDeviceSize</type> <name>size</name></member> - <member><type>VkFormat</type> <name>format</name></member> - <member><type>VkImageTiling</type> <name>tiling</name></member> - <member><type>uint32_t</type> <name>tilingParameter</name></member> + <member><type>uint32_t</type> <name>blobMem</name></member> + <member><type>uint32_t</type> <name>blobFlags</name></member> + <member><type>uint64_t</type> <name>blobId</name></member> </type> <type category="struct" name="VkPhysicalDeviceMutableDescriptorTypeFeaturesVALVE" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo"> <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"><type>VkStructureType</type> <name>sType</name></member> @@ -10222,18 +10220,6 @@ typedef void <name>CAMetalLayer</name>; <param externsync="true" devicememoryhandle="1"><type>VkDeviceMemory</type> <name>memory</name></param> <param optional="false,true"><type>uint64_t</type>* <name>pAddress</name></param> </command> - <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> - <proto><type>VkResult</type> <name>vkRegisterImageColorBufferGOOGLE</name></proto> - <param><type>VkDevice</type> <name>device</name></param> - <param><type>VkImage</type> <name>image</name></param> - <param><type>uint32_t</type> <name>colorBuffer</name></param> - </command> - <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_INITIALIZATION_FAILED,VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY"> - <proto><type>VkResult</type> <name>vkRegisterBufferColorBufferGOOGLE</name></proto> - <param><type>VkDevice</type> <name>device</name></param> - <param><type>VkBuffer</type> <name>buffer</name></param> - <param><type>uint32_t</type> <name>colorBuffer</name></param> - </command> <command> <proto><type>void</type> <name>vkUpdateDescriptorSetWithTemplateSizedGOOGLE</name></proto> <param><type>VkDevice</type> <name>device</name></param> @@ -10350,6 +10336,11 @@ typedef void <name>CAMetalLayer</name>; <param><type>VkDeviceSize</type> <name>dataSize</name></param> <param len="dataSize">const <type>void</type>* <name>pData</name></param> </command> + <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY"> + <proto><type>VkResult</type> <name>vkGetBlobGOOGLE</name></proto> + <param><type>VkDevice</type> <name>device</name></param> + <param externsync="true" devicememoryhandle="1"><type>VkDeviceMemory</type> <name>memory</name></param> + </command> <command> <proto><type>void</type> <name>vkGetMTLDeviceMVK</name></proto> <param><type>VkPhysicalDevice</type> <name>physicalDevice</name></param> @@ -17657,14 +17648,11 @@ typedef void <name>CAMetalLayer</name>; <enum value="386" name="VK_GOOGLE_GFXSTREAM_NUMBER"/> <enum value=""VK_GOOGLE_gfxstream"" name="VK_GOOGLE_GFXSTREAM_EXTENSION_NAME"/> <enum offset="0" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_COLOR_BUFFER_GOOGLE"/> - <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_PHYSICAL_ADDRESS_GOOGLE"/> - <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_BUFFER_HANDLE_GOOGLE"/> - <enum offset="3" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE"/> + <enum offset="1" extends="VkStructureType" name="VK_STRUCTURE_TYPE_IMPORT_BUFFER_GOOGLE"/> + <enum offset="2" extends="VkStructureType" name="VK_STRUCTURE_TYPE_CREATE_BLOB_GOOGLE"/> <type name="VkImportColorBufferGOOGLE"/> <type name="VkImportBufferGOOGLE"/> - <type name="VkImportPhysicalAddressGOOGLE"/> - <command name="vkRegisterImageColorBufferGOOGLE"/> - <command name="vkRegisterBufferColorBufferGOOGLE"/> + <type name="VkCreateBlobGOOGLE"/> <command name="vkMapMemoryIntoAddressSpaceGOOGLE"/> <command name="vkUpdateDescriptorSetWithTemplateSizedGOOGLE"/> <command name="vkBeginCommandBufferAsyncGOOGLE"/> @@ -17686,6 +17674,7 @@ typedef void <name>CAMetalLayer</name>; <command name="vkCollectDescriptorPoolIdsGOOGLE"/> <command name="vkQueueSignalReleaseImageANDROIDAsyncGOOGLE"/> <command name="vkQueueFlushCommandsFromAuxMemoryGOOGLE"/> + <command name="vkGetBlobGOOGLE"/> </require> </extension> </extensions> |