Check shader compiling/linking in detection.

This commit is contained in:
John Preston 2021-07-17 12:43:35 +03:00
parent d922c3085a
commit 0ad1d2c965

View file

@ -6,6 +6,7 @@
//
#include "ui/gl/gl_detection.h"
#include "ui/gl/gl_shader.h"
#include "ui/integration.h"
#include "base/debug_log.h"
@ -87,6 +88,22 @@ Capabilities CheckCapabilities(QWidget *widget) {
LOG_ONCE(("OpenGL: Shaders not supported."));
return {};
}
{
auto program = QOpenGLShaderProgram();
LinkProgram(
&program,
VertexShader({
VertexViewportTransform(),
VertexPassTextureCoord(),
}),
FragmentShader({
FragmentSampleARGB32Texture(),
}));
if (!program.isLinked()) {
LOG_ONCE(("OpenGL: Could not link simple shader."));
return {};
}
}
const auto supported = context->format();
switch (supported.profile()) {
case QSurfaceFormat::NoProfile: {