This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/DRA725:自由 GBM 异常

Guru**** 2543430 points
Other Parts Discussed in Thread: DRA725

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/700487/linux-dra725-free-gbm-abnormal

器件型号:DRA725

工具/软件:Linux

硬件:DRA725定制板
软件:TI-processor-sdk-linux-Automotive ra7xx-evm-03_04_00_03

我的测试案例是用于创建和释放 GBM 的循环、我希望它持续运行。
但它是失败的。 我已将测试用例上传到 GitHub。
github.com/.../gbmtest.git

测试案例1运行成功
源代码:
 while (1){
   init_GBM();
   EXIT_GBM();
 }
 
 
测试案例2运行失败、错误消息的第二个循环中断:
 WSEGL_InitializeDisplay():789|ERROR>通过0x3d7b0的 GBM 器件与初始化值0x25968不匹配
源代码:
 while (1){
   init_GBM();
   init_gl();
   exit_gl();
   EXIT_GBM();
 }
 
 
 
测试案例3运行失败、错误消息的第五个循环中断:
 WSEGL_InitializeDisplay():789|ERROR>通过0x3ed18的 GBM 器件与初始化值0x25968不匹配
源代码:
 while (1){
   init_GBM();
   init_gl();
   Draw ();
   eglSwapBuffers();
   GBM_surface_lock_front_buffer();
   GBM_surface_release_buffer();
   exit_gl();
   EXIT_GBM();
 }

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ya Lin、

    您能否告诉我们您是否在循环中看到 init_gl()和 exit_gl()有任何问题?

    init_GBM();

    while (1){
    init_gl();
    exit_gl();


    EXIT_GBM();

    此致、
    Anand
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Anand、您好!

    测试案例4运行失败、错误消息的第二个循环中断:
    无法创建 EGL 曲面
    源代码:
    init_GBM();
    while (1){
    init_gl();
    exit_gl();

    EXIT_GBM();

    此致、
    亚琳
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ya Lin、

    感谢您的回答。

    当 GBM 执行创建-删除序列时、我们会发现代码中存在潜在问题。 我们将检查并将其包含在下一个错误修复周期中。

    在典型情况下、应用程序在其使用寿命内仅初始化 GBM 一次。 这就是迄今为止没有客户报告此问题的原因。

    此致、
    Anand
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ya Lin、
    如果您致电、TEST4将通过
    eglMakeCurrent (gl.display、EGL_NO_surface、EGL_NO_surface、EGL_NO_Context);
    正好在 exit_gl()中的 eglTerminate(gl.display)之前。 请确认

    GBM 显示后端存在问题。 test2和 TEST3将与此搭配使用。 将为您更新这两种测试场景的修复程序。