We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear All,
I am using Mali-400 GPU.
I want to use the Mali off-line shader compiler, to compile the Vertex shader and Fragment shaders.
Can some one please post the example code for using off-line compiled shaders in a OpenGLES2.0 application.
I have compiled my Vertex shader and Fragment shader using ARM Mali off-line compiler with below step
>malisc.exe --vertex -c Mali-400 -r r1p1 -d Mali-400_r5p0-01rel0 Vertex_shader.glsl -o vshader.out
>malisc.exe --fragment -c Mali-400 -r r1p1 -d Mali-400_r5p0-01rel0 Fragm_shader.glsl -o fragment.out
I am using below like code,
my application compiles successfully, but application not running on my target. copied the shader binaries content into a static array and usign that with glShaderBinary.
............................................
char VertexShaderArray[] = {<initialized using shader binary data>};
char fragShaderArray[] = {<initialized using shader binary data>};
GLuint v, f, program;
v = glCreateShader(GL_VERTEX_SHADER);
f = glCreateShader(GL_FRAGMENT_SHADER);
glShaderBinary(1, &v, 0x0, (void*)&VertexShaderArray, sizeof(char)*sizeof(VertexShaderArray));
glShaderBinary(1, &f, 0x0, (void*)&fragShaderArray, sizeof(char)*sizeof(fragShaderArray));
program = glCreateProgram();
glAttachShader(program, v);
glAttachShader(program, f);
glLinkProgram(program);
glUseProgram(program);
.........................................
I am getting a message on my target while running this application:
info: L0101 All attached shaders must be compiled prior to linking
Thanks,
Ravinder Are