CopyrightKhronosGroup2016-Page193SwapchainsUnchained!
(WhatyouneedtoknowaboutVulkanWSI)AlonOr-bach,Chair,VulkanSystemIntegrationSub-Group–May2016@alonorbach(disclaimersapply!
)CopyrightKhronosGroup2016-Page194IntrotoVulkanWindowSystemIntegrationExplicitcontrolforacquisitionandpresentationofimages-DesignedtofittheVulkanAPIandtoday'scompositingwindowsystemsNotallextensionsaresupportedbyeveryplatform-YouMUSTcheckandenabletheextensionsyourapp/engineuses!
!
!
Today'spresentationshouldhelpyougetpresentationworking-Learnhowtopresentthroughaswapchain-OverviewofVulkanobjectsusedbytheWSIextensionsWSIJargonBusterPlatformOurterminologyforanOS/windowsysteme.
g.
Android,Windows,Wayland,X11viaXCBPresentationEngineTheplatform'scompositorordisplayengineApplicationYourapporgameengineCopyrightKhronosGroup2016-Page195HowmanyWSIextensionsarethereTwocross-platforminstanceextensions-VK_KHR_surface-VK_KHR_displaySix(platform)instanceextensions-VK_KHR_android_surface-VK_KHR_mir_surface-VK_KHR_wayland_surface-VK_KHR_win32_surface-VK_KHR_xcb_surface-VK_KHR_xlib_surfaceTwocross-platformdeviceextensions-VK_KHR_swapchain-VK_KHR_display_swapchainCopyrightKhronosGroup2016-Page196VulkanSurfacesVkSurfaceKHR-Vulkan'swaytoencapsulateanativewindow/surfacePlatform-independentsurfacequeries-Findoutcrucialinformationaboutyoursurface'sproperties-Suchasformat,transform,imageusage-SomeplatformsprovideadditionalqueriesPresentationsupportisperqueuefamily-Animplementationmaysupportmultipleplatformse.
g.
bothxlibandxcb-OrmaynotsupportpresentationatallPhysicalDeviceAPlatformXQueueFamily2QueueFamily1QueueFamily0PlatformYPhysicalDeviceBQueueFamily1QueueFamily0PhysicalDeviceCQueueFamily1QueueFamily0UnlikeanEGLSurface,creatingaVulkanSurfacedoesn'tmeanyou'vegotyourrendertargetscreated…yetCopyrightKhronosGroup2016-Page197VulkanSwapchains:VK_KHR_swapchainArrayofpresentableimagesassociatedwithasurface-Applicationrequestsaminimumnumberofpresentableimages-Implementationcreatesatleastthatnumber-ImplementationmayhavealimitUpfrontallocationofpresentableimages-Noallocationhitchingatcrucialmoment-Pre-recordfixedcontentcommandbuffersPresentmodedeterminesbehavior-FIFOsupportmandatory-Platformscanoffermailbox,immediate,FIFOrelaxedconstVkSwapchainCreateInfoKHRcreateInfo={VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR,//sTypeNULL,//pNext0,//flagsmySurface,//surfacedesiredNumberOfPresentableImages,//minImageCountsurfaceFormat,//imageFormatsurfaceColorSpace,//imageColorSpacemyExtent,//imageExtent1,//imageArrayLayersVK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT,//imageUsageVK_SHARING_MODE_EXCLUSIVE,//imageSharingMode0,//queueFamilyIndexCountNULL,//pQueueFamilyIndicessurfaceProperties.
currentTransform,//preTransformVK_COMPOSITE_ALPHA_INHERIT_BIT_KHR,//compositeAlphaswapchainPresentMode,//presentModeVK_TRUE,//clippedVK_NULL_HANDLE//oldSwapchain};FIFOislikeeglSwapInterval=1Mailbox/ImmediateislikeeglSwapInterval0FIFOrelaxedislikeEXT_swap_control_tearCopyrightKhronosGroup2016-Page198SimilarbutneaterthanhowEGL_KHR_partial_update/EGL_EXT_buffer_ageandpreservedbehaviorachievesthisVulkanSwapchains:They'regood!
Applicationknowswhichimagewithinaswapchainitispresenting-ContentofimagepreservedbetweenpresentsApplicationisresponsibleforexplicitlyrecreatingswapchains-nosurprises-Platforminformsappifcurrentswapchain-Suboptimal:e.
g.
afterwindowresize,swapchainstillusableforpresentviaimagescaling-SurfaceLost:swapchainnolongerusableforpresent-ApplicationisresponsibletocreateanewswapchainInEGL,theEGLSurfacemayberesizedbytheplatformafteraneglSwapBufferscall.
VulkanrequirestheapplicationtointerveneCopyrightKhronosGroup2016-Page199VulkanSwapchains:They'rejollygood!
Presentingandacquiringareseparateoperations-Noneedtosubmitanewimagetoacquireanotherone,unlesspresentationenginecannotreleaseitApplicationmustonlymodifypresentableimagesithasacquiredPresentationenginemustonlydisplaypresentableimagesthathavebeenpresented!
Stallsinframeloopareverybad!
InEGL,callingeglSwapBuffersbothpresentsthecurrentbackbufferandacquiresanewoneVulkansplitsthisupintoseparateoperationsCopyrightKhronosGroup2016-Page200VK_KHR__surfaceVK_KHR_surfaceVK_KHR_swapchainPlatform-specificAPIsStepstosetupyourpresentableimages1–Createanativewindow/surface2–CreateaVulkansurface3–Queryinformationaboutyoursurface4–CreateaVulkanswapchain5–GetyourpresentableimagesCopyrightKhronosGroup2016-Page201VK_KHR_swapchainVulkanFrameLoop–aseasyas1-2-3!
2–Submitcommandbuffer(s)forthatimage1–Acquirethenextpresentableimage3–Presenttheimage0–CreateyourswapchainLegendSetupSteady-stateResponsetosuboptimal/surface_lostCopyrightKhronosGroup2016-Page202VulkanDisplays:VK_KHR_displayVulkan'swaytodiscoverdisplaydevices(screens,panels)outsideawindowsystem-Reminder:NotsupportedonallplatformsDefinesVkDisplayKHRandVkDisplayModeKHRobjects-RepresentthedisplaydevicesandthemodestheysupportconnectedtoaVkPhysicalDevice-DetermineifadisplaysupportsmultipleplanesthatareblendedtogetherEnablescreationofaVkSurfaceKHRtorepresentadisplayplanePhysicalDeviceSurfaceDisplay0Plane2Plane1Plane0DisplayMode1DisplayMode0Display1DisplayMode1DisplayMode0AVulkandisplayrepresentsanactualdisplay!
(WhereasanEGLDisplayisactuallyjustaconnectiontoadriver–likeaVulkanDevice)CopyrightKhronosGroup2016-Page203VK_KHR_display_swapchainExtendstheinformationprovidedatvkQueuePresentKHR-Whatregiontopresentfromtheswapchainimage-Whatregiontopresenttoonthedisplay-WhetherthedisplayshouldpersisttheimageAddsabilitytocreateasharedswapchain-SwapchainthattakesmultipleVkSwapchainCreateInfoKHRstructs-Allowsmultipledisplaystobepresentedtosimultaneously-Noguaranteethatpresentsareatomic.
.
.
presently!
CopyrightKhronosGroup2016-Page204Anyquestionalon.
orbach@samsung.
com@alonorbach
青云互联怎么样?青云互联是一家成立于2020年6月份的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、香港服务器、美国云服务器,让您的网站高速、稳定运行。目前,美国洛杉矶cn2弹性云限时七折,美国cera机房三网CN2gia回程 13.3元/月起,可选Windows/可自定义配置。点击进入:青云互联官网青云互联优惠码:七折优惠码:dVRKp2tP (续...
PIGYun发布了九月份及中秋节特惠活动,提供8折优惠码,本月商家主推中国香港和韩国机房,优惠后最低韩国每月14元/中国香港每月19元起。这是一家成立于2019年的国人商家,提供中国香港、韩国和美国等地区机房VPS主机,基于KVM架构,采用SSD硬盘,CN2+BGP线路(美国为CUVIP-AS9929、GIA等)。下面列出两款主机配置信息。机房:中国香港CPU:1core内存:1GB硬盘:10GB...
ucloud云服务器怎么样?ucloud为了扩大云服务器市场份额,给出了超低价云服务器的促销活动,活动仍然是此前的Ucloud全球大促活动页面。目前,ucloud国内云服务器2元/月起;香港云服务器4元/首月;台湾云服务器3元/首月。相当于2-4元就可以试用国内、中国香港、中国台湾这三个地域的云服务器1个月了。ucloud全球大促仅限新用户,国内云服务器个人用户低至56元/年起,香港云服务器也仅8...
swap为你推荐
麒麟820和980哪个好4415y处理器和麒麟980哪个好?集成显卡和独立显卡哪个好集成显卡和独立显卡的区别?哪个更好?电脑管家和360哪个好电脑安装360好,还是电脑管家好?迈腾和帕萨特哪个好新帕萨特怎么样 迈腾和帕萨特哪个好炒股软件哪个好网上买卖股票软件哪个好用尼康和佳能单反哪个好佳能和尼康单反哪个好?手机炒股软件哪个好手机炒股软件qq空间登录qq空间如何登陆yy空间登录怎么登陆YY空间yy空间登录玩空间游戏怎样1直是正在登录中
北京服务器租用 大庆服务器租用 vps安全设置 免费申请域名和空间 smartvps lamp安装 域名商 securitycenter fastdomain godaddy支付宝 香港新世界电讯 免费ftp站点 卡巴斯基永久免费版 双拼域名 赞助 徐正曦 秒杀汇 卡巴斯基试用版 中国电信测速网站 云服务器比较 更多