/* Draw frames WITH-OUT texturing one above other with blending */ void test5(struct globalStruct *globals) { timeval startTime, endTime; unsigned long diffTime2; int i; glEnable(GL_BLEND); glBlendEquation(GL_FUNC_ADD); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); float *pVertexArray, *pTexCoordArray; common_init_gl_vertices(globals->inNumberOfObjectsPerSide, &pVertexArray); common_init_gl_texcoords(globals->inNumberOfObjectsPerSide, &pTexCoordArray); gettimeofday(&startTime, NULL); for(i = 0;(i < globals->numTestIterations)&&(!globals->quitSignal);i ++) { SGXPERF_STARTPROFILEUNIT; glClear(GL_COLOR_BUFFER_BIT); common_gl_draw(globals, globals->inNumberOfObjectsPerSide); common_eglswapbuffers(globals, globals->eglDisplay, globals->eglSurface); SGXPERF_ENDPROFILEUNIT } gettimeofday(&endTime, NULL); diffTime2 = (tv_diff(&startTime, &endTime))/globals->numTestIterations; common_log(globals, 5, diffTime2); glDisableVertexAttribArray(VERTEX_ARRAY); glDisable(GL_BLEND); common_deinit_gl_vertices(pVertexArray); }
void test21_eglimagekhr() { int matrixLocation; deviceClass = new TISGXStreamEGLIMAGEDevice(); texClass = new TISGXStreamTexEGLIMAGE(); test_eglimagekhr_init_texture_streaming(); paArray[0] = physicalAddress; deviceClass->init(&tempAttrib, lastDeviceClass, paArray); texClass->init(lastDeviceClass); texClass->load_v_shader(NULL); texClass->load_f_shader(NULL); texClass->load_program(); matrixLocation = texClass->get_uniform_location("MVPMatrix"); set_mvp(matrixLocation); //initialise gl vertices float *pVertexArray, *pTexCoordArray; common_init_gl_vertices(inNumberOfObjectsPerSide, &pVertexArray); common_init_gl_texcoords(inNumberOfObjectsPerSide, &pTexCoordArray); //Rendering loop glClear(GL_COLOR_BUFFER_BIT); deviceClass->qTexImage2DBuf(&paArray); common_gl_draw(inNumberOfObjectsPerSide); common_eglswapbuffers (eglDisplay, eglSurface); deviceClass->signal_draw(0); //only 1 buffer deviceClass->dqTexImage2DBuf(&freeArray); deviceClass->destroy(); test_eglimagekhr_deinit_texture_streaming(); }