Wine նախագիծը հրապարակում է Vkd3d 1.13՝ Direct3D 12-ի իրականացմամբ

Wine նախագիծը հրապարակել է vkd3d 1.13 փաթեթի թողարկումը, որը ներառում է Direct3D 12-ի իրականացում, որն աշխատանքներ է կատարում Vulkan գրաոֆիկական API-ի միջոցով զանգերի փոխարկման։ Փաթեթի մեջ մտնում են libvkd3d գրադարանը Direct3D 12-ի իրականացմամբ, libvkd3d-shader 4 և 5 մոդելների շեյդերների փոխարկիչը և libvkd3d-utils ծրագիրը, որն օգտագործվում է Direct3D 12 ծրագրերի փոխադրումը հեշտացնելու համար, ինչպես նաև մի շարք պարունակող ցուցադրման օրինակներ, այդ թվում՝ glxgears ծրագրի փոխանցումը Direct3D 12։ Նախագծի կոդը տարածվում է LGPLv2.1 լիցենզիայով։

libvkd3d գրադարանը աջակցում է Direct3D 12-ի մեծ մասը հնարավորություններին, այդ թվում՝ գրաֆիկայի և համակարգչային պարագաներին, հերթերին և հրամանների ցուցակներին, նկարագրիչներին և կույտի նկարագրիչներին, արմատային ստորագրություններին, չկազմակերպված մուտքերին, Sampler-ներին, հրամանների ստորագրություններին, արմատային մշտական ջերմաստիճաններին, անուղղակի (indirect) նկարահանումներին, Clear*() և Copy*() մեթոդներին։ libvkd3d-shader-ում իրականացվում է շեյդեր մոդելների բայքներ SPIR-V միջիկան ներկայացնելու միջոցով։ Հասանելի են կետային, մերկ, տեսանյութային, հաշվարկային և պարզ երկրաչափական շեյդերները, արմատի ստորագրության սերիալացումը և արտասերիալացումը։ Շեյդերի հրամաններից հասանելի են թվաբանական, ատոմիկ և բիթային գործողություններ, համեմատական և տվյալների հոսքի վերահսկման օպերատորներ, sample, gather և load հրամանները, չկազմակերպած մուտքերի (UAV, Unordered Access View) գործողություններ։

Նոր տարբերակում՝

  • HLSL կոմպիլյատորին ավելացված է ցիկլերի դեֆորմացիայի (loop unrolling) աջակցություն, որը օպտիմիզացում է, որում ավելի արդյունավետ օգտագործման համար պրոցեսորի կեշի և ճյուղավորման նվազեցման համար ցիկլային գործողությունները փոխարինվում են մի քանի հաջորդական տարբերակային կոդով։
  • Ավելացված է էֆեկտների կոմպիլյատորին աջակցություն որոշ չորրորդ մոդելի պեֆեկտների համար։
  • Պարագաներում ապահովվել է չորրորդ մոդելի շեյդերների BlendState, ComputeShader, DomainShader, GeometryShader, HullShader, DepthStencilState և RasterizerState, ինչպես նաև OMSetRenderTargets(), SetBlendState(), SetComputeShader(), SetDomainShader(), SetGeometryShader(), SetHullShader(), SetPixelShader(), SetVertexShader(), SetDepthStencilState() և SetRasterizerState() գործառույթների աջակցություն։
  • Շեյդերների կոմպիլյատորին ավելացված է տարբեր ձևաթղթերի խթանման և պահպանման աջակցություն գլոբալ փոփոխականների, գործառույթների պարամետրերի և anotations-ի համար։
  • Ավելացված է 5.1 մոդելի շեյդերի գրանցման տարածքների աջակցություն։
  • Այստեղ իրականացված են ներառված գործառույթներ tex1D(), tex2D(), tex3D(), texCUBE(), asint(), f16tof32(), faceforward(), GetRenderTargetSampleCount(), rcp(), tex2Dbias(), tex1Dgrad(), tex2Dgrad(), tex3Dgrad() և texCUBEgrad()։
  • libvkd3d-ին ավելացվել է ID3D12CommandList6 միջերեսը և իրականացվել է մաշկերի ստեղծման հնարավորությունը, որոնց սեղմումը կատարվում է առանձին բլոկների մակարդակում (օրինակ, առանձին են սեղմվում 4×4 պիկսելների չափսերով բլոկները):
  • Ավելացվել է vkd3d_shader_parameter_info կառույցի աջակցությունը և VKD3D_SHADER_PARAMETER_DATA_TYPE_FLOAT32, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_FUNC, VKD3D_SHADER_PARAMETER_NAME_ALPHA_TEST_REF, VKD3D_SHADER_PARAMETER_NAME_FLAT_INTERPOLATION և VKD3D_SHADER_PARAMETER_TYPE_BUFFER պարամետրերը:

Ընտանիք: opennet.ru

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster