Dự án rượu vang đã xuất bản Vkd3d 1.7 với triển khai Direct3D 12

Dự án Wine đã xuất bản bản phát hành gói vkd3d 1.7 với việc triển khai Direct3D 12 hoạt động thông qua việc phát sóng các lệnh gọi tới API đồ họa Vulkan. Gói này bao gồm các thư viện libvkd3d với việc triển khai Direct3D 12, libvkd3d-shader với trình dịch các mô hình đổ bóng 4 và 5 và libvkd3d-utils với các chức năng đơn giản hóa việc chuyển các ứng dụng Direct3D 12, cũng như một tập hợp các ví dụ demo, bao gồm một cổng của glxgears sang Direct3D 12. Mã dự án được phân phối theo giấy phép LGPLv2.1.

Thư viện libvkd3d hỗ trợ hầu hết các tính năng của Direct3D 12, bao gồm các phương tiện đồ họa và điện toán, hàng đợi và danh sách lệnh, bộ điều khiển và bộ xử lý vùng heap, chữ ký gốc, quyền truy cập không theo thứ tự, Bộ lấy mẫu, chữ ký lệnh, hằng số gốc, hiển thị gián tiếp, Phương thức xóa *( ) và Sao chép*(). Trong libvkd3d-shader, việc dịch mã byte của mô hình đổ bóng 4 và 5 sang dạng biểu diễn SPIR-V trung gian được triển khai. Hỗ trợ các trình đổ bóng đỉnh, pixel, tessellation, tính toán và hình học đơn giản, tuần tự hóa và giải tuần tự hóa chữ ký gốc. Các lệnh đổ bóng bao gồm các phép toán số học, nguyên tử và bit, các toán tử so sánh và kiểm soát luồng dữ liệu, các lệnh lấy mẫu, thu thập và tải, các thao tác truy cập không có thứ tự (UAV, Chế độ xem truy cập không có thứ tự).

Trong phiên bản mới:

  • Công việc tiếp tục cải tiến trình biên dịch đổ bóng trong HLSL (Ngôn ngữ đổ bóng cấp cao):
    • Đã thêm khả năng gọi các hàm tùy chỉnh và sử dụng mảng làm tham số cho các hàm tùy chỉnh.
    • Đã thêm hỗ trợ cho các tham số SV_DispatchThreadID, SV_GroupID và SV_GroupThreadID.
    • Đã thêm các hàm dựng sẵn all(), distance(), exp(), exp2(), frac(), lit(), Reflect(), sin(), cos(), Smoothstep(), sqrt(), rsqrt (), bước(), chuyển vị().
    • Đã thêm hỗ trợ ban đầu cho các loại dấu phẩy động có độ chính xác thấp như "min16float".
  • Cải thiện đáng kể khả năng hỗ trợ cho cấu hình mô hình đổ bóng Direct3D 1/2/3.
  • Đã thêm API công khai để phân tích cú pháp (vkd3d_shader_parse_dxbc) và tuần tự hóa (vkd3d_shader_serialize_dxbc) của dữ liệu nhị phân DXBC.

Nguồn: opennet.ru

Thêm một lời nhận xét