私にはあまり意味がない問題が発生しています。私はHTCのNexus 6デバイスでいくつかの簡単なGLES30コードをテストしています。私はAPI 23とOS lollipop 5.0にコードを設定しています。はネクサス6(および類似のデバイス)でgles 30をコンパイルできません
シェーダコード:
#version 300 es
layout(location = 4) in vec4 a_position;
layout(location = 5) in vec4 a_color;
uniform mat4 u_mvpMatrix;
out vec4 v_color;
void main()
{
v_color = a_color;
gl_Position = u_mvpMatrix * a_position;
}
ログのwikiによれば、簡単なシェーダは以下のようにコンパイルを失敗し、それでもフルGLES 3.1プロファイル
https://en.wikipedia.org/wiki/Nexus_6をサポート副腎420を使用しています。
Vertex shader failed to compile with the following errors:
ERROR: 0:2: error(#308) Profile " " is not available in shader version 1777753240
ERROR: 0:1: error(#132) Syntax error: "es" parse error
ERROR: error(#273) 2 compilation errors. No code generated
私のコンテキストを3.0に設定しました。 以下のように。
const EGLint context_attribs[] = {EGL_CONTEXT_CLIENT_VERSION,
3, // Request opengl ES3.0
EGL_NONE};
context_ = eglCreateContext(display_, config_, NULL, context_attribs);
まだコンパイルされませんでした。
何か不足していますか?
thx!
ドライバのアップデートに問題がありました。 – gmmo