如何在OpenGL ES中查询着色器调用?

时间:2018-12-31 04:44:16

标签: c++ opengl-es

我正在尝试获取有关管道不同部分的一些统计信息,例如顶点着色器和片段着色器调用。我使用查询对象“ VERTEX_SHADER_INVOCATIONS_ARB”和“ FRAGMENT_SHADER_INVOCATIONS_ARB”在OpenGL上成功实现了它,但是OpenGL ES 3/2似乎不支持这些查询对象。有什么方法可以在OpenGL ES中查询它们?

我正在使用没有扩展功能的Android 9(API 28)和OpenGL ES 3.0。我的应用程序在小米8(Qualcomm Snapdragon 845)上运行。

在PC / OpenGL上,ARB_pipeline_statistics_query(https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_pipeline_statistics_query.txt)在我的应用程序中运行良好。

关于ARB_pipeline_statistics_query的一些描述:

    Accepted by the <target> parameter of BeginQuery, EndQuery, GetQueryiv,
    BeginQueryIndexed, EndQueryIndexed and GetQueryIndexediv:

    ......
    VERTEX_SHADER_INVOCATIONS_ARB                   0x82F0
    ......
    TESS_EVALUATION_SHADER_INVOCATIONS_ARB          0x82F2
    GEOMETRY_SHADER_INVOCATIONS                     0x887F
    ......
    FRAGMENT_SHADER_INVOCATIONS_ARB                 0x82F4
    COMPUTE_SHADER_INVOCATIONS_ARB                  0x82F5
    ......

0 个答案:

没有答案