Horizontal comparison of OpenGL ES emulator

Source: Internet
Author: User

 

Reprinted please indicate the source for the klayge game engine, this article address for http://www.klayge.org/2011/04/20/opengl-es-emulator%e6%a8%aa%e5%90%91%e6%af%94%e8%be%83/

 

OpenGL ES is widely used on mobile devices. To develop something on PC, we usually need an OpenGL ES emulator. Currently, common simulators include AMD, arm, Qualcomm, and NVIDIA. What are their capabilities? Let's make a simple horizontal comparison.

Basic Features
Vendor AMD Arm
Name OpenGL elasticsearch 2.0 emulator
(Already sold to Qualcomm)
OpenGL ES 2.0 emulator v1.2
Simulated target AMD handheld GPU Mali
Core version 2.0 1.x, 2.0
Extension Gl_amd_alpha_test
Gl_amd_compressed_3dc_texture
Gl_amd_compressed_atc_texture
Gl_amd_logic_op
Gl_amd_program_binary_z400
Gl_amd_writeonly_rendering
Gl_ext_texture_filter_anisotropic
Gl_ext_texture_type_2_10_10_10_rev
Gl_oes_compressed_etc1_rgb8_texture
Gl_oes_compressed_paletted_texture
Gl_oes_depth_texture
Gl_oes_depth24
Gl_oes_element_index_uint
Gl_oes_fragment_precision_high
Gl_oes_get_program_binary
Gl_oes_packed_depth_stencel
Gl_oes_rgb8_rgba8
Gl_oes_standard_derivatives
Gl_oes_texture_3d
Gl_oes_texture_float
Gl_oes_texture_float_linear
Gl_oes_texture_half_float
Gl_oes_texture_half_float_linear
Gl_oes_texture_npot
Gl_oes_vertex_half_float
Gl_oes_vertex_type_10_10_10_2
Gl_oes_compressed_etc1_rgb8_texture
Vendor Qualcomm NVIDIA
Name Adreno sdks 2.2
X86 Windows OpenGL ES 2.0 emulator
Simulated target Qualcomm Adreno hardware Tegra
Core version 2.0 2.0
Extension Gl_amd_alpha_test
Gl_amd_compressed_3dc_texture
Gl_amd_compressed_atc_texture
Gl_amd_logic_op
Gl_amd_shader_binary_z400
Gl_ext_texture_filter_anisotropic
Gl_ext_texture_type_2_10_10_10_rev
Gl_oes_compressed_etc1_rgb8_texture
Gl_oes_compressed_paletted_texture
Gl_oes_depth_texture
Gl_oes_depth24
Gl_oes_element_index_uint
Gl_oes_fragment_precision_high
Gl_oes_packed_depth_stencel
Gl_oes_rgb8_rgba8
Gl_oes_standard_derivatives
Gl_oes_texture_3d
Gl_oes_texture_float
Gl_oes_texture_float_linear
Gl_oes_texture_half_float
Gl_oes_texture_half_float_linear
Gl_oes_texture_npot
Gl_oes_vertex_half_float
Gl_oes_vertex_type_10_10_10_2
Gl_ext_texture_compression_dxt1
Gl_ext_texture_compression_s3tc
Gl_nv_log_textures
Gl_oes_compressed_paletted_texture
Gl_oes_element_index_uint
Gl_oes_framebuffer_object
Gl_oes_mapbuffer
Gl_oes_rgb8_rgba8
Gl_oes_shader_source
Gl_oes_stencil8
Gl_oes_texture_half_float

 

Features

AMD: The old simulator has been sold to Qualcomm along with AMD's handheld device business. This simulator is basically quite regular and is used for developing OpenGL ES 2 on the desktop. Its extension can meet common special effects, and its compatibility and speed are also good. The amd OpenGL ES simulator supports the es standard to a better degree than the amd OpenGL driver supports the GL standard.

Arm: Besides elasticsearch 2, elasticsearch supports elasticsearch 1.x. So if you want to develop the Es 1. X program, you can select arm. The problem is that there is only one etc1 in the extended list and it cannot support more powerful features such as floating point textures. Therefore, the use of many special effects may be limited. Note that the second parameter that supports es 1.xand eglchooseconfig must contain egl_opengl_es2_bit to establish the context of ES 2.0.

Qualcomm: Directly inherited from AMD's simulator, the two are almost identical. However, the problem I encountered during usage is that on the Nv video card, this simulator performs very strangely. It will establish a server and a client to connect through a socket, then deadlock... there is no problem with AMD's card. In general, I do not recommend this simulator very much.

NVIDIA: Among these simulators, NVIDIA's latest and simulated target hardware is also the most powerful. However, there are many problems in use:

  1. Although it seems that the interfaces of OpenGL ES 1.x and openvg are provided, they are just empty links and no code is implemented.
  2. The content of libglesv2 and libegl is merged into a static library named libgles20, so some modifications need to be made to the link.
  3. The function in libgles20 is the call method of _ cdecl, rather than the _ stdcall used by other simulators. If a link error occurs, check this location.
  4. Although glmapbufferoes is provided, the return value is always null.

This is what I have done. I recommend using Qualcomm on the amd card. Otherwise, arm is used. It may take some time for NVIDIA to stabilize it.

Gl_amd_alpha_test

Gl_amd_compressed_3dc_texture

Gl_amd_compressed_atc_texture

Gl_amd_logic_op

Gl_amd_program_binary_z400

Gl_amd_writeonly_rendering

Gl_ext_texture_filter_anisotropic

Gl_ext_texture_type_2_10_10_10_rev

Gl_oes_compressed_etc1_rgb8_texture

Gl_oes_compressed_paletted_texture

Gl_oes_depth_texture

Gl_oes_depth24

Gl_oes_element_index_uint

Gl_oes_fragment_precision_high

Gl_oes_get_program_binary

Gl_oes_packed_depth_stencel

Gl_oes_rgb8_rgba8

Gl_oes_standard_derivatives

Gl_oes_texture_3d

Gl_oes_texture_float

Gl_oes_texture_float_linear

Gl_oes_texture_half_float

Gl_oes_texture_half_float_linear

Gl_oes_texture_npot

Gl_oes_vertex_half_float

Gl_oes_vertex_type_10_10_10_2

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.