场景:
Linux centos 7,安装两块GeForce显卡(2060s、960),通过程序选择不同显卡执行绘制
工具:
EGL 1.5、GL、GLEW
代码:
#include <EGL/egl.h>
#include <EGL/eglext.h>
#define EGL_EGLEXT_PROTOTYPES
……
//选择显卡,创建上下文
static const int MAX_DEVICES = 10;
EGLDeviceEXT eglDevs[MAX_DEVICES];
EGLint numDev;
PFNEGLQUERYDEVICESEXTPROC eglQueryDevicesEXT=(PFNEGLQUERYDEVICESEXTPROC) eglGetProcAddress("eglQueryDevicesEXT");
eglQueryDevicesEXT(MAX_DEVICES, eglDevs, &numDev);
PFNEGLGETPLATFORMDISPLAYEXTPROC eglGetPlatformDisplayEXT =
(PFNEGLGETPLATFORMDISPLAYEXTPROC)
eglGetProcAddress("eglGetPlatformDisplayEXT");
EGLDisplay dis1 = eglGetPlatformDisplayEXT(EGL_PLATFORM_DEVICE_EXT,eglDevs[0], 0);//选择显卡、双显卡0、1可以创建display,会有2、3的额外设备,但是创建出的display为空。
EGLint major,minor;