Projeya Wine serbestberdana pakêta vkd3d 1.11 bi pêkanîna Direct3D 12-ê ku bi weşana bangên API-ya grafîkî ya Vulkan re dixebite, weşand. Di pakêtê de pirtûkxaneyên libvkd3d bi pêkanînên Direct3D 12, libvkd3d-shader bi wergêrê modelên shader 4 û 5 û libvkd3d-utils bi fonksiyonên ji bo hêsankirina barkirina serîlêdanên Direct3D 12, û her weha komek nimûneyên demo, tevî portek vedihewîne. ji glxgears ji bo Direct3D 12. Koda projeyê bi lîsansa LGPLv2.1 tê belavkirin.
Pirtûkxaneya libvkd3d piranîya taybetmendiyên Direct3D 12 piştgirî dike, di nav de grafîk û tesîsên hesabkirinê, rêz û navnîşên fermanan, destan û destikên giravê, îmzeyên root, gihîştina ji rêzê, Samplers, îmzeyên fermanê, berdewamên root, vegotina neyekser, Rêbazên paqij *( ) û Kopî*(). Di libvkd3d-shader de, wergerandina bytecode ya modelên shader 4 û 5 di nav nûnerek navîn a SPIR-V de tête bicîh kirin. Piştgiriya vertex, pixel, tessellation, hejmartin û geometrîya sade, serialîzasyona nîşana root û deserialîzasyonê piştgirî dike. Talîmatên Shader operasyonên jimareyî, atomî û bit, berawirdkirin û operatorên kontrolkirina herikîna daneyê, talîmatên nimûne, berhevkirin û barkirin, operasyonên gihîştina nerêkûpêk (UAV, Nêrîna Gihîştina Nemir) vedihewîne.
Di guhertoya nû de:
- Piştgiriya destpêkê ji bo berhevkirina bytecode Direct3D-ya mîras di nav nûnerek navîn a şaderên SPIR-V de zêde kir.
- Piştgiriya destpêkê ji bo berhevkirina profîlên bandora Direct3D ("fx_2_0", "fx_4_0", "fx_4_1" û "fx_5_0") li berhevkara HLSL zêde kir.
- Piştgiriya ceribandinê ji bo berhevkirina DXIL (Zimanê Navbirî yê DirectX) li nûnertiya SPIR-V û rêwerzên komkirina şaderê Direct3D zêde kir.
- HLSL ji bo profîlên "fx_2_0", "fx_4_0", "fx_4_1" û "fx_5_0" piştgirî zêde kiriye, fonksiyonên çêkirî yên acos (), asin (), atan () û atan2 (), û piştgirî ji bo "Buffer" peyda kiriye. "çavkaniyên.
- Optimîzasyonek ku bi asynkronî destan nûve dike lê zêde kir, ku dikare bibe sedema serîlêdanên zûtir ên ku di her çarçovê de hejmareke mezin destan nûve dikin.
- Bikaranîna pêvekên Vulkan VK_EXT_mutable_descriptor_type û VK_EXT_shader_viewport_index_layer ji bo baştirkirina karbidestiya xebata bi hewza ravekerê re û lezkirina danasîna rêzikên şader vertex û tessellation tê peyda kirin.
- Piştgiriyek ji bo navberên bernameya ID3D12Device7 û ID3D12Resource2 zêde kir. Rêbaza GetResourceAllocationInfo3() li navrûya ID12D4Device1 hate zêdekirin.
- Piştgiriyek ji bo navberên D3DReflect () û D3DDisassemble () zêde kir.
- Daxwazên ceribandinê yên bi cih anîn D3D12_FEATURE_D3D12_OPTIONS6 D3D12_FEATURE_D3D12_OPTIONS7, D3D12_FEATURE_D3D12_OPTIONS8, D3D12_FEATURE_D3D12_OPTIONS9_OPTIONS3_12RED3 D12_OPTIONS10, D3D12_FEATURE_D3D12_OPTIONS11, D3D12_FEATURE_D3D12_OPTIONS12.
- Vebijarkên kombûnê yên nû lê zêde kirin: VKD3D_SHADER_COMPILE_OPTION_FEATURE, VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64, VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64, VKD3D_SHADER_COMPILE_INT1, VKD10D_SHADER_COMPILE_OPTION_FEATURE_FLOAT3, VKDXNUMXD_SHADER_SHADER_TE_PI_XNUMX NS ION_EXT_VIEWPORT_INDEX_LAYER.
- Fonksiyonên D3D12CreateDeviceVKD3D() û D3D12CreateDevice() pêvekên Vulkan bikar tînin VK_KHR_android_surface, VK_KHR_wayland_surface, VK_KHR_win32_surface, VK_KHR_xlib_surface_metiossurface, VK_KHR_xlib_surface_Metiossurface.
Source: opennet.ru
