繁体   English   中英

AMD OpenGL ES SDK设置

[英]AMD OpenGL ES SDK setup

我安装了AMD OpenGL ES SDK以便能够开发ES2程序.SDK包含一个演示程序,我尝试运行该演示程序并在此处出现错误:

EGLDisplay eglDisplay;
eglDisplay = eglGetDisplay(nativeDisplay);

这是main.cpp中的第214行。错误是“访问冲突执行位置”。现在,nativeDisplay似乎未初始化。它的初始化发生在以下代码块的几行中:

    EGLNativeDisplayType nativeDisplay;
if(!OpenNativeDisplay(&nativeDisplay))
{
    printf("Could not get open native display\n");
    return GL_FALSE;
}

确实,当我打开OpenNativeDisplay()方法时,我在里面看到的是:

  bool OpenNativeDisplay(EGLNativeDisplayType* nativedisp_out)
 {
    *nativedisp_out = (EGLNativeDisplayType) NULL;
    return true;
 }

是SDK漏洞的一种还是应该是故意的? 我的系统是Windows 764bit,使用Visual Studio 2010 Express和VC10编译器,我的GPU是NVidia GeForce GT 630M

请勿在您遇到的情况下使用此SDK,因为它不适用于NV GPU。 AMD实际上是在驱动程序级别实现EGL(如果您查看atioglxx.dll的导出表,则可以看到此代码),而NV则没有。

对于NV解决方案,请考虑ES2配置文件扩展名: WGL_EXT_create_context_es2_profile并使用传统的WGL窗口系统代替EGL。 无论如何,这都不是完美的匹配,但它是您在NV GPU上可以做到的最好的选择。

顺便说一句,如果您阅读了链接到AMD SDK的第一部分的底部,它基本上会告诉您我刚刚做了什么:

通常,在桌面环境中开发和执行OpenGL ES应用程序需要仿真器或转换层,但是通过此SDK,AMD在运行AMD Radeon™HD,AMD Mobility Radeon™HD,和AMD FirePro™图形卡。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM