summarylogtreecommitdiffstats
path: root/wlroots-nvidia-screenshare.patch
blob: 55c62729a0593dfa4778e1973ada99b632a4e275 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
diff --git a/types/output/render.c b/types/output/render.c
--- types/output/render.c
+++ types/output/render.c
@@ -240,22 +240,8 @@
 }
 
 uint32_t wlr_output_preferred_read_format(struct wlr_output *output) {
-	struct wlr_renderer *renderer = output->renderer;
-	assert(renderer != NULL);
-
-	if (!renderer->impl->preferred_read_format || !renderer->impl->read_pixels) {
-		return DRM_FORMAT_INVALID;
-	}
-
-	if (!wlr_output_attach_render(output, NULL)) {
-		return false;
-	}
-
-	uint32_t fmt = renderer->impl->preferred_read_format(renderer);
-
-	output_clear_back_buffer(output);
-
-	return fmt;
+    // Hack for Nvidia screen sharing, might break other gpus (and maybe even some stuff in nvidia itself)
+	return DRM_FORMAT_XRGB8888;
 }
 
 struct wlr_render_pass *wlr_output_begin_render_pass(struct wlr_output *output,