※ 이 글은 오가사와라 히로유키(小笠原博之) 씨가 블로그에 적은 글을 번역한 것입니다. 사정에 따라 예고없이 삭제될 수 있으므로 양해부탁드립니다.

SHIELD Android TV(Tegra X1)는 OpenGL ES 3.2 대응

(원문 : SHIELD Android TV (Tegra X1) は OpenGL ES 3.2 対応)

NVIDIA SHIELD Android TV는 이미 OpenGL ES 3.2의 Context에 대응하고 있다는 것을 알게 되었습니다.

Android 5.1 Tegra X1 Maxwell (256)

GL_VERSION: OpenGL ES 3.2 NVIDIA 349.00
GL_RENDERER: NVIDIA Tegra
GL_VENDOR: NVIDIA Corporation
GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.20

OpenGL ES 3.2는 ES 3.1 AEP가 포함되어 있고 D3D11/OpenGL 4.x에 상당하는 API입니다. Android SDK가 3.2에 대응하지 않으므로 현재로서는 그다지 의미가 없습니다만, Desktop과 공통의 드라이버가 사용되고 있다는 사실을 읽을 수 있습니다.

아래는 Tegra K1(Nexus 9 Driver 343.00)에서 추가된 Extension입니다.

GL_EXT_discard_framebuffer
GL_EXT_draw_elements_base_vertex
GL_EXT_multi_draw_indirect
GL_EXT_post_depth_coverage
GL_EXT_raster_multisample
GL_EXT_shader_texture_lod
GL_KHR_context_flush_control
GL_KHR_robust_buffer_access_behavior
GL_KHR_robustness
GL_NV_conditional_render
GL_NV_conservative_raster
GL_NV_fill_rectangle
GL_NV_fragment_coverage_to_color
GL_NV_fragment_shader_interlock
GL_NV_framebuffer_mixed_samples
GL_NV_geometry_shader_passthrough
GL_NV_path_rendering_shared_edge
GL_NV_polygon_mode
GL_NV_sample_locations
GL_NV_sample_mask_override_coverage
GL_NV_shader_noperspective_interpolation
GL_NV_viewport_array
GL_NV_viewport_array2
GL_OES_copy_image
GL_OES_draw_buffers_indexed
GL_OES_draw_elements_base_vertex
GL_OES_texture_border_clamp
GL_OES_tessellation_point_size
GL_OES_tessellation_shader
GL_OES_texture_buffer
GL_OES_geometry_point_size
GL_OES_geometry_shader
GL_OES_gpu_shader5
GL_OES_shader_io_blocks
GL_OES_texture_view
GL_OES_primitive_bounding_box
GL_OES_texture_cube_map_array

↑ GL_NV_conservative_raster나 GL_NV_fragment_shader_interlock 등, Maxwell GM2xx에서 추가된 D3D12에 해당하는 기능도 보입니다. (참고)

↓ 그 밖에도 K1과의 차이로는 fp16 대응이 있습니다.

Precision:
 0: [15 15] 10       VS float  lowp
 1: [15 15] 10       VS float  mediump
 2: [127 127] 23     VS float  highp
 3: [31 30] 0        VS int    lowp
 4: [31 30] 0        VS int    mediump
 5: [31 30] 0        VS int    highp
 6: [15 15] 10       FS float  lowp
 7: [15 15] 10       FS float  mediump
 8: [127 127] 23     FS float  highp
 9: [31 30] 0        FS int    lowp
10: [31 30] 0        FS int    mediump
11: [31 30] 0        FS int    highp

자세한 것은 다음 글에 추가했습니다.

공식 사이트에서는 Tegra X1의 CPU clock이 올라와있지 않습니다만, 조사해본 바로는 2.0GHz였습니다. 다만 VFP Benchmark로 실제로 측정한 결과로는 2.1GHz에 상당하므로 TB같은 기능이 동작하고 있으리라 생각됩니다.

관련글

+ Recent posts