build fix

This commit is contained in:
James Bryant
2025-09-12 19:38:48 -07:00
parent 28ef97d4f6
commit 9279ab115e
7 changed files with 28 additions and 28 deletions

View File

@@ -898,26 +898,3 @@ void StartUpArgs::setResolution(BString resolution) {
this->resolutionSet = true;
}
}
void StartUpArgs::setOpenGlType(U32 type) {
if (type == OPENGL_TYPE_DEFAULT) {
type = GlobalSettings::getDefaultOpenGL();
}
#ifdef __MACH__
if (type != OPENGL_TYPE_NATIVE) {
GlobalSettings::startUpArgs.openGlLib = "osmesa";
}
#endif
#ifdef BOXEDWINE_MSVC
if (type != OPENGL_TYPE_NATIVE) {
GlobalSettings::startUpArgs.openGlLib = GlobalSettings::alternativeOpenGlLocation();
if (type == OPENGL_TYPE_LLVM_PIPE) {
putenv("GALLIUM_DRIVER=llvmpipe");
} else if (type == OPENGL_TYPE_ON_D3D12) {
putenv("GALLIUM_DRIVER=d3d12");
} else if (type == OPENGL_TYPE_ON_VULKAN) {
putenv("GALLIUM_DRIVER=zink");
}
}
#endif
}

View File

@@ -72,8 +72,7 @@ public:
void addArgs(const std::vector<BString>& args) {this->args.insert(this->args.end(), args.begin(), args.end());}
void addZip(BString zip) {this->zips.push_back(zip);}
void setRoot(BString root) {this->root = root;}
void setCpuAffinity(int affinity) {this->cpuAffinity = affinity;}
void setOpenGlType(U32 type);
void setCpuAffinity(int affinity) {this->cpuAffinity = affinity;}
std::vector<BString> buildArgs();

View File

@@ -311,7 +311,7 @@ void InstallView::onInstall() {
GlobalSettings::startUpArgs.setScale(GlobalSettings::getDefaultScale());
GlobalSettings::startUpArgs.setVsync(GlobalSettings::getDefaultVsync());
GlobalSettings::startUpArgs.setResolution(GlobalSettings::getDefaultResolution());
GlobalSettings::startUpArgs.setOpenGlType(GlobalSettings::getDefaultOpenGL());
GlobalSettings::setOpenGlTypeOnStartupArgs(GlobalSettings::getDefaultOpenGL());
bool containerCreated = false;
if (!container) {
BString containerFilePath = GlobalSettings::createUniqueContainerPath(containerName);

View File

@@ -285,7 +285,7 @@ void AppFile::install(bool chooseShortCut, BoxedContainer* container, std::list<
GlobalSettings::startUpArgs.setScale(GlobalSettings::getDefaultScale());
GlobalSettings::startUpArgs.setVsync(GlobalSettings::getDefaultVsync());
GlobalSettings::startUpArgs.setResolution(GlobalSettings::getDefaultResolution());
GlobalSettings::startUpArgs.setOpenGlType(GlobalSettings::getDefaultOpenGL());
GlobalSettings::setOpenGlTypeOnStartupArgs(GlobalSettings::getDefaultOpenGL());
container->launch();
if (GlobalSettings::isAutomationEnabled()) {

View File

@@ -227,7 +227,7 @@ void BoxedApp::launch() {
}
}
GlobalSettings::startUpArgs.setWorkingDir(this->path);
GlobalSettings::startUpArgs.setOpenGlType(this->openGlType);
GlobalSettings::setOpenGlTypeOnStartupArgs(this->openGlType);
GlobalSettings::startUpArgs.readyToLaunch = true;
}

View File

@@ -947,6 +947,29 @@ BString GlobalSettings::alternativeOpenGlUrl() {
return BString::empty;
}
void GlobalSettings::setOpenGlTypeOnStartupArgs(U32 type) {
if (type == OPENGL_TYPE_DEFAULT) {
type = GlobalSettings::getDefaultOpenGL();
}
#ifdef __MACH__
if (type != OPENGL_TYPE_NATIVE) {
GlobalSettings::startUpArgs.openGlLib = "osmesa";
}
#endif
#ifdef BOXEDWINE_MSVC
if (type != OPENGL_TYPE_NATIVE) {
GlobalSettings::startUpArgs.openGlLib = GlobalSettings::alternativeOpenGlLocation();
if (type == OPENGL_TYPE_LLVM_PIPE) {
putenv("GALLIUM_DRIVER=llvmpipe");
} else if (type == OPENGL_TYPE_ON_D3D12) {
putenv("GALLIUM_DRIVER=d3d12");
} else if (type == OPENGL_TYPE_ON_VULKAN) {
putenv("GALLIUM_DRIVER=zink");
}
}
#endif
}
U32 GlobalSettings::alternativeOpenGlDownloadSizeMB() {
if (KSystem::isWindows()) {
if (KSystem::getArchitecture() == "x86") {

View File

@@ -175,6 +175,7 @@ public:
static BString alternativeOpenGlUrl();
static U32 alternativeOpenGlDownloadSizeMB();
static bool cacheReads() { return GlobalSettings::enabledCachedReadFiles; }
static void setOpenGlTypeOnStartupArgs(U32 type);
static StartUpArgs startUpArgs;