gardesk/garterm / 1bacf68

Browse files

fix: use default wgpu limits to support large windows

Authored by mfwolffe <wolffemf@dukes.jmu.edu>
SHA
1bacf682581488b04cb8be0950e0128ca619038d
Parents
8d93a2b
Tree
21cf9b7

1 changed file

StatusFile+-
M garterm/src/render/gpu.rs 8 5
garterm/src/render/gpu.rsmodified
@@ -129,12 +129,12 @@ impl GpuContext {
129129
         let display = xlib_display.display_ptr();
130130
         let screen = xlib_display.default_screen();
131131
 
132
-        // Prefer GL over Vulkan for better X11 compositor integration
132
+        // Try Vulkan first (higher texture limits), fall back to GL
133
+        // GL has a 2048 texture limit on some systems which breaks full-screen windows
133134
         let instance = wgpu::Instance::new(&wgpu::InstanceDescriptor {
134
-            backends: wgpu::Backends::GL,
135
+            backends: wgpu::Backends::VULKAN | wgpu::Backends::GL,
135136
             ..Default::default()
136137
         });
137
-        tracing::info!("Using OpenGL backend for better compositor compatibility");
138138
 
139139
         let handle = XlibWindowHandle::new(window, display, screen);
140140
 
@@ -149,14 +149,17 @@ impl GpuContext {
149149
             .await
150150
             .ok_or(GpuError::NoAdapter)?;
151151
 
152
-        tracing::info!("Using GPU adapter: {:?}", adapter.get_info().name);
152
+        let adapter_info = adapter.get_info();
153
+        tracing::info!("Using GPU adapter: {:?} (backend: {:?})", adapter_info.name, adapter_info.backend);
153154
 
154155
         let (device, queue) = adapter
155156
             .request_device(
156157
                 &wgpu::DeviceDescriptor {
157158
                     label: Some("garterm"),
158159
                     required_features: wgpu::Features::empty(),
159
-                    required_limits: wgpu::Limits::downlevel_webgl2_defaults(),
160
+                    // Use default limits (8192 max texture) instead of downlevel (2048)
161
+                    // to support full-screen windows on high-res displays
162
+                    required_limits: wgpu::Limits::default(),
160163
                     memory_hints: wgpu::MemoryHints::Performance,
161164
                 },
162165
                 None,