【发布时间】:2013-03-20 18:43:26
【问题描述】:
我正在为具有 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 有这个: 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
【问题讨论】: