mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-03-31 09:07:13 +09:00
Pipewire: dont attempt to use modifier if modifier is 0x0
This commit is contained in:
4
TODO
4
TODO
@@ -312,4 +312,6 @@ When constant framerate is used (and for audio) multiple frames need to be encod
|
|||||||
|
|
||||||
Colors are correct, but they look incorrect for thin elements, such as colored text. This can be improved by sampling neighbor pixels for color average.
|
Colors are correct, but they look incorrect for thin elements, such as colored text. This can be improved by sampling neighbor pixels for color average.
|
||||||
|
|
||||||
Record first video/audio frame immediately.
|
Record first video/audio frame immediately.
|
||||||
|
|
||||||
|
Disable GL_DEPTH_TEST, GL_CULL_FACE.
|
||||||
|
|||||||
@@ -254,7 +254,6 @@ static int load_graphics_shader_y(gsr_shader *shader, gsr_egl *egl, gsr_color_gr
|
|||||||
"} \n");
|
"} \n");
|
||||||
|
|
||||||
const char *main_code =
|
const char *main_code =
|
||||||
main_code =
|
|
||||||
" vec4 pixel = texture(tex1, texcoords_out); \n"
|
" vec4 pixel = texture(tex1, texcoords_out); \n"
|
||||||
" FragColor.x = (RGBtoYUV * vec4(pixel.rgb, 1.0)).x; \n"
|
" FragColor.x = (RGBtoYUV * vec4(pixel.rgb, 1.0)).x; \n"
|
||||||
" FragColor.w = pixel.a; \n";
|
" FragColor.w = pixel.a; \n";
|
||||||
@@ -317,7 +316,6 @@ static unsigned int load_graphics_shader_uv(gsr_shader *shader, gsr_egl *egl, gs
|
|||||||
"} \n");
|
"} \n");
|
||||||
|
|
||||||
const char *main_code =
|
const char *main_code =
|
||||||
main_code =
|
|
||||||
" vec4 pixel = texture(tex1, texcoords_out); \n"
|
" vec4 pixel = texture(tex1, texcoords_out); \n"
|
||||||
" FragColor.xy = (RGBtoYUV * vec4(pixel.rgb, 1.0)).yz; \n"
|
" FragColor.xy = (RGBtoYUV * vec4(pixel.rgb, 1.0)).yz; \n"
|
||||||
" FragColor.w = pixel.a; \n";
|
" FragColor.w = pixel.a; \n";
|
||||||
@@ -378,7 +376,6 @@ static unsigned int load_graphics_shader_rgb(gsr_shader *shader, gsr_egl *egl, g
|
|||||||
"} \n");
|
"} \n");
|
||||||
|
|
||||||
const char *main_code =
|
const char *main_code =
|
||||||
main_code =
|
|
||||||
" vec4 pixel = texture(tex1, texcoords_out); \n"
|
" vec4 pixel = texture(tex1, texcoords_out); \n"
|
||||||
" FragColor = pixel; \n";
|
" FragColor = pixel; \n";
|
||||||
|
|
||||||
|
|||||||
@@ -730,7 +730,7 @@ static EGLImage gsr_pipewire_video_create_egl_image_with_fallback(gsr_pipewire_v
|
|||||||
if(self->no_modifiers_fallback) {
|
if(self->no_modifiers_fallback) {
|
||||||
image = gsr_pipewire_video_create_egl_image(self, fds, offsets, pitches, modifiers, false);
|
image = gsr_pipewire_video_create_egl_image(self, fds, offsets, pitches, modifiers, false);
|
||||||
} else {
|
} else {
|
||||||
image = gsr_pipewire_video_create_egl_image(self, fds, offsets, pitches, modifiers, true);
|
image = gsr_pipewire_video_create_egl_image(self, fds, offsets, pitches, modifiers, self->format.info.raw.modifier != 0);
|
||||||
if(!image) {
|
if(!image) {
|
||||||
if(self->renegotiated) {
|
if(self->renegotiated) {
|
||||||
fprintf(stderr, "gsr error: gsr_pipewire_video_create_egl_image_with_fallback: failed to create egl image with modifiers, trying without modifiers\n");
|
fprintf(stderr, "gsr error: gsr_pipewire_video_create_egl_image_with_fallback: failed to create egl image with modifiers, trying without modifiers\n");
|
||||||
|
|||||||
Reference in New Issue
Block a user