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

๊ฒŒ์‹œ ๋จ OpenGL ๋ฐ Vulkan API์˜ ๋ฌด๋ฃŒ ๊ตฌํ˜„ ์ถœ์‹œ - ๋ฉ”์‚ฌ 19.1.0. Mesa 19.1.0 ๋ธŒ๋žœ์น˜์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๋Š” ์‹คํ—˜์  ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ์ตœ์ข… ์•ˆ์ •ํ™”๋˜๋ฉด ์•ˆ์ •์ ์ธ ๋ฒ„์ „ 19.1.1์ด ๋ฆด๋ฆฌ์Šค๋ฉ๋‹ˆ๋‹ค. ๋ฉ”์‚ฌ 19.1์—์„œ ์ œ๊ณต i4.5, radeonsi ๋ฐ nvc965 ๋“œ๋ผ์ด๋ฒ„์— ๋Œ€ํ•œ ์ „์ฒด OpenGL 0 ์ง€์›, Intel ๋ฐ AMD ์นด๋“œ์— ๋Œ€ํ•œ Vulkan 1.1 ์ง€์› ๋ฐ ํ‘œ์ค€์— ๋Œ€ํ•œ ๋ถ€๋ถ„ ์ง€์› OpenGL 4.6.

๊ฐ€์žฅ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ๋ณ€๊ฒฝ:

  • ํฌํ•จ๋จ ์— ์˜ํ•ด ๊ฐœ๋ฐœ ์ธํ…”์—๋Š” ์ƒˆ๋กœ์šด Iris ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. i965์™€ ๋‹ฌ๋ฆฌ ์ƒˆ ๋“œ๋ผ์ด๋ฒ„๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ž‘์—…์„ Linux ์ปค๋„์˜ DRI ๋“œ๋ผ์ด๋ฒ„ ์ธก์œผ๋กœ ์ „์†กํ•˜๊ณ  ์ถœ๋ ฅ ๊ฐœ์ฒด์˜ ์žฌ์‚ฌ์šฉ ์บ์‹œ๋ฅผ ์ง€์›ํ•˜๋Š” ๊ธฐ์„ฑ ์ƒํƒœ ์ถ”์ ๊ธฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” Gallium3D ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋“œ๋ผ์ด๋ฒ„๋Š” HD, UHD ๋ฐ Iris GPU๋ฅผ ๊ฐ–์ถ˜ Gen8+ ๋งˆ์ดํฌ๋กœ ์•„ํ‚คํ…์ฒ˜(Broadwell, Skylake) ๊ธฐ๋ฐ˜ GPU๋งŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ์—์„œ ์•„์ด๋ฆฌ์Šค ๋“œ๋ผ์ด๋ฒ„๋Š” 3~15๋ฐฐ ์ถ”์›”ํ•˜๋‹ค i965, ํ…Œ์ŠคํŠธ ๋ชจ๋“œ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„. ํ‰๊ท ์ ์œผ๋กœ Iris๋Š” i5.45 ๋“œ๋ผ์ด๋ฒ„๋ณด๋‹ค ์ดˆ๋‹น 965๋ฐฐ ๋” ๋งŽ์€ ๊ฐœ์ฒด๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ์ฆ๊ฐ€ํญ์€ ๊ทธ๋‹ค์ง€ ์ธ์ƒ์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๋ฐ๋ชจ ์ค‘ ํ•˜๋‚˜์—์„œ๋Š” ์ฆ๊ฐ€๋Ÿ‰์ด ์•ฝ 19%์ด๊ณ  ์ผ๋ถ€ ๋ฐ๋ชจ์—์„œ๋Š” ๋Œ€๋žต i965์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค).

  • ํด๋ž˜์‹ i965 ๋“œ๋ผ์ด๋ฒ„๋Š” Gen 11 ๋ฐ ์ถ”๊ฐ€ Elkhart Lake SoC ๊ทธ๋ž˜ํ”ฝ ํ•˜์œ„ ์‹œ์Šคํ…œ ์ง€์›;
  • ๋“œ๋ผ์ด๋ฒ„ ํฌํ•จ ๋ฆฌ๋งˆ ARM ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋งŽ์€ ๊ตฌํ˜• ์นฉ์— ์‚ฌ์šฉ๋˜๋Š” Mali 400/450 GPU์šฉ.
  • ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค ํŒฌํ”„๋กœ์ŠคํŠธ ARM ํ”„๋กœ์„ธ์„œ๊ฐ€ ํƒ‘์žฌ๋œ ๋‹ค์–‘ํ•œ ์žฅ์น˜์— ์‚ฌ์šฉ๋˜๋Š” Midgard(Mali-T6xx, Mali-T7xx, Mali-T8xx) ๋ฐ Bifrost(Mali G3x, G5x, G7x) ๋งˆ์ดํฌ๋กœ ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ GPU์šฉ์ž…๋‹ˆ๋‹ค.
  • RADV ๋“œ๋ผ์ด๋ฒ„(AMD ์นด๋“œ์šฉ Vulkan ๋“œ๋ผ์ด๋ฒ„)์—๋Š” VESA Adaptive-Sync(FreeSync) ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋‹ˆํ„ฐ์˜ ์ƒˆ๋กœ ๊ณ ์นจ ๋นˆ๋„๋ฅผ ์ ์‘์ ์œผ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋ถ€๋“œ๋Ÿฝ๊ณ  ๋Š๊น€ ์—†๋Š” ์ถœ๋ ฅ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋จ Qualcomm Adreno GPU๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด Vulkan ๋“œ๋ผ์ด๋ฒ„ TURNIP;
  • ์šด์ „์ž์—๊ฒŒ ์†Œํ”„ํŠธํŒŒ์ดํ”„ (Gallium3D ๊ธฐ๋ฐ˜ ์†Œํ”„ํŠธ์›จ์–ด ๋ž˜์Šคํ„ฐ๋ผ์ด์ €) OpenGL 4 ํ™•์žฅ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค: ARB_gpu_shader5, ARB_ES3_1_compatibility, OES_geometry_shader, OES_primitive_bounding_box, OES_texture_cube_map_array ๋ฐ OES_viewport_array. OpenGL 4.0์ด ์™„์ „ํžˆ ์ง€์›๋  ๋•Œ๊นŒ์ง€ GL_ARB_gpu_shader5, GL_ARB_sample_shading ๋ฐ GL_ARB_tessellation_shader ํ™•์žฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • GPU์— ์‚ฌ์šฉ๋˜๋Š” ATC ํ…์Šค์ฒ˜ ์••์ถ• ํ˜•์‹์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    ํ€„์ปด๊ณผ AMD;

  • Unix ๊ณ„์—ด ์‹œ์Šคํ…œ์šฉ Direct3D 9 API์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•˜๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ Wine์„ ์‚ฌ์šฉํ•˜์—ฌ Windows ๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” Gallium Nine ์ƒํƒœ ์ถ”์ ๊ธฐ์˜ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒˆ๋กœ์šด OpenGL ํ™•์žฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค:
  • ANV Vulkan ๋“œ๋ผ์ด๋ฒ„์— ํ™•์žฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(Intel ์นด๋“œ์šฉ):
  • RADV Vulkan ๋“œ๋ผ์ด๋ฒ„(AMD ์นด๋“œ์šฉ)์— ์ผ๋ จ์˜ ํ™•์žฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ์ฃผ๋ชฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ถ€๊ฐ€ Mesa 19.2 ๋ฆด๋ฆฌ์Šค์˜ ๊ธฐ๋ฐ˜์ด ๋  ๋ธŒ๋žœ์น˜์— ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
GL_KHR_๊ฒฌ๊ณ ํ•จ Gallium3D ๋“œ๋ผ์ด๋ฒ„ R600์— ๋Œ€ํ•œ ์ตœ์‹  ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ๋ˆ„๋ฝ๋œ ๋งํฌ OpenGL 4.5์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด R600์€ OpenGL 4.5๋ฅผ ์ง€์›ํ•˜๋Š” ๋„ค ๋ฒˆ์งธ Mesa ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. R4.5์˜ OpenGL 600 ์ง€์›์€ Radeon HD 5800/6900 GPU์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

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