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

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

Mesa 23.0์€ Intel GPU์šฉ anv, AMD GPU์šฉ radv, Qualcomm GPU์šฉ tu ๋ฐ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋ชจ๋“œ(vn)์—์„œ Vulkan 1.3 ๊ทธ๋ž˜ํ”ฝ API์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Vulkan 1.1 ์ง€์›์€ lavapipe(lvp) ์†Œํ”„ํŠธ์›จ์–ด ๋ž˜์Šคํ„ฐ๋ผ์ด์ €์—์„œ ๊ตฌํ˜„๋˜๊ณ  Vulkan 1.0์€ v3dv ๋“œ๋ผ์ด๋ฒ„(Raspberry Pi 4์˜ Broadcom VideoCore VI GPU)์—์„œ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.

Mesa๋Š” ๋˜ํ•œ 4.6, iris(Intel), radeonsi(AMD), zink ๋ฐ llvmpipe ๋“œ๋ผ์ด๋ฒ„์— ๋Œ€ํ•œ ์™„์ „ํ•œ OpenGL 965 ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. OpenGL 4.5 ์ง€์›์€ AMD(r600), NVIDIA(nvc0) ๋ฐ Qualcomm Adreno(freedreno) GPU, virgl(QEMU/KVM์šฉ virgil4.3D ๊ฐ€์ƒ GPU)์šฉ OpenGL 3, d4.2d3 ๋“œ๋ผ์ด๋ฒ„(OpenGL ๊ตฌ์„ฑ ๋ ˆ์ด์–ด)์šฉ OpenGL 12์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. DirectX 12 ์œ„์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค).

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

  • RADV Vulkan ๋“œ๋ผ์ด๋ฒ„(AMD)๋Š” RDNA3 ์•„ํ‚คํ…์ฒ˜(Radeon RX 7900) ๊ธฐ๋ฐ˜ GPU์— ๋Œ€ํ•œ ์ง€์›์„ ๊ฐœ์„ ํ•˜๊ณ  ๊ด‘์„  ์ถ”์  ๋ฐ ํŒŒ์ดํ”„๋ผ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ๊ณผ ๊ด€๋ จ๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. RDNA2 ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ AMD ์นด๋“œ์˜ ๊ฒฝ์šฐ ๋ฉ”์‹œ ์…ฐ์ด๋”(VK_EXT_mesh_shader) ์ง€์›์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
  • Nouveau ๋“œ๋ผ์ด๋ฒ„๋Š” Ampere ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” NVIDIA GA102(RTX 30) GPU์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • RADV ๋ฐ Turnip ๋“œ๋ผ์ด๋ฒ„๋Š” VK_EXT_dynamic_state3 ํ™•์žฅ๊ณผ ๊ด€๋ จ๋œ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • Apple M1 ๋ฐ M2 ์นฉ์— ์‚ฌ์šฉ๋˜๋Š” Apple AGX GPU์šฉ asahi OpenGL ๋“œ๋ผ์ด๋ฒ„์˜ ๊ธฐ๋Šฅ์ด ํฌ๊ฒŒ ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ANV Vulkan ๋“œ๋ผ์ด๋ฒ„(Intel) ๋ฐ Iris OpenGL ๋“œ๋ผ์ด๋ฒ„๋Š” ๊ฐœ๋ณ„ Intel DG2-G12(Arc Alchemist) ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ ๋ฐ Meteor Lake GPU์— ๋Œ€ํ•œ ์ง€์›์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • virgl ๋“œ๋ผ์ด๋ฒ„(QEMU/KVM์šฉ ๊ฐ€์ƒ GPU Virgil3D)๋Š” ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ์˜ ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ์ง€์›์„ ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • OpenGL ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ํŒฌํ”„๋กœ์ŠคํŠธ์šฉ GL_ARB_clip_control
    • ํŒฌํ”„๋กœ์ŠคํŠธ์šฉ GL_ARB_texture_filter_anisotropic, Asahi
    • ์•„์‚ฌํžˆ์— ๋Œ€ํ•œ GL_ARB_occulsion_query2
    • Asahi์šฉ GL_ARB_shader_stencil_export
    • Asahi์— ๋Œ€ํ•œ GL_ARB_draw_instanced
    • Asahi์šฉ GL_ARB_instanced_ararys
    • ์•„์‚ฌํžˆ์šฉ GL_ARB_seamless_cube_map
    • ์•„์‚ฌํžˆ์— ๋Œ€ํ•œ GL_NV_conditional_render
    • ์•„์‚ฌํžˆ์šฉ GL_ARB_texture_mirror_clamp_to_edge
  • Vulkan ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • RADV, ์ˆœ๋ฌด์— ๋Œ€ํ•œ VK_EXT_descriptor_buffer
    • RADV์šฉ VK_AMD_shader_early_and_late_fragment_tests
    • RADV/RDNA3์šฉ VK_AMD_shader_explicit_vertex_parameter
    • RADV, ANV, ์ˆœ๋ฌด์šฉ VK_EXT_swapchain_colorspace
    • V3DV์šฉ VK_KHR_shader_integer_dot_product
    • ANV, RADV, ์ˆœ๋ฌด์— ๋Œ€ํ•œ VK_KHR_present_wait
    • ๊ธˆ์„ฑ์— ๋Œ€ํ•œ VK_KHR_push_descriptor
    • ๊ธˆ์„ฑ์šฉ VK_KHR_pci_bus_info
  • Rise of the Tomb Raider์˜ ์•ฐ๋น„์–ธํŠธ ์˜คํด๋ฃจ์ „, Minecraft, Battlefield 1 ๋ฐ Hi-Fi Rush์˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Iris ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ Zoom ํ™”์ƒ ํ†ตํ™” ์ค‘์— ์ถœ๋ ฅ์ด ์ค‘๋‹จ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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