我正在为具有 Tegra 250 T20 的 android Galaxy Tab 10.1 开发应用程序。我正在用 GLSL 编写一个带有 for() 循环的着色器。我希望 for() 循环在某些情况下提前终止。
我所看到的是着色器编译器已展开循环并且正在执行整个展开代码,这会降低性能。
问题来了:Tegra 250 T20 是否支持执行流指令?如果是这样,我怎么能告诉编译器实际使用它们。
非常感谢任何和所有的答复。
ETA:glGetString(GLES20.GL_SHADING_LANGUAGE_VERSION) 返回“OpenGL ES GLSL 1.00”。
此外,如果 GLSL 无法处理,我如何用 ARB 汇编语言编写自己的操作?
ETA2: GL_EXTENSIONS has this: GL_NV_platform_binary GL_OES_rgb8_rgba8 GL_OES_EGL_sync GL_OES_fbo_render_mipmap GL_NV_depth_nonlinear GL_NV_draw_path GL_NV_texture_npot_2D_mipmap GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_vertex_half_float GL_NV_framebuffer_vertex_attrib_array GL_NV_coverage_sample GL_OES_mapbuffer GL_ARB_draw_buffers GL_EXT_Cg_shader GL_EXT_packed_float GL_OES_texture_half_float GL_OES_texture_float GL_EXT_texture_array GL_OES_compressed_ETC1_RGB8_texture GL_EXT_texture_compression_latc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_NV_get_tex_image GL_NV_read_buffer GL_NV_shader_framebuffer_fetch GL_NV_fbo_color_attachments GL_EXT_bgra GL_EXT_texture_format_BGRA8888 GL_EXT_unpack_subimage GL_NV_texture_compression_s3tc_update