Chuẩn đồ họa Vulkan 1.3 được công bố

Sau hai năm làm việc, tập đoàn tiêu chuẩn đồ họa Khronos đã xuất bản thông số kỹ thuật Vulkan 1.3, xác định API để truy cập khả năng đồ họa và tính toán của GPU. Thông số kỹ thuật mới kết hợp các sửa đổi và mở rộng được tích lũy trong hai năm. Cần lưu ý rằng các yêu cầu của thông số kỹ thuật Vulkan 1.3 được thiết kế cho thiết bị đồ họa lớp OpenGL ES 3.1, điều này sẽ đảm bảo hỗ trợ API đồ họa mới trong tất cả các GPU hỗ trợ Vulkan 1.2. Các công cụ Vulkan SDK dự kiến ​​sẽ được xuất bản vào giữa tháng XNUMX. Ngoài thông số kỹ thuật chính, nó còn được lên kế hoạch cung cấp các tiện ích mở rộng bổ sung cho thiết bị di động và máy tính để bàn tầm trung và cao cấp, sẽ được hỗ trợ như một phần của phiên bản “Vulkan Milestone”.

Đồng thời, một kế hoạch được trình bày để triển khai hỗ trợ cho thông số kỹ thuật mới và các phần mở rộng bổ sung trong card đồ họa và trình điều khiển thiết bị. Intel, AMD, ARM và NVIDIA đang chuẩn bị tung ra các sản phẩm hỗ trợ Vulkan 1.3. Ví dụ: AMD đã thông báo rằng họ sẽ sớm hỗ trợ Vulkan 1.3 trong dòng card đồ họa AMD Radeon RX Vega, cũng như trong tất cả các card dựa trên kiến ​​trúc AMD RDNA. NVIDIA đang chuẩn bị xuất bản trình điều khiển hỗ trợ Vulkan 1.3 cho Linux và Windows. ARM sẽ bổ sung hỗ trợ Vulkan 1.3 cho GPU Mali.

Những đổi mới chính:

  • Hỗ trợ cho các đường kết xuất đơn giản hóa (Tinh giản các đường kết xuất, VK_KHR_dynamic_rendering) đã được triển khai, cho phép bạn bắt đầu kết xuất mà không cần tạo các đường kết xuất và đối tượng bộ đệm khung.
  • Các tiện ích mở rộng mới đã được thêm vào để đơn giản hóa việc quản lý quá trình biên dịch đường dẫn đồ họa (đường dẫn, một tập hợp các thao tác biến các kết cấu và nguyên thủy của đồ họa vector thành các biểu diễn pixel).
    • VK_EXT_extends_dynamic_state, VK_EXT_extends_dynamic_state2 - thêm các trạng thái động bổ sung để giảm số lượng đối tượng trạng thái được biên dịch và đính kèm.
    • VK_EXT_pipeline_creation_cache_control - Cung cấp các điều khiển nâng cao về thời điểm và cách thức biên dịch các đường ống.
    • VK_EXT_pipeline_creation_feedback - Cung cấp thông tin về các quy trình đã biên dịch để giúp việc lập hồ sơ và gỡ lỗi dễ dàng hơn.
  • Một số tính năng đã được chuyển từ tùy chọn sang bắt buộc. Ví dụ: việc triển khai các tham chiếu bộ đệm (VK_KHR_buffer_device_address) và mô hình bộ nhớ Vulkan, xác định cách các luồng đồng thời có thể truy cập dữ liệu được chia sẻ và các hoạt động đồng bộ hóa, hiện là bắt buộc.
  • Kiểm soát nhóm con chi tiết (VK_EXT_subgroup_size_control) được cung cấp để các nhà cung cấp có thể cung cấp hỗ trợ cho nhiều kích thước nhóm con và nhà phát triển có thể chọn kích thước mà họ yêu cầu.
  • Tiện ích mở rộng VK_KHR_shader_integer_dot_product đã được cung cấp, có thể được sử dụng để tối ưu hóa hiệu suất của các khung học máy nhờ khả năng tăng tốc phần cứng của các hoạt động sản phẩm chấm.
  • Tổng cộng có 23 bản mở rộng mới được bao gồm:
    • VK_KHR_copy_commands2
    • VK_KHR_dynamic_rendering
    • VK_KHR_format_feature_flags2
    • VK_KHR_bảo trì4
    • VK_KHR_shader_integer_dot_product
    • VK_KHR_shader_non_semantic_info
    • VK_KHR_shader_terminate_invocation
    • VK_KHR_đồng bộ hóa2
    • VK_KHR_zero_initialize_workgroup_memory
    • VK_EXT_4444_formats
    • VK_EXT_extends_dynamic_state
    • VK_EXT_extends_dynamic_state2
    • VK_EXT_hình_ảnh_mạnh mẽ
    • VK_EXT_inline_uniform_block
    • VK_EXT_pipeline_creation_cache_control
    • VK_EXT_pipeline_creation_feedback
    • VK_EXT_private_data
    • VK_EXT_shader_demote_to_helper_invocation
    • VK_EXT_subgroup_size_control
    • VK_EXT_texel_buffer_alignment
    • VK_EXT_texture_compression_astc_hdr
    • VK_EXT_tooling_info
    • VK_EXT_ycbcr_2plane_444_formats
  • Đã thêm loại đối tượng mới VkPrivateDataSlot. 37 lệnh mới và hơn 60 cấu trúc đã được triển khai.
  • Thông số kỹ thuật SPIR-V 1.6 đã được cập nhật để xác định cách trình bày bộ đổ bóng trung gian phổ biến cho tất cả các nền tảng và có thể được sử dụng cho cả đồ họa và tính toán song song. SPIR-V liên quan đến việc tách giai đoạn biên dịch đổ bóng riêng biệt thành một biểu diễn trung gian, cho phép bạn tạo giao diện người dùng cho nhiều ngôn ngữ cấp cao khác nhau. Dựa trên nhiều cách triển khai cấp cao khác nhau, một mã trung gian duy nhất được tạo riêng, mã này có thể được trình điều khiển OpenGL, Vulkan và OpenCL sử dụng mà không cần sử dụng trình biên dịch đổ bóng tích hợp sẵn.
  • Khái niệm về hồ sơ tương thích được đề xuất. Google là công ty đầu tiên phát hành cấu hình cơ sở cho nền tảng Android, điều này sẽ giúp xác định mức độ hỗ trợ cho các khả năng Vulkan nâng cao trên thiết bị ngoài thông số kỹ thuật Vulkan 1.0 dễ dàng hơn. Đối với hầu hết các thiết bị, hỗ trợ hồ sơ có thể được cung cấp mà không cần cài đặt bản cập nhật OTA.

Chúng ta hãy nhớ lại rằng API Vulkan đáng chú ý vì đơn giản hóa triệt để các trình điều khiển, chuyển việc tạo lệnh GPU sang phía ứng dụng, khả năng kết nối các lớp gỡ lỗi, thống nhất API cho các nền tảng khác nhau và sử dụng một trình biên dịch trước. biểu diễn mã trung gian để thực thi ở phía GPU. Để đảm bảo hiệu suất cao và khả năng dự đoán, Vulkan cung cấp cho các ứng dụng khả năng kiểm soát trực tiếp các hoạt động của GPU và hỗ trợ riêng cho đa luồng GPU, giúp giảm thiểu chi phí hoạt động của trình điều khiển và giúp các chức năng phía trình điều khiển trở nên đơn giản và dễ dự đoán hơn nhiều. Ví dụ: các hoạt động như quản lý bộ nhớ và xử lý lỗi, được triển khai trong OpenGL ở phía trình điều khiển, sẽ được chuyển sang cấp ứng dụng trong Vulkan.

Vulkan mở rộng trên tất cả các nền tảng có sẵn và cung cấp một API duy nhất cho máy tính để bàn, thiết bị di động và web, cho phép sử dụng một API chung trên nhiều GPU và ứng dụng. Nhờ kiến ​​trúc nhiều lớp của Vulkan, nghĩa là các công cụ hoạt động với mọi GPU, OEM có thể sử dụng các công cụ tiêu chuẩn ngành để xem xét, gỡ lỗi và lập hồ sơ mã trong quá trình phát triển. Để tạo các trình đổ bóng, một biểu diễn trung gian di động mới, SPIR-V, được đề xuất, dựa trên LLVM và chia sẻ các công nghệ cốt lõi với OpenCL. Để điều khiển các thiết bị và màn hình, Vulkan cung cấp giao diện WSI (Tích hợp hệ thống cửa sổ), giải quyết gần như các vấn đề tương tự như EGL trong OpenGL ES. Hỗ trợ WSI có sẵn trong Wayland - tất cả các ứng dụng sử dụng Vulkan có thể chạy trong môi trường máy chủ Wayland chưa sửa đổi. Khả năng hoạt động thông qua WSI cũng được cung cấp cho Android, X11 (với DRI3), Windows, Tizen, macOS và iOS.

Nguồn: opennet.ru

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