Hi Marcel,

On 5/7/19 7:49 AM, Marcel Apfelbaum wrote:
> From: HQM <hqm03s...@gmail.com>
> 
> In a GVT-g setup with dmabuf and GTK GUI, the current 2D texture at
> surface_gl_update_texture is not necessarily
> surface->texture. Adding a glBindTexture fixes related crashes and
> artifacts, and is generally more secure.
> 
> Signed-off-by: HQM <hqm03s...@gmail.com>

This looks like an acronym, per
https://wiki.qemu.org/Contribute/SubmitAPatch#Patch_emails_must_include_a_Signed-off-by:_line

"Patch emails must include a Signed-off-by: line [...] Please use your
real name to sign a patch (not an alias or acronym)."

> Tested-by: Marcel Apfelbaum<marcel.apfelb...@gmail.com>
> [fixed malformed patch, rebase to master]
> Signed-off-by: Marcel Apfelbaum <marcel.apfelb...@gmail.com>
> ---
> 
> v2:
>  - fixed malformed patch
>  - rebased to master
> 
>  ui/console-gl.c | 18 +++++++++++-------
>  1 file changed, 11 insertions(+), 7 deletions(-)
> 
> diff --git a/ui/console-gl.c b/ui/console-gl.c
> index a56e1cd8eb..c1cb3bd673 100644
> --- a/ui/console-gl.c
> +++ b/ui/console-gl.c
> @@ -92,13 +92,17 @@ void surface_gl_update_texture(QemuGLShader *gls,
>  
>      assert(gls);
>  
> -    glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT,
> -                  surface_stride(surface) / 
> surface_bytes_per_pixel(surface));
> -    glTexSubImage2D(GL_TEXTURE_2D, 0,
> -                    x, y, w, h,
> -                    surface->glformat, surface->gltype,
> -                    data + surface_stride(surface) * y
> -                    + surface_bytes_per_pixel(surface) * x);
> +    if (surface->texture) {
> +        glBindTexture(GL_TEXTURE_2D, surface->texture);
> +        glPixelStorei(GL_UNPACK_ROW_LENGTH_EXT,
> +                      surface_stride(surface)
> +                      / surface_bytes_per_pixel(surface));
> +        glTexSubImage2D(GL_TEXTURE_2D, 0,
> +                        x, y, w, h,
> +                        surface->glformat, surface->gltype,
> +                        data + surface_stride(surface) * y
> +                        + surface_bytes_per_pixel(surface) * x);
> +    }
>  }
>  
>  void surface_gl_render_texture(QemuGLShader *gls,
> 

Reply via email to