diff options
author | dec05eba <dec05eba@protonmail.com> | 2024-09-17 00:09:03 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2024-09-17 00:09:03 +0200 |
commit | 85d35bede2ce1328e6fed13461f98f063c4907e8 (patch) | |
tree | 8f589c3579d2bd818644dfad5b0df5008633aeb2 /src/capture | |
parent | 09fa00d4a751a2ac00e383de8426c6934873ad45 (diff) |
Disable pure vaapi for intel because it doesn't work, will be fixed later if possible
Diffstat (limited to 'src/capture')
-rw-r--r-- | src/capture/kms.c | 4 | ||||
-rw-r--r-- | src/capture/portal.c | 2 | ||||
-rw-r--r-- | src/capture/xcomposite.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/src/capture/kms.c b/src/capture/kms.c index 6051e5c..ba8510d 100644 --- a/src/capture/kms.c +++ b/src/capture/kms.c @@ -552,7 +552,7 @@ static int gsr_capture_kms_capture(gsr_capture *cap, AVFrame *frame, gsr_color_c if(drm_fd->has_hdr_metadata && self->params.hdr && hdr_metadata_is_supported_format(&drm_fd->hdr_metadata)) gsr_kms_set_hdr_metadata(self, drm_fd); - if(!self->performance_error_shown && self->monitor_rotation != GSR_MONITOR_ROT_0 && video_codec_context_is_vaapi(self->video_codec_context)) { + if(!self->performance_error_shown && self->monitor_rotation != GSR_MONITOR_ROT_0 && video_codec_context_is_vaapi(self->video_codec_context) && self->params.egl->gpu_info.vendor == GSR_GPU_VENDOR_AMD) { self->performance_error_shown = true; fprintf(stderr,"gsr warning: gsr_capture_kms_capture: the monitor you are recording is rotated, composition will have to be used." " If you are experience performance problems in the video then record a single window on X11 or use portal capture option instead\n"); @@ -576,7 +576,7 @@ static int gsr_capture_kms_capture(gsr_capture *cap, AVFrame *frame, gsr_color_c } /* Fast opengl free path */ - if(self->monitor_rotation == GSR_MONITOR_ROT_0 && video_codec_context_is_vaapi(self->video_codec_context)) { + if(self->monitor_rotation == GSR_MONITOR_ROT_0 && video_codec_context_is_vaapi(self->video_codec_context) && self->params.egl->gpu_info.vendor == GSR_GPU_VENDOR_AMD) { int fds[4]; uint32_t offsets[4]; uint32_t pitches[4]; diff --git a/src/capture/portal.c b/src/capture/portal.c index 2836c71..40e4581 100644 --- a/src/capture/portal.c +++ b/src/capture/portal.c @@ -342,7 +342,7 @@ static int gsr_capture_portal_capture(gsr_capture *cap, AVFrame *frame, gsr_colo // TODO: Handle region crop /* Fast opengl free path */ - if(video_codec_context_is_vaapi(self->video_codec_context)) { + if(video_codec_context_is_vaapi(self->video_codec_context) && self->params.egl->gpu_info.vendor == GSR_GPU_VENDOR_AMD) { int fds[4]; uint32_t offsets[4]; uint32_t pitches[4]; diff --git a/src/capture/xcomposite.c b/src/capture/xcomposite.c index 87327ca..9d053bb 100644 --- a/src/capture/xcomposite.c +++ b/src/capture/xcomposite.c @@ -262,7 +262,7 @@ static int gsr_capture_xcomposite_capture(gsr_capture *cap, AVFrame *frame, gsr_ self->params.egl->glFinish(); /* Fast opengl free path */ - if(video_codec_context_is_vaapi(self->video_codec_context)) { + if(video_codec_context_is_vaapi(self->video_codec_context) && self->params.egl->gpu_info.vendor == GSR_GPU_VENDOR_AMD) { vaapi_copy_egl_image_to_video_surface(self->params.egl, self->window_texture.image, (vec2i){0, 0}, self->texture_size, target_pos, self->texture_size, self->video_codec_context, frame); } else { gsr_color_conversion_draw(color_conversion, window_texture_get_opengl_texture_id(&self->window_texture), |