// Same as above, for YCbCr surfaces void TestTextureClientYCbCr(TextureClient* client, PlanarYCbCrData& ycbcrData) { client->Lock(OpenMode::OPEN_READ_WRITE); UpdateYCbCrTextureClient(client, ycbcrData); client->Unlock(); // client serialization SurfaceDescriptor descriptor; ASSERT_TRUE(client->ToSurfaceDescriptor(descriptor)); ASSERT_EQ(descriptor.type(), SurfaceDescriptor::TSurfaceDescriptorBuffer); auto bufferDesc = descriptor.get_SurfaceDescriptorBuffer(); ASSERT_EQ(bufferDesc.desc().type(), BufferDescriptor::TYCbCrDescriptor); auto ycbcrDesc = bufferDesc.desc().get_YCbCrDescriptor(); ASSERT_EQ(ycbcrDesc.ySize(), ycbcrData.mYSize); ASSERT_EQ(ycbcrDesc.cbCrSize(), ycbcrData.mCbCrSize); ASSERT_EQ(ycbcrDesc.stereoMode(), ycbcrData.mStereoMode); // host deserialization RefPtr<TextureHost> textureHost = CreateBackendIndependentTextureHost(descriptor, nullptr, client->GetFlags()); RefPtr<BufferTextureHost> host = static_cast<BufferTextureHost*>(textureHost.get()); ASSERT_TRUE(host.get() != nullptr); ASSERT_EQ(host->GetFlags(), client->GetFlags()); // host read if (host->Lock()) { // This will work iff the compositor is not BasicCompositor ASSERT_EQ(host->GetFormat(), mozilla::gfx::SurfaceFormat::YUV); host->Unlock(); } }
void GameUIConfig::SaveOptions() { setValue("video/resolution", Form->ui.pageOptions->CBResolution->currentText()); setValue("video/fullscreen", vid_Fullscreen()); setValue("video/quality", Form->ui.pageOptions->SLQuality->value()); setValue("video/stereo", stereoMode()); setValue("frontend/effects", isFrontendEffects()); setValue("misc/weaponTooltips", Form->ui.pageOptions->WeaponTooltip->isChecked()); bool ffscr = isFrontendFullscreen(); setValue("frontend/fullscreen", ffscr); emit frontendFullscreen(ffscr); if (!ffscr) { setValue("frontend/width", Form->width()); setValue("frontend/height", Form->height()); } else { //resizeToConfigValues(); // TODO: why this has been made? } setValue("audio/sound", isSoundEnabled()); setValue("frontend/sound", isFrontendSoundEnabled()); setValue("audio/music", isMusicEnabled()); setValue("frontend/music", isFrontendMusicEnabled()); setValue("audio/volume", Form->ui.pageOptions->volumeBox->value()); setValue("net/nick", netNick()); setValue("net/ip", *netHost); setValue("net/port", netPort); setValue("net/servername", Form->ui.pageNetServer->leServerDescr->text()); setValue("net/serverport", Form->ui.pageNetServer->sbPort->value()); setValue("fps/show", isShowFPSEnabled()); setValue("fps/limit", Form->ui.pageOptions->fpsedit->value()); setValue("misc/altdamage", isAltDamageEnabled()); setValue("misc/appendTimeToRecords", appendDateTimeToRecordName()); setValue("misc/locale", language()); #ifdef SPARKLE_ENABLED setValue("misc/autoUpdate", isAutoUpdateEnabled()); #endif Form->gameSettings->sync(); }
void GameUIConfig::SaveOptions() { setValue("video/fullscreenResolution", Form->ui.pageOptions->CBResolution->currentText()); setValue("video/windowedWidth", Form->ui.pageOptions->windowWidthEdit->text()); setValue("video/windowedHeight", Form->ui.pageOptions->windowHeightEdit->text()); setValue("video/fullscreen", vid_Fullscreen()); setValue("video/quality", Form->ui.pageOptions->SLQuality->value()); setValue("video/stereo", stereoMode()); setValue("frontend/effects", isFrontendEffects()); setValue("misc/weaponTooltips", Form->ui.pageOptions->WeaponTooltip->isChecked()); bool ffscr = isFrontendFullscreen(); setValue("frontend/fullscreen", ffscr); emit frontendFullscreen(ffscr); if (!ffscr) { setValue("frontend/width", Form->width()); setValue("frontend/height", Form->height()); } else { //resizeToConfigValues(); // TODO: why this has been made? } setValue("audio/sound", isSoundEnabled()); setValue("frontend/sound", isFrontendSoundEnabled()); setValue("audio/music", isMusicEnabled()); setValue("frontend/music", isFrontendMusicEnabled()); setValue("audio/volume", Form->ui.pageOptions->SLVolume->value()); setValue("net/nick", netNick()); if (netPasswordIsValid() && Form->ui.pageOptions->CBSavePassword->isChecked()) { setPasswordHash(netPasswordHash()); } else if(!Form->ui.pageOptions->CBSavePassword->isChecked()) { clearPasswordHash(); } setValue("net/savepassword", Form->ui.pageOptions->CBSavePassword->isChecked()); setValue("net/ip", *netHost); setValue("net/port", netPort); setValue("net/servername", Form->ui.pageNetServer->leServerDescr->text()); setValue("net/serverport", Form->ui.pageNetServer->sbPort->value()); setValue("fps/show", isShowFPSEnabled()); setValue("fps/limit", Form->ui.pageOptions->fpsedit->value()); setValue("misc/altdamage", isAltDamageEnabled()); setValue("misc/teamtag", Form->ui.pageOptions->CBTeamTag->isChecked()); setValue("misc/hogtag", Form->ui.pageOptions->CBHogTag->isChecked()); setValue("misc/healthtag", Form->ui.pageOptions->CBHealthTag->isChecked()); setValue("misc/tagopacity",Form->ui.pageOptions->CBTagOpacity->isChecked()); setValue("misc/appendTimeToRecords", appendDateTimeToRecordName()); setValue("misc/locale", language()); #ifdef SPARKLE_ENABLED setValue("misc/autoUpdate", isAutoUpdateEnabled()); #endif { // setup proxy int proxyType = Form->ui.pageOptions->cbProxyType->currentIndex(); setValue("proxy/type", proxyType); if(proxyType == PageOptions::Socks5Proxy || proxyType == PageOptions::HTTPProxy) { setValue("proxy/host", Form->ui.pageOptions->leProxy->text()); setValue("proxy/port", Form->ui.pageOptions->sbProxyPort->value()); setValue("proxy/login", Form->ui.pageOptions->leProxyLogin->text()); setValue("proxy/password", Form->ui.pageOptions->leProxyPassword->text()); } applyProxySettings(); } { // save colors QStandardItemModel * model = DataManager::instance().colorsModel(); for(int i = model->rowCount() - 1; i >= 0; --i) setValue(QString("colors/color%1").arg(i), model->item(i)->data().value<QColor>().name()); } sync(); }