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

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

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

Mesa๋Š” ๋˜ํ•œ iris(Intel Gen 4.6+ GPU), radeonsi(AMD), Crocus(์ด์ „ Intel Gen8-Gen4 GPU), zink, llvmpipe, virgl(QEMU/KVM์šฉ Virgil7D ๊ฐ€์ƒ GPU), freedreno ๋“œ๋ผ์ด๋ฒ„( Qualcomm Adreno) ๋ฐ d3d3(DirectX 12 ์œ„์—์„œ OpenGL ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์–ด)์ž…๋‹ˆ๋‹ค. OpenGL 12 ์ง€์›์€ AMD(r4.5) ๋ฐ NVIDIA(nvc600) GPU์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OpenGL 0 ์ง€์›์€ ์†Œํ”„ํŠธํŒŒ์ดํ”„(์†Œํ”„ํŠธ์›จ์–ด ๋ž˜์Šคํ„ฐ๋ผ์ด์ €), asahi(Apple M3.3 ๋ฐ M1 ์นฉ์— ์‚ฌ์šฉ๋˜๋Š” AGX GPU) ๋ฐ nv2(NVIDIA NV50) ๋“œ๋ผ์ด๋ฒ„์— ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • Imagination PowerVR GPU๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด Vulkan pvr ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • NVK ๋“œ๋ผ์ด๋ฒ„(NVIDIA)๋Š” Vulkan 1.3์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • crocus ๋“œ๋ผ์ด๋ฒ„(Intel Gen4-Gen7 GPU)๋Š” OpenGL 4.6์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • DirectX 3 ์œ„์— OpenGL ๊ตฌํ˜„ ๋ ˆ์ด์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š” d12d12 ๋“œ๋ผ์ด๋ฒ„๋Š” OpenGL 4.6์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • Apple AGX GPU์šฉ Asahi ๋“œ๋ผ์ด๋ฒ„๋Š” ์ง€์˜ค๋ฉ”ํŠธ๋ฆฌ ์…ฐ์ด๋”์— ๋Œ€ํ•œ ์ง€์›์„ ํฌํ•จํ•˜๊ณ  OpenGL 3.3๊ณผ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.
  • h.264 ๋ฐ h.265 ํ˜•์‹์˜ ๋น„๋””์˜ค ์ธ์ฝ”๋”ฉ ํ•˜๋“œ์›จ์–ด ๊ฐ€์†์„ ์œ„ํ•ด Vulkan ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • AMD GPU์šฉ RADV Vulkan ๋“œ๋ผ์ด๋ฒ„๋Š” ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค.
  • NVIDIA GPU์šฉ NVK Vulkan ๋“œ๋ผ์ด๋ฒ„์— ํ™•์žฅ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • VK_KHR_vulkan_memory_model
    • VK_EXT_multi_draw
    • VK_KHR_shader_float_controls
    • VK_EXT_texel_buffer_alignment
    • VK_EXT_shader_image_atomic_int64
    • VK_KHR_shader_atomic_int64
    • VK_KHR_shader_subgroup_extended_types
    • VK_EXT_subgroup_size_control
    • VK_KHR_fragment_shader_barycentric
    • VK_KHR_๋™๊ธฐํ™”2
    • VK_KHR_pipeline_executable_properties
  • RADV Vulkan ๋“œ๋ผ์ด๋ฒ„(AMD)์— ํ™•์žฅ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • VK_EXT_image_compression_control
    • VK_EXT_device_fault
    • VK_KHR_calibrated_timestamps
    • VK_KHR_vertex_attribute_divisor
    • VK_KHR_maintenance6
    • VK_KHR_ray_tracing_position_fetch
    • VK_EXT_๊นŠ์ด_clamp_zero_one
  • Apple AGX GPU์šฉ Asahi OpenGL ๋“œ๋ผ์ด๋ฒ„์— ํ™•์žฅ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • GL_EXT_disjoint_timer_query
    • GL_ARB_texture_cube_map_array
    • GL_ARB_clip_control
    • GL_ARB_timer_query
    • GL_ARB_base_instance
    • GL_ARB_shader_texture_image_samples
    • GL_ARB_indirect_parameters
    • GL_ARB_viewport_array
    • GL_ARB_fragment_layer_viewport
    • GL_ARB_cull_distance
    • GL_ARB_transform_feedback_overflow_query
  • EGL ํ™•์žฅ EGL_EXT_query_reset_notification_strategy์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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