Add VisualServer methods to get the video adapter name and vendor
These methods can be used in scripts to retrieve the OpenGL `GL_RENDERER` and `GL_VENDOR` strings (respectively). This closes #28404.
This commit is contained in:
parent
61dd7748ca
commit
0cad2c0cd1
14 changed files with 70 additions and 4 deletions
|
|
@ -742,6 +742,8 @@ public:
|
|||
int get_captured_render_info(VS::RenderInfo p_info) { return 0; }
|
||||
|
||||
int get_render_info(VS::RenderInfo p_info) { return 0; }
|
||||
String get_video_adapter_name() const { return String(); }
|
||||
String get_video_adapter_vendor() const { return String(); }
|
||||
|
||||
static RasterizerStorage *base_singleton;
|
||||
|
||||
|
|
|
|||
|
|
@ -263,8 +263,7 @@ void RasterizerGLES2::initialize() {
|
|||
#endif // GLES_OVER_GL
|
||||
#endif // CAN_DEBUG
|
||||
|
||||
const GLubyte *renderer = glGetString(GL_RENDERER);
|
||||
print_line("OpenGL ES 2.0 Renderer: " + String((const char *)renderer));
|
||||
print_line("OpenGL ES 2.0 Renderer: " + VisualServer::get_singleton()->get_video_adapter_name());
|
||||
storage->initialize();
|
||||
canvas->initialize();
|
||||
scene->initialize();
|
||||
|
|
|
|||
|
|
@ -5766,6 +5766,16 @@ int RasterizerStorageGLES2::get_render_info(VS::RenderInfo p_info) {
|
|||
}
|
||||
}
|
||||
|
||||
String RasterizerStorageGLES2::get_video_adapter_name() const {
|
||||
|
||||
return (const char *)glGetString(GL_RENDERER);
|
||||
}
|
||||
|
||||
String RasterizerStorageGLES2::get_video_adapter_vendor() const {
|
||||
|
||||
return (const char *)glGetString(GL_VENDOR);
|
||||
}
|
||||
|
||||
void RasterizerStorageGLES2::initialize() {
|
||||
RasterizerStorageGLES2::system_fbo = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -1307,6 +1307,8 @@ public:
|
|||
virtual int get_captured_render_info(VS::RenderInfo p_info);
|
||||
|
||||
virtual int get_render_info(VS::RenderInfo p_info);
|
||||
virtual String get_video_adapter_name() const;
|
||||
virtual String get_video_adapter_vendor() const;
|
||||
|
||||
RasterizerStorageGLES2();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -186,8 +186,7 @@ void RasterizerGLES3::initialize() {
|
|||
}
|
||||
*/
|
||||
|
||||
const GLubyte *renderer = glGetString(GL_RENDERER);
|
||||
print_line("OpenGL ES 3.0 Renderer: " + String((const char *)renderer));
|
||||
print_line("OpenGL ES 3.0 Renderer: " + VisualServer::get_singleton()->get_video_adapter_name());
|
||||
storage->initialize();
|
||||
canvas->initialize();
|
||||
scene->initialize();
|
||||
|
|
|
|||
|
|
@ -8095,6 +8095,16 @@ int RasterizerStorageGLES3::get_render_info(VS::RenderInfo p_info) {
|
|||
}
|
||||
}
|
||||
|
||||
String RasterizerStorageGLES3::get_video_adapter_name() const {
|
||||
|
||||
return (const char *)glGetString(GL_RENDERER);
|
||||
}
|
||||
|
||||
String RasterizerStorageGLES3::get_video_adapter_vendor() const {
|
||||
|
||||
return (const char *)glGetString(GL_VENDOR);
|
||||
}
|
||||
|
||||
void RasterizerStorageGLES3::initialize() {
|
||||
|
||||
RasterizerStorageGLES3::system_fbo = 0;
|
||||
|
|
|
|||
|
|
@ -1467,6 +1467,8 @@ public:
|
|||
virtual int get_captured_render_info(VS::RenderInfo p_info);
|
||||
|
||||
virtual int get_render_info(VS::RenderInfo p_info);
|
||||
virtual String get_video_adapter_name() const;
|
||||
virtual String get_video_adapter_vendor() const;
|
||||
|
||||
RasterizerStorageGLES3();
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue