__declspec(dllexport) void CALLBACK _ToggleVSync( bool set ) { ToggleVSync( set ); }
int32_t FceuGraphics::PSGLInit() { glDisable(GL_DEPTH_TEST); ToggleVSync(m_vsync); uint32_t ret = InitCg(); if (ret != CELL_OK) { LOG_DBG("Failed to InitCg: %d\n", __LINE__); } //FIXME: Change to SetViewports? set_aspect(); vertex_buf = (uint8_t*)memalign(128, 256); assert(vertex_buf); glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glColor4f(1.0, 1.0, 1.0, 1.0); Clear(); Swap(); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glGenBuffers(1, &pbo); glGenBuffers(1, &vbo); // Vertexes GLfloat vertexes[] = { 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1 }; memcpy(vertex_buf, vertexes, 12 * sizeof(GLfloat)); memcpy(vertex_buf + 128, vertexes + 12, 8 * sizeof(GLfloat)); glBindBuffer(GL_ARRAY_BUFFER, vbo); glBufferData(GL_ARRAY_BUFFER, 256, vertex_buf, GL_STATIC_DRAW); glEnableClientState(GL_VERTEX_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); glVertexPointer(3, GL_FLOAT, 0, 0); glTexCoordPointer(2, GL_FLOAT, 0, (void*)128); glEnable(GL_TEXTURE_2D); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); glBindBuffer(GL_PIXEL_UNPACK_BUFFER_ARB, pbo); SetSmooth(m_smooth); glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glColor4f(1.0, 1.0, 1.0, 1.0); Clear(); Swap(); return CELL_OK; }