MCPcopy Create free account
hub / github.com/VirtualGL/virtualgl / getGLXExtensions

Function getGLXExtensions

server/faker-glx.cpp:857–931  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

855static char glxextensions[1024] = VGL_GLX_EXTENSIONS;
856
857static const char *getGLXExtensions(void)
858{
859 const char *realGLXExtensions = fconfig.egl ? "" :
860 _glXQueryExtensionsString(DPY3D, DefaultScreen(DPY3D));
861
862 if(fconfig.egl)
863 {
864 faker::init3D();
865 if((faker::eglMajor > 1 || (faker::eglMajor == 1 && faker::eglMinor >= 5))
866 && !strstr(glxextensions, "GLX_ARB_create_context"))
867 strncat(glxextensions,
868 " GLX_ARB_create_context GLX_ARB_create_context_profile",
869 1023 - strlen(glxextensions));
870 if(!strstr(glxextensions, "GLX_EXT_framebuffer_sRGB"))
871 strncat(glxextensions, " GLX_EXT_framebuffer_sRGB",
872 1023 - strlen(glxextensions));
873 return glxextensions;
874 }
875 else
876 {
877 CHECKSYM_NONFATAL(glXCreateContextAttribsARB)
878 if(__glXCreateContextAttribsARB
879 && !strstr(glxextensions, "GLX_ARB_create_context"))
880 strncat(glxextensions,
881 " GLX_ARB_create_context GLX_ARB_create_context_profile",
882 1023 - strlen(glxextensions));
883 }
884
885 if(strstr(realGLXExtensions, "GLX_ARB_create_context_robustness")
886 && !strstr(glxextensions, "GLX_ARB_create_context_robustness"))
887 strncat(glxextensions, " GLX_ARB_create_context_robustness",
888 1023 - strlen(glxextensions));
889
890 if(strstr(realGLXExtensions, "GLX_ARB_fbconfig_float")
891 && !strstr(glxextensions, "GLX_ARB_fbconfig_float"))
892 strncat(glxextensions, " GLX_ARB_fbconfig_float",
893 1023 - strlen(glxextensions));
894
895 if(strstr(realGLXExtensions, "GLX_EXT_create_context_es2_profile")
896 && !strstr(glxextensions, "GLX_EXT_create_context_es2_profile"))
897 strncat(glxextensions, " GLX_EXT_create_context_es2_profile",
898 1023 - strlen(glxextensions));
899
900 if(strstr(realGLXExtensions, "GLX_EXT_fbconfig_packed_float")
901 && !strstr(glxextensions, "GLX_EXT_fbconfig_packed_float"))
902 strncat(glxextensions, " GLX_EXT_fbconfig_packed_float",
903 1023 - strlen(glxextensions));
904
905 if(strstr(realGLXExtensions, "GLX_EXT_framebuffer_sRGB")
906 && !strstr(glxextensions, "GLX_EXT_framebuffer_sRGB"))
907 strncat(glxextensions, " GLX_EXT_framebuffer_sRGB",
908 1023 - strlen(glxextensions));
909
910 CHECKSYM_NONFATAL(glXFreeContextEXT)
911 CHECKSYM_NONFATAL(glXImportContextEXT)
912 CHECKSYM_NONFATAL(glXQueryContextInfoEXT)
913 if(__glXFreeContextEXT && __glXImportContextEXT && __glXQueryContextInfoEXT
914 && !strstr(glxextensions, "GLX_EXT_import_context"))

Callers 3

glXGetClientStringFunction · 0.85
glXQueryExtensionsStringFunction · 0.85
glXQueryServerStringFunction · 0.85

Calls 1

init3DFunction · 0.85

Tested by

no test coverage detected