Trình điều khiển RADV Vulkan đã được chuyển sang sử dụng chương trình phụ trợ biên dịch shader ACO

Trong cơ sở mã được sử dụng để hình thành bản phát hành Mesa 20.2, thực hiện chuyển đổi RADV, trình điều khiển Vulkan cho chip AMD, để sử dụng phần phụ trợ mặc định để biên dịch các shader "ACO“, đang được Valve phát triển để thay thế cho trình biên dịch đổ bóng LLVM. Thay đổi này sẽ dẫn đến hiệu suất trò chơi tăng lên và giảm thời gian khởi chạy. Để trả về phần phụ trợ cũ, biến môi trường “RADV_DEBUG=llvm” được cung cấp.

Việc chuyển trình điều khiển RADV sang chương trình phụ trợ mới đã trở nên khả thi sau khi ACO đạt được chức năng tương đương với chương trình phụ trợ cũ do AMD phát triển cho trình điều khiển AMDGPU, trình điều khiển này tiếp tục được sử dụng trong trình điều khiển RadeonSI OpenGL. Kiểm tra bằng van cho thấyACO đó nhanh gần gấp đôi so với trình biên dịch đổ bóng AMDGPU về tốc độ biên dịch và thể hiện sự gia tăng FPS trong một số trò chơi khi chạy trên hệ thống có trình điều khiển RADV.

Trình điều khiển RADV Vulkan đã được chuyển sang sử dụng chương trình phụ trợ biên dịch shader ACO

Trình điều khiển RADV Vulkan đã được chuyển sang sử dụng chương trình phụ trợ biên dịch shader ACO

Phần phụ trợ ACO nhằm mục đích cung cấp khả năng tạo mã tối ưu nhất có thể cho các trình đổ bóng ứng dụng chơi game, cũng như đạt được tốc độ biên dịch rất cao. ACO được viết bằng C++, được thiết kế với mục đích biên dịch JIT và sử dụng các cấu trúc dữ liệu lặp nhanh, tránh các cấu trúc dựa trên con trỏ. Việc biểu diễn trung gian của mã hoàn toàn dựa trên SSA (Gán đơn tĩnh) và cho phép phân bổ thanh ghi bằng cách tính toán trước chính xác thanh ghi tùy thuộc vào trình đổ bóng.

Ngoài ra: Hiện tại, ACO chỉ hoạt động với trình điều khiển Mesa RADV Vulkan. Nhưng các nhà phát triển ACO đã xác nhậnrằng bước tiếp theo của họ sẽ là bắt đầu mở rộng khả năng của ACO để hỗ trợ trình điều khiển RadeonSI OpenGL, để trong tương lai, đối với trình điều khiển này, ACO có thể thay thế trình biên dịch đổ bóng LLVM mặc định.

Nguồn: opennet.ru

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