{"id":55263,"date":"2020-01-16T00:00:00","date_gmt":"2020-01-15T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/opublikovan-graficheskij-standart-vulkan-1-2"},"modified":"2020-02-18T14:03:22","modified_gmt":"2020-02-18T11:03:22","slug":"opublikovan-graficheskij-standart-vulkan-1-2","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/opublikovan-graficheskij-standart-vulkan-1-2","title":{"rendered":"Opublikowano graficzny standard Vulkan 1.2","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Konsorcjum Khronos, zajmuj\u0105ce si\u0119 opracowaniem standard\u00f3w graficznych,<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/news\/press\/khronos-group-releases-vulkan-1.2\">opublikowa\u0142<\/a><\/noindex> specyfikacj\u0119 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/vulkan\/\">Vulkan 1.2<\/a><\/noindex>, definiuj\u0105cy API do uzyskiwania dost\u0119pu do mo\u017cliwo\u015bci graficznych i obliczeniowych GPU. Nowa specyfikacja uwzgl\u0119dnia poprawki zebrane przez dwa lata i  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/registry\/vulkan\/#apispecs\">dla JavaScript, takie jak typy BigInt i BigFloat, a tak\u017ce<\/a><\/noindex>. Sterowniki obs\u0142uguj\u0105ce now\u0105 wersj\u0119 Vulkan s\u0105 ju\u017c <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/issues\/1162\">wydali<\/a><\/noindex> firmy Intel, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amd.com\/en\/support\/kb\/release-notes\/rn-rad-win-20-1-2\">AMD<\/a><\/noindex>, ARM, Imagination Technologies i <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.nvidia.com\/vulkan-driver\">NVIDIA<\/a><\/noindex>. W Mesa wsparcie dla Vulkan 1.2 zosta\u0142o zaoferowane w sterownikach <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.freedesktop.org\/mesa\/mesa\/merge_requests\/3410\">RADV<\/a><\/noindex> (karty AMD) oraz <noindex><a rel=\"nofollow\" href=\"https:\/\/gitlab.freedesktop.org\/mesa\/mesa\/merge_requests\/3409\">ANV<\/a><\/noindex> (Intel). Wsparcie dla Vulkan 1.2 zosta\u0142o r\u00f3wnie\u017c wdro\u017cone w debugerze <noindex><a rel=\"nofollow\" href=\"https:\/\/renderdoc.org\/\">RenderDoc 1.6<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.lunarg.com\/vulkan-sdk\/\">LunarG Vulkan SDK<\/a><\/noindex> i zestawie przyk\u0142ad\u00f3w <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Samples\">Vulkan-Samples<\/a><\/noindex>.<\/p>\n<p>Podstawowe <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/assets\/uploads\/apis\/Vulkan-1-2-Launch_Jan20.pdf\">nowo\u015bci<\/a><\/noindex>:<\/p>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/blog\/hlsl-first-class-vulkan-shading-language\">Zrealizowano<\/a><\/noindex> w pe\u0142ni gotow\u0105 do powszechnego u\u017cytku implementacj\u0119 j\u0119zyka programowania shader\u00f3w <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/HLSL\">HLSL<\/a><\/noindex>, opracowanego przez firm\u0119 Microsoft dla DirectX. Wsparcie HLSL w Vulkan pozwala na u\u017cycie tych samych shader\u00f3w HLSL w aplikacjach opartych na Vulkan i DirectX, a tak\u017ce upraszcza translacj\u0119 z HLSL do SPIR-V. Do kompilacji shader\u00f3w zaleca si\u0119 u\u017cycie wbudowanego kompilatora<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Microsoft\/DirectXShaderCompiler\">DXC<\/a><\/noindex>, kt\u00f3ry zosta\u0142 udost\u0119pniony przez firm\u0119 Microsoft w 2017 roku i bazuje na technologii LLVM. Wsparcie dla Vulkan zosta\u0142o zrealizowane przez oddzielny backend, pozwalaj\u0105cy na translacj\u0119 HLSL do po\u015bredniej reprezentacji shader\u00f3w SPIR-V. Implementacja obejmuje nie tylko wszystkie wbudowane mo\u017cliwo\u015bci<br \/>\nHLSL, w tym typy matematyczne, strumienie steruj\u0105ce, funkcje, zbiory, typy zasob\u00f3w, przestrzenie nazw, Shader Model 6.2, struktury i metody, a tak\u017ce pozwala na u\u017cycie specyficznych dla Vulkan rozszerze\u0144, takich jak VKRay od NVIDIA. W trybie HLSL nad Vulkanem uda\u0142o si\u0119 zorganizowa\u0107 prac\u0119 takich gier jak Destiny 2, Red Dead Redemption II, Assassin\u2019s Creed Odyssey i Tomb Raider.<\/p>\n<p><center><noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/assets\/uploads\/blogs\/2020-blog-microsoft-dxc-compiler-supports-vulkan-dx12-code-gen_1.jpg\"><img decoding=\"async\" alt=\"Opublikowano graficzny standard Vulkan 1.2\" src=\"\/wp-content\/uploads\/2020\/01\/e6da0b0397b1320c69fe55770a441fc2.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/center><\/p>\n<li class=\"l\"> Zaktualizowano specyfikacj\u0119 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/registry\/spir-v\/\">SPIR-V 1.5<\/a><\/noindex>, definiuj\u0105c\u0105 uniwersaln\u0105 dla wszystkich platform po\u015bredni\u0105 reprezentacj\u0119 shader\u00f3w, kt\u00f3ra mo\u017ce by\u0107 stosowana zar\u00f3wno do grafiki, jak i oblicze\u0144 r\u00f3wnoleg\u0142ych.<br \/>\nSPIR-V zak\u0142ada wydzielenie oddzielnej fazy kompilacji shader\u00f3w do po\u015bredniej reprezentacji, co pozwala na tworzenie frontend\u00f3w dla r\u00f3\u017cnych j\u0119zyk\u00f3w wysokiego poziomu. Na podstawie r\u00f3\u017cnych wysokopoziomowych realizacji generowany jest jednolity po\u015bredni kod, kt\u00f3ry mo\u017ce by\u0107 u\u017cywany przez sterowniki OpenGL, Vulkan i OpenCL bez potrzeby stosowania wbudowanego kompilatora shader\u00f3w. <\/p>\n<p><center><img decoding=\"async\" alt=\"Opublikowano graficzny standard Vulkan 1.2\" src=\"\/wp-content\/uploads\/2020\/01\/48f8f20b43967bc39fd097bb893ec328.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<li class=\"l\"> W g\u0142\u00f3wnym API Vulkan zintegrowano 23 rozszerzenia, kt\u00f3re zwi\u0119kszy\u0142y wydajno\u015b\u0107, podnios\u0142y jako\u015b\u0107 wizualizacji i upro\u015bci\u0142y rozw\u00f3j. W\u015br\u00f3d dodanych rozszerze\u0144:\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/blog\/vulkan-timeline-semaphores\">Semafory chronologiczne<\/a><\/noindex> (Timeline semaphore), ujednolicaj\u0105ce synchronizacje z hostem i kolejkami urz\u0105dze\u0144 (pozwalaj\u0105 na u\u017cycie jednego prymitywu do wielokierunkowej synchronizacji mi\u0119dzy urz\u0105dzeniem a hostem, bez potrzeby stosowania oddzielnych prymityw\u00f3w VkFence i VkSemaphore). Nowe semafory s\u0105 przedstawione jako monotonicznie rosn\u0105ca 64-bitowa warto\u015b\u0107, kt\u00f3r\u0105 mo\u017cna \u015bledzi\u0107 i aktualizowa\u0107 w kilku w\u0105tkach.<br \/>\n<center><img decoding=\"async\" alt=\"Opublikowano graficzny standard Vulkan 1.2\" src=\"\/wp-content\/uploads\/2020\/01\/83a1ccf089034dbe720225c88bd3cb79.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center><\/p>\n<li class=\"l\"> Mo\u017cliwo\u015b\u0107 u\u017cycia w shaderach typ\u00f3w numerycznych o obni\u017conej precyzji;\n<li class=\"l\"> Zgodna z HLSL wersja rozmieszczenia pami\u0119ci;\n<li class=\"l\"> Niepowi\u0105zane zasoby (bindless), znosz\u0105ce ograniczenie liczby dost\u0119pnych dla shader\u00f3w zasob\u00f3w dzi\u0119ki wykorzystaniu wsp\u00f3lnej przestrzeni wirtualnej pami\u0119ci systemowej i pami\u0119ci GPU;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/blog\/vulkan-has-just-become-the-worlds-first-graphics-api-with-a-formal-memory-model.-so-what-is-a-memory-model-and-why-should-i-care\">Formalny model pami\u0119ci<\/a><\/noindex>, definiuj\u0105cy, jak r\u00f3wnolegle wykonywane w\u0105tki mog\u0105 uzyskiwa\u0107 dost\u0119p do wsp\u00f3\u0142dzielonych danych i operacji synchronizacji;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=tXipcoeuNh4\">Indeksowanie deskryptor\u00f3w<\/a><\/noindex> w celu ponownego wykorzystania deskryptor\u00f3w rozmieszczenia w kilku shaderach;\n<li class=\"l\"> Odniesienia do bufor\u00f3w.\n<\/ul>\n<p> Pe\u0142na lista dodanych rozszerze\u0144:<\/p>\n<ul>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_8bit_storage.txt\">VK_KHR_8bit_storage<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_buffer_device_address.txt\">VK_KHR_buffer_device_address<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_create_renderpass2.txt\">VK_KHR_create_renderpass2<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_depth_stencil_resolve.txt\">VK_KHR_depth_stencil_resolve<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_draw_indirect_count.txt\">VK_KHR_draw_indirect_count<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_driver_properties.txt\">VK_KHR_driver_properties<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_image_format_list.txt\">VK_KHR_image_format_list<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_imageless_framebuffer.txt\">VK_KHR_imageless_framebuffer<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_sampler_mirror_clamp_to_edge.txt\">VK_KHR_sampler_mirror_clamp_to_edge<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_separate_depth_stencil_layouts.txt\">VK_KHR_separate_depth_stencil_layouts<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_shader_atomic_int64.txt\">VK_KHR_shader_atomic_int64<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_shader_float16_int8.txt\">VK_KHR_shader_float16_int8<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_shader_float_controls.txt\">VK_KHR_shader_float_controls<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_shader_subgroup_extended_types.txt\">VK_KHR_shader_subgroup_extended_types<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_spirv_1_4.txt\">VK_KHR_spirv_1_4<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_timeline_semaphore.txt\">VK_KHR_timeline_semaphore<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_uniform_buffer_standard_layout.txt\">VK_KHR_uniform_buffer_standard_layout<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_KHR_vulkan_memory_model.txt\">VK_KHR_vulkan_memory_model<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_EXT_descriptor_indexing.txt\">VK_EXT_descriptor_indexing<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_EXT_host_query_reset.txt\">VK_EXT_host_query_reset<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_EXT_sampler_filter_minmax.txt\">VK_EXT_sampler_filter_minmax<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_EXT_scalar_block_layout.txt\">VK_EXT_scalar_block_layout<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_EXT_separate_stencil_usage.txt\">VK_EXT_separate_stencil_usage<\/a><\/noindex>\n<li> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/Vulkan-Docs\/blob\/master\/appendices\/VK_EXT_shader_viewport_index_layer.txt\">VK_EXT_shader_viewport_index_layer<\/a><\/noindex>\n<\/ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/www.khronos.org\/registry\/vulkan\/specs\/1.2\/html\/vkspec.html#versions-1.2\">Dodano<\/a><\/noindex> ponad 50 nowych struktur i 13 funkcji;\n<li class=\"l\"> Przygotowano skr\u00f3cone wersje specyfikacji dla typowych platform docelowych, upraszczaj\u0105ce prac\u0119 na platformach, dla kt\u00f3rych na razie nie s\u0105 wspierane wszystkie rozszerzenia, i umo\u017cliwiaj\u0105ce omini\u0119cie selektywnej aktywacji podstawowych funkcji API Vulkan.\n<li class=\"l\"> Kontynuowano prace nad projektem zapewniaj\u0105cym przeno\u015bno\u015b\u0107 z innymi API graficznymi. Na przyk\u0142ad w Vulkanie zaproponowano rozszerzenia, kt\u00f3re umo\u017cliwiaj\u0105 translacj\u0119 OpenGL (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=49538\">Zink<\/a><\/noindex>), OpenCL (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/google\/clspv\">clspv<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/kpet\/clvk\">clvk<\/a><\/noindex>), OpenGL ES (GLOVE, Angle) oraz DirectX (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52042\">DXVK<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=48648\">vkd3d<\/a><\/noindex>) przez API Vulkan, a tak\u017ce odwrotnie, aby zapewni\u0107 dzia\u0142anie Vulkan na platformach bez native wsparcia (<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/gfx-rs\/gfx\">gfx-rs<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/DragonJoker\/Ashes\">Ashes<\/a><\/noindex> do dzia\u0142ania na OpenGL i DirectX, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/KhronosGroup\/MoltenVK\">MoltenVK<\/a><\/noindex> i gfx-rs do dzia\u0142ania na Metal).<br \/>\nW celu poprawy zgodno\u015bci z DirectX i HLSL dodano rozszerzenia<br \/>\nVK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layou, VK_KHR_separate_stencil_usage, VK_KHR_separate_depth_stencil_layouts, a tak\u017ce w SPIR-V zrealizowano specyficzne mo\u017cliwo\u015bci HLSL.<\/p>\n<\/ul>\n<p>W planach na przysz\u0142o\u015b\u0107 wyr\u00f3\u017cnia si\u0119 rozw\u00f3j rozszerze\u0144 dla uczenia maszynowego, ray tracingu, kodowania i dekodowania wideo, wsparcia VRS (variable-rate shading) oraz shader\u00f3w Mesh.<\/p>\n<p>Przypomnijmy, \u017ce API Vulkan <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=43887\">wyr\u00f3\u017cnia si\u0119<\/a><\/noindex> znacz\u0105co upraszcza sterowniki, przenosz\u0105c generacj\u0119 komend GPU na stron\u0119 aplikacji, umo\u017cliwiaj\u0105c dodawanie warstw debugowania, ujednolicaj\u0105c API dla r\u00f3\u017cnych platform oraz stosuj\u0105c skompilowan\u0105 wersj\u0119 po\u015bredni\u0105 kodu do wykonania na stronie GPU. Aby zapewni\u0107 wysok\u0105 wydajno\u015b\u0107 i przewidywalno\u015b\u0107, Vulkan dostarcza aplikacjom narz\u0119dzia do bezpo\u015bredniego zarz\u0105dzania operacjami GPU oraz wbudowane wsparcie dla wielow\u0105tkowego przetwarzania komend GPU, co minimalizuje wydatki zwi\u0105zane z dzia\u0142aniem sterownika, a funkcjonalno\u015bci realizowane po stronie sterownika znacznie uproszczaj\u0105 si\u0119 i staj\u0105 bardziej przewidywalne. Na przyk\u0142ad, takie operacje jak zarz\u0105dzanie pami\u0119ci\u0105 i obs\u0142uga b\u0142\u0119d\u00f3w, realizowane w OpenGL po stronie sterownika, w Vulkanie zosta\u0142y przeniesione na poziom aplikacji.<\/p>\n<p>Vulkan obejmuje wszystkie dost\u0119pne platformy i zapewnia jednolite API dla system\u00f3w stacjonarnych, mobilnych i Web, co pozwala na korzystanie z jednego wsp\u00f3lnego API dla r\u00f3\u017cnych procesor\u00f3w graficznych i obszar\u00f3w zastosowa\u0144. Dzi\u0119ki wielowarstwowej architekturze Vulkana, umo\u017cliwiaj\u0105cej tworzenie narz\u0119dzi dzia\u0142aj\u0105cych z r\u00f3\u017cnymi GPU, producenci sprz\u0119tu mog\u0105 stosowa\u0107 przy tworzeniu standardowe narz\u0119dzia do testowania kodu, debugowania i profilowania. Do tworzenia shader\u00f3w proponowane jest nowe przeno\u015bne po\u015brednie przedstawienie SPIR-V, oparte na LLVM i wykorzystuj\u0105ce podstawowe technologie wsp\u00f3lne z OpenCL. Do zarz\u0105dzania urz\u0105dzeniami i ekranami w Vulkanie proponowany jest interfejs WSI (Window System Integration), wykonuj\u0105cy zbli\u017cone zadania do EGL w OpenGL ES. Wsparcie dla WSI \u201eprosto z pude\u0142ka\u201d jest dost\u0119pne w Wayland \u2014 wszystkie aplikacje korzystaj\u0105ce z Vulkana mog\u0105 by\u0107 uruchamiane w \u015brodowisku niemodyfikowanych serwer\u00f3w Wayland. Mo\u017cliwo\u015b\u0107 pracy przez WSI zapewniona jest r\u00f3wnie\u017c dla Androida, X11 (z DRI3), Windows, Tizen, macOS i iOS.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>\u0179r\u00f3d\u0142o: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52194\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043d\u0441\u043e\u0440\u0446\u0438\u0443\u043c Khronos, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e Vulkan 1.2, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0449\u0443\u044e API \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c GPU. \u041d\u043e\u0432\u0430\u044f \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432\u043e\u0431\u0440\u0430\u043b\u0430 \u0432 \u0441\u0435\u0431\u044f \u043d\u0430\u043a\u043e\u043f\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0437\u0430 \u0434\u0432\u0430 \u0433\u043e\u0434\u0430 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u0414\u0440\u0430\u0439\u0432\u0435\u0440\u044b \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043d\u043e\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 Vulkan \u0443\u0436\u0435 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Intel, AMD, ARM, Imagination Technologies \u0438 NVIDIA. \u0412 Mesa \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Vulkan 1.2 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0430 \u0434\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55263","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043d\u0441\u043e\u0440\u0446\u0438\u0443\u043c Khronos, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/opublikovan-graficheskij-standart-vulkan-1-2\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 Vulkan 1.2 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043d\u0441\u043e\u0440\u0446\u0438\u0443\u043c Khronos, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/opublikovan-graficheskij-standart-vulkan-1-2\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-15T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Opublikowany standard graficzny Vulkan 1.2 | ProHoster","description":"Konsorcjum Khronos, zajmuj\u0105ce si\u0119 rozwojem standard\u00f3w graficznych, opublikowa\u0142o specyfikacj\u0119.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/opublikovan-graficheskij-standart-vulkan-1-2","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442 Vulkan 1.2 | ProHoster","og:description":"\u041a\u043e\u043d\u0441\u043e\u0440\u0446\u0438\u0443\u043c Khronos, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0438\u0439\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043e\u0432, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/opublikovan-graficheskij-standart-vulkan-1-2","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-15T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55263","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:47:37","updated":"2022-10-02 21:51:59","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/55263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=55263"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/55263\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=55263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=55263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=55263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}