OpenGL ๋ฐ Vulkan์˜ ๋ฌด๋ฃŒ ๊ตฌํ˜„์ธ Mesa 22.2 ์ถœ์‹œ

22.2.0๊ฐœ์›” ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— OpenGL ๋ฐ Vulkan API์˜ ๋ฌด๋ฃŒ ๊ตฌํ˜„์ธ Mesa 22.2.0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Mesa 22.2.1 ๋ธŒ๋žœ์น˜์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๋Š” ์‹คํ—˜์  ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ์ตœ์ข… ์•ˆ์ •ํ™”๋˜๋ฉด ์•ˆ์ •์ ์ธ ๋ฒ„์ „ XNUMX์ด ๋ฆด๋ฆฌ์Šค๋ฉ๋‹ˆ๋‹ค.

Mesa 22.2์—์„œ๋Š” Intel GPU์šฉ anv ๋“œ๋ผ์ด๋ฒ„, AMD GPU์šฉ radv ๋ฐ Qualcomm GPU์šฉ tu์—์„œ Vulkan 1.3 ๊ทธ๋ž˜ํ”ฝ API์— ๋Œ€ํ•œ ์ง€์›์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Vulkan 1.2 ์ง€์›์€ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋ชจ๋“œ(vn), lavapipe ์†Œํ”„ํŠธ์›จ์–ด ๋ž˜์Šคํ„ฐ๋ผ์ด์ €(lvp)์˜ Vulkan 1.1, v1.0dv ๋“œ๋ผ์ด๋ฒ„(Raspberry Pi 3์˜ Broadcom VideoCore VI GPU)์˜ Vulkan 4์—์„œ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. Mesa๋Š” ๋˜ํ•œ 4.6, iris(Intel), radeonsi(AMD), zink ๋ฐ llvmpipe ๋“œ๋ผ์ด๋ฒ„์— ๋Œ€ํ•œ ์™„์ „ํ•œ OpenGL 965 ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. OpenGL 4.5 ์ง€์›์€ AMD(r600) ๋ฐ NVIDIA(nvc0) GPU์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ OpenGL 4.3์€ virgl(QEMU/KVM์šฉ Virgil3D ๊ฐ€์ƒ GPU) ๋ฐ vmwgfx(VMware)์— ๋Œ€ํ•ด ์ง€์›๋ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • Qualcomm GPU ๋“œ๋ผ์ด๋ฒ„(tu)๋Š” Vulkan 1.3 ๊ทธ๋ž˜ํ”ฝ API์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Panfrost ๋“œ๋ผ์ด๋ฒ„๋Š” Valhall ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜(Mali-G57)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Mali GPU์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋“œ๋ผ์ด๋ฒ„๋Š” OpenGL ES 3.1 ์‚ฌ์–‘๊ณผ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.
  • Imagination์ด ๊ฐœ๋ฐœํ•œ PowerVR Rogue ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ GPU์šฉ Vulkan ๋“œ๋ผ์ด๋ฒ„์˜ ๊ตฌํ˜„์ด ๊ณ„์†๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ANV Vulkan ๋“œ๋ผ์ด๋ฒ„(Intel) ๋ฐ Iris OpenGL ๋“œ๋ผ์ด๋ฒ„๋Š” Intel DG2-G12(Arc Alchemist) ๊ฐœ๋ณ„ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. Vulkan ๋“œ๋ผ์ด๋ฒ„๋Š” ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ ์ฝ”๋“œ์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ(์•ฝ 100๋ฐฐ) ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
  • Radeon HD 600~HD 2000 ์‹œ๋ฆฌ์ฆˆ์˜ AMD GPU์šฉ R6000g ๋“œ๋ผ์ด๋ฒ„๋Š” NIR ์…ฐ์ด๋”์˜ ์œ ํ˜• ์—†๋Š” IR(์ค‘๊ฐ„ ํ‘œํ˜„)์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. NIR ์ง€์›์„ ์‚ฌ์šฉํ•˜๋ฉด NIR์„ TGSI๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ TGSI(Tungsten Graphics Shader Infrastructure) ์ค‘๊ฐ„ ํ‘œํ˜„์— ๋Œ€ํ•œ ์ง€์›์„ ์–ป์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • RTX 30 "Ampere" GPU์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ Nouveau OpenGL ๋“œ๋ผ์ด๋ฒ„ ์ž‘์—…์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Vivante ์นด๋“œ์šฉ Etnaviv ๋“œ๋ผ์ด๋ฒ„๋Š” ์ด์ œ ๋น„๋™๊ธฐ ์…ฐ์ด๋” ์ปดํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Vulkan ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์šฉ์•”ํŒŒ์ดํ”„ ๋“œ๋ผ์ด๋ฒ„์— ๋Œ€ํ•œ VK_EXT_robustness2.
    • RADV์šฉ VK_EXT_image_2d_view_of_3d.
    • RADV์— ๋Œ€ํ•œ VK_EXT_primitives_generated_query.
    • RADV, ANV, ์šฉ์•”ํŒŒ์ดํ”„์šฉ VK_EXT_non_seamless_cube_map.
    • ์šฉ์•”ํŒŒ์ดํ”„, ANV, ์ˆœ๋ฌด, RADV์˜ ๊ฒฝ์šฐ VK_EXT_border_color_swizzle.
    • RADV์šฉ VK_EXT_shader_module_identifier.
    • ์šฉ์•”ํŒŒ์ดํ”„์— ๋Œ€ํ•œ VK_EXT_multisampled_render_to_single_sampled.
    • ์šฉ์•”ํŒŒ์ดํ”„์— ๋Œ€ํ•œ VK_EXT_shader_subgroup_vote.
    • ์šฉ์•”ํŒŒ์ดํ”„์— ๋Œ€ํ•œ VK_EXT_shader_subgroup_ballot
    • RADV์šฉ VK_EXT_attachment_feedback_loop_layout.
  • OpenGL ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • WGL_ARB_create_context_robustness.
    • d3d12์— ๋Œ€ํ•œ ARB_robust_buffer_access_behavior.
    • EGL_KHR_context_flush_control.
    • GLX_ARB_context_flush_control
    • zink ๋ฐ d32d3์šฉ GL_EXT_memory_object_win12.
    • zink ๋ฐ d32d3์˜ ๊ฒฝ์šฐ GL_EXT_semaphore_win12์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€