De grafische standaard Vulkan 1.4 is gepubliceerd

Na bijna drie jaar werken heeft het Khronos-consortium, dat zich bezighoudt met de ontwikkeling van grafische standaarden, de specificatie Vulkan 1.4 gepubliceerd, die de API definieert voor toegang tot de grafische en rekenmogelijkheden van de GPU. De nieuwe specificatie omvat een uitgebreide set van eerder optionele extensies en biedt een reeks nieuwe mogelijkheden terwijl de minimale hardwarevereisten zijn verhoogd. De Vulkan SDK-toolkit wordt in januari 2025 gepubliceerd.

Producten die Vulkan 1.4 ondersteunen worden voorbereid door de bedrijven AMD, Arm, Imagination, Intel, NVIDIA, Qualcomm en Samsung. De open source-drivers voor AMD GPU's (radv), Apple M1/M2 (honeykrisp), Intel (anv), NVIDIA (nvk) en Qualcomm (tu), ontwikkeld door het Mesa-project, hebben alle compatibiliteitstests met Vulkan 1.4 uit de CTS (Khronos Conformance Test Suite) doorstaan en zijn opgenomen in de lijst van gecertificeerde drivers. Ook de drivers van Samsung en Qualcomm voor het Android-platform en de drivers voor de PowerVR D-Series DXT*-GPU van Imagination Technologies, evenals de proprietaire NVIDIA-drivers zijn opgenomen.

Belangrijkste vernieuwingen:

  • Ondersteuning voor de ā€˜Streaming Transfers’-mechanisme is toegevoegd, bedoeld voor het mogelijk maken van de streaming van grote datavolumes tussen het hoofdsysteem (host) en het grafische apparaat, zonder de rendering te onderbreken of de prestaties te vertragen. Het mechanisme is geĆÆmplementeerd via de nieuwe extensie VK_EXT_host_image_copy, waarvan de ondersteuning optioneel is.
  • De mogelijkheden gericht op prestatieverbetering zijn verplicht gesteld:
    • Push Descriptors — de mogelijkheid om updates van descriptors rechtstreeks in de command buffer te schrijven, in plaats van afzonderlijke descriptor sets te creĆ«ren en deze aan de command buffer te verbinden.
    • VK_KHR_dynamic_rendering_local_read — maakt het mogelijk om te lezen uit geneste buffers (attachments) en bronnen die door eerdere fragment shaders zijn geschreven, binnen dynamische rendering passes.
    • VK_EXT_scalar_block_layout — maakt het mogelijk om een C-achtige structuur te gebruiken voor SPIR-V blocks, waarin niet-schaalbare types kunnen worden uitgelijnd op basis van de grootte van hun componenten.
  • De extensies VK_KHR_maintenance5 en VK_KHR_maintenance6 zijn opgenomen, die hulpprogramma-commando's en structuren bieden voor een vereenvoudigd beheer van middelen en shaders.
  • Garantie voor ondersteuning van 8K rendering (7680 x 4320 pixels) met gebruik van maximaal 8 onafhankelijke renderbuffers.
  • Inbegrepen extensies:
    • VK_KHR_global_priority
    • VK_KHR_index_type_uint8
    • VK_KHR_line_rasterization
    • VK_KHR_load_store_op_none
    • VK_KHR_map_memory2
    • VK_KHR_push_descriptor
    • VK_KHR_shader_expect_assume
    • VK_KHR_shader_float_controls2
    • VK_KHR_shader_subgroup_rotate
    • VK_KHR_vertex_attribute_divisor
    • VK_EXT_pipeline_protected_access
    • VK_EXT_pipeline_robustness
  • Veel mogelijkheden die eerder optioneel waren, zijn nu verplicht gesteld.
  • Een grote hoeveelheid nieuwe commando's en structuren is toegevoegd.

De Vulkan API is opmerkelijk door de radicale vereenvoudiging van drivers, het verplaatsen van GPU-opdraakgeneratie naar de applicatiekant, de mogelijkheid om debug-lagen aan te sluiten, de unificatie van de API voor verschillende platforms en het gebruik van vooraf gecompileerde tussentijdse code-representaties voor uitvoering aan de GPU-zijde.

Om hoge prestaties en voorspelbaarheid te waarborgen, biedt Vulkan applicaties middelen voor directe controle over GPU-operaties en ingebouwde ondersteuning voor multithreading in GPU-commando's, wat de overhead minimaliseert die door de driver wordt veroorzaakt, terwijl de door de driver gerealiseerde functies aanzienlijk worden vereenvoudigd en voorspelbaarder worden. Bijvoorbeeld, operaties zoals geheugbeheer en foutafhandeling die in OpenGL aan de driverzijde worden uitgevoerd, worden in Vulkan naar het applicatieniveau verplaatst.

Vulkan dekt alle beschikbare platforms en biedt een enkele API voor desktop- en mobiele systemen en het web, waardoor een gemeenschappelijke API voor verschillende GPU's en toepassingsgebieden kan worden gebruikt. Dankzij de gelaagde architectuur van Vulkan, die de creatie van tools mogelijk maakt die met elke GPU werken, kunnen hardwarefabrikanten standaardtools gebruiken voor codecontrole, debugging en profilering tijdens de ontwikkeling.

Voor het maken van shaders wordt een draagbare tussentijdse representatie SPIR-V voorgesteld, gebaseerd op LLVM en gebruikmakend van dezelfde basis technologieĆ«n als OpenCL. Met Vulkan kan ook de HLSL-shader taal, die in DirectX wordt gebruikt, worden toegepast door het naar SPIR-V te vertalen. Voor het beheren van apparaten en schermen in Vulkan wordt een WSI (Window System Integration) interface aangeboden, die ongeveer dezelfde taken vervult als EGL in OpenGL ES. WSI-ondersteuning is standaard beschikbaar in Wayland — alle toepassingen die Vulkan gebruiken kunnen worden uitgevoerd in een omgeving zonder modificaties. servers Wayland. De mogelijkheid om via WSI te werken is ook beschikbaar voor Android, X11 (met DRI3), Windows, Tizen, macOS en iOS.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster