void OGLVideoMupenPlus::_swapBuffers() { // if emulator defined a render callback function, call it before buffer swap if (renderCallback != NULL) { glUseProgram(0); if (config.frameBufferEmulation.N64DepthCompare == 0) { glViewport(0, getHeightOffset(), getScreenWidth(), getScreenHeight()); gSP.changed |= CHANGED_VIEWPORT; } gDP.changed |= CHANGED_COMBINE; (*renderCallback)((gDP.changed&CHANGED_CPU_FB_WRITE) == 0 ? 1 : 0); } CoreVideo_GL_SwapBuffers(); }
void DisplayWindowMupen64plus::_swapBuffers() { // if emulator defined a render callback function, call it before buffer swap if (renderCallback != nullptr) { gfxContext.resetShaderProgram(); if (config.frameBufferEmulation.N64DepthCompare == 0) { gfxContext.setViewport(0, getHeightOffset(), getScreenWidth(), getScreenHeight()); gSP.changed |= CHANGED_VIEWPORT; } gDP.changed |= CHANGED_COMBINE; (*renderCallback)((gDP.changed&CHANGED_CPU_FB_WRITE) == 0 ? 1 : 0); } CoreVideo_GL_SwapBuffers(); }
void BbqOutOfCoreDataSource::changed(ConstFieldMaskArg whichField, UInt32 origin, BitVector details) { Inherited::changed(whichField, origin, details); if(0x0000 != (whichField & (FilenameFieldMask | HeightScaleFieldMask | HeightOffsetFieldMask | SampleSpacingFieldMask))) { initialize(getFilename().c_str(), getHeightScale (), getHeightOffset (), getSampleSpacing()); const BbqDataSourceInformation &bbqInfo = this->getInformation(); fprintf(stderr, "%d %d\n", bbqInfo.levelCount, bbqInfo.nodeCount); fprintf(stderr, "%d %d %d\n", bbqInfo.heightTileSize, bbqInfo.heightSampleCount[0], bbqInfo.heightSampleCount[1]); fprintf(stderr, "%f %f %f\n", bbqInfo.heightScale, bbqInfo.heightOffset, bbqInfo.sampleSpacing); } }