diff options
Diffstat (limited to 'devel/electron38/files/patch-gpu_ipc_service_gpu__init.cc')
-rw-r--r-- | devel/electron38/files/patch-gpu_ipc_service_gpu__init.cc | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/devel/electron38/files/patch-gpu_ipc_service_gpu__init.cc b/devel/electron38/files/patch-gpu_ipc_service_gpu__init.cc new file mode 100644 index 000000000000..ef2cc0a6e63f --- /dev/null +++ b/devel/electron38/files/patch-gpu_ipc_service_gpu__init.cc @@ -0,0 +1,83 @@ +--- gpu/ipc/service/gpu_init.cc.orig 2025-08-26 20:49:50 UTC ++++ gpu/ipc/service/gpu_init.cc +@@ -155,7 +155,7 @@ bool CanAccessDeviceFile(const GPUInfo& gpu_info) { + + #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CASTOS) + bool CanAccessDeviceFile(const GPUInfo& gpu_info) { +-#if BUILDFLAG(IS_LINUX) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) + if (gpu_info.gpu.vendor_id != 0x10de || // NVIDIA + gpu_info.gpu.driver_vendor != "NVIDIA") + return true; +@@ -417,7 +417,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + enable_watchdog = false; + #endif + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + bool gpu_sandbox_start_early = gpu_preferences_.gpu_sandbox_start_early; + #else // !(BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)) + // For some reasons MacOSX's VideoToolbox might crash when called after +@@ -455,7 +455,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + + bool attempted_startsandbox = false; +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // On Chrome OS ARM Mali, GPU driver userspace creates threads when + // initializing a GL context, so start the sandbox early. + // TODO(zmo): Need to collect OS version before this. +@@ -552,7 +552,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + gpu_preferences_.gr_context_type = GrContextType::kGL; + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // The ContentSandboxHelper is currently the only one implementation of + // GpuSandboxHelper and it has no dependency. Except on Linux where + // VaapiWrapper checks the GL implementation to determine which display +@@ -610,7 +610,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + command_line, gpu_feature_info_, + gpu_preferences_.disable_software_rasterizer, false); + if (gl_use_swiftshader_) { +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + VLOG(1) << "Quit GPU process launch to fallback to SwiftShader cleanly " + << "on Linux"; + return false; +@@ -778,7 +778,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + ->GetSupportedFormatsForGLNativePixmapImport(); + #endif // BUILDFLAG(IS_OZONE) + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Driver may create a compatibility profile context when collect graphics + // information on Linux platform. Try to collect graphics information + // based on core profile context after disabling platform extensions. +@@ -830,7 +830,7 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandL + } + } + } +-#if BUILDFLAG(IS_LINUX) || \ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) + if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) { + // https://rr-project.org/ is a Linux-only record-and-replay debugger that +@@ -1032,7 +1032,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c + } + bool gl_disabled = gl::GetGLImplementation() == gl::kGLImplementationDisabled; + +-#if BUILDFLAG(IS_LINUX) || \ ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_BSD) || \ + (BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_CHROMEOS_DEVICE)) + if (!gl_disabled && !gl_use_swiftshader_ && std::getenv("RUNNING_UNDER_RR")) { + // https://rr-project.org/ is a Linux-only record-and-replay debugger that +@@ -1088,7 +1088,7 @@ void GpuInit::InitializeInProcess(base::CommandLine* c + } + } + +-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ++#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_BSD) + // Driver may create a compatibility profile context when collect graphics + // information on Linux platform. Try to collect graphics information + // based on core profile context after disabling platform extensions. |