Dự án Wine đã phát hành Vkd3d 1.2 với triển khai Direct3D 12

Dự án rượu vang công bố phát hành gói vkd3d 1.2 với cách triển khai Direct3D 12 hoạt động thông qua việc truyền phát 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 phân phối bởi được cấp phép theo LGPLv2.1.

thư viện libvkd3d ủng hộ 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ộ điều khiển 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, kết xuất gián tiếp, phương thức Clear*() 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 Vertex, 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 số những điều quan trọng nhất đổi mới trong Vkd3d 1.2 những điều sau đây được đánh dấu:

  • Thư viện libvkd3d-shader đã sẵn sàng để sử dụng trong các dự án của bên thứ ba.
  • Hỗ trợ trình đổ bóng Tessellation.
  • Hỗ trợ chuyển đổi, tuần tự hóa và giải tuần tự hóa chữ ký gốc (vkd3d_serialize_versioned_root_signature() và vkd3d_create_versioned_root_signature_deserializer()).
  • Hỗ trợ đầu ra phát trực tuyến.
  • Triển khai nhiều tính năng Direct3D 12 trước đây không có sẵn, bao gồm hỗ trợ lấy mẫu đa mẫu, dự trữ tài nguyên,
    hiển thị được lập chỉ mục gián tiếp, hiển thị độ sâu mà không có trình đổ bóng pixel, truy cập đồng thời vào tài nguyên từ các hàng đợi lệnh khác nhau, Chế độ xem rỗng.

  • Đã thêm các biến môi trường: VKD3D_CONFIG để đặt tùy chọn thay đổi hành vi libvkd3d và VKD3D_VULKAN_DEVICE để ghi đè thiết bị cho API Vulkan.
  • Đã thêm hỗ trợ cho hướng dẫn đổ bóng bufinfo,
    eval_centroid,
    eval_sample_index,
    ld2ms,
    mẫu_b,
    mẫu_d,
    mẫu_thông tin,
    samplepos.

Nguồn: opennet.ru

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