xserver/glamor
Anthony Waters 4e9aabb6fc glamor: Fix coordinates handling for composite source/mask pictures
There were actually two issues with the original code I believe, the
first is that the call to glamor_convert_gradient_picture wasn't
properly referencing the coordinates of the source/mask pictures.  The
second, was that the updated references (x_temp/y_temp) were also
improperly set, they should always be 0 because the temp pictures are
new ones that start at (0, 0).  The reason it worked in certain cases
and it didn't in others (notably the tray icons) was due to the
numbers working out based on the call to glamor_composite.  In the
cases that it did work extent->x1 would equal x_dest and extent->y1
would equal y_dest, making it so what was actually passed into
glamor_convert_gradient_picture and the settings for x_temp/y_temp
were correct.  However, for the case when extent->x1 wouldn't equal
x_dest and extent->y1 wouldn't equal y_dest (for example with the tray
icons) then the wrong parameters get passed into
glamor_convert_gradient_picture and x_temp/y_temp are set improperly.

Fixes issues with tray icons not appearing properly in certain cases.

Bug:
https://bugs.freedesktop.org/show_bug.cgi?id=64738

Signed-Off-by: Anthony Waters <awaters1@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
2014-04-23 10:38:11 -07:00
..
Makefile.am glamor: Add glamor_transfer based glamor_get_image and glamor_put_image 2014-04-23 10:36:18 -07:00
glamor.c glamor: Add glamor_transfer based glamor_get_image and glamor_put_image 2014-04-23 10:36:18 -07:00
glamor.h Merge remote-tracking branch 'krh/xwayland-for-keithp' 2014-04-03 15:35:01 -07:00
glamor_addtraps.c glamor: Rely on nested mappings to handle src==dst and !prepare bugs. 2014-03-17 14:30:56 -07:00
glamor_compositerects.c glamor: Remove an extra copy of RegionNil(). 2014-01-27 09:30:47 -08:00
glamor_context.h glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_copyarea.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_copyplane.c glamor: Add missing prepares on the GC during fb fallbacks. 2014-03-17 14:30:56 -07:00
glamor_copywindow.c glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_core.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_debug.h glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_egl.c glamor: Explain the weird EGL_NO_CONTEXT code. 2014-04-23 10:32:30 -07:00
glamor_egl_stubs.c glamor: Move glamor_egl_screen_init() prototype to glamor.h 2014-04-01 10:31:09 -07:00
glamor_eglmodule.c xorg: Connect up the glamor XV code, xorg DDX-only for now. 2014-03-05 13:10:20 -08:00
glamor_fbo.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_fill.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_font.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_font.h glamor: Add glamor_program based poly_text and image_text 2014-04-03 13:07:52 -07:00
glamor_glx.c glamor: Do the same MakeCurrent(None) for GLX as we do for EGL. 2014-04-23 10:32:32 -07:00
glamor_glyphblt.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_glyphs.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_gradient.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_image.c glamor: Add glamor_transfer based glamor_get_image and glamor_put_image 2014-04-23 10:36:18 -07:00
glamor_largepixmap.c glamor: Get testing code using small FBOs working again 2014-03-26 12:58:40 -07:00
glamor_picture.c glamor: Rely on nested mappings to handle src==dst and !prepare bugs. 2014-03-17 14:30:56 -07:00
glamor_pixmap.c glamor: Move a make_current before the first GL call entrypoint. 2014-04-23 10:32:34 -07:00
glamor_points.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_polylines.c glamor: Improve the performance of line fallbacks. 2014-03-17 14:30:57 -07:00
glamor_priv.h glamor: Add glamor_transfer based glamor_get_image and glamor_put_image 2014-04-23 10:36:18 -07:00
glamor_program.c glamor: Use plain GLSL 1.20 features for fill code. 2014-04-03 13:07:51 -07:00
glamor_program.h glamor: Add infrastructure for generating shaders on the fly 2014-03-26 12:58:40 -07:00
glamor_rects.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_render.c glamor: Fix coordinates handling for composite source/mask pictures 2014-04-23 10:38:11 -07:00
glamor_segment.c glamor: Move glamor_poly_segment to separate glamor_segment.c file 2014-03-26 12:58:40 -07:00
glamor_spans.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_text.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_tile.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_transfer.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_transfer.h glamor: Add simple upload/download functions in glamor_transfer 2014-04-03 13:07:51 -07:00
glamor_transform.c glamor: Add infrastructure for generating shaders on the fly 2014-03-26 12:58:40 -07:00
glamor_transform.h glamor: Add infrastructure for generating shaders on the fly 2014-03-26 12:58:40 -07:00
glamor_trapezoid.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_triangles.c glamor: Rely on nested mappings to handle src==dst and !prepare bugs. 2014-03-17 14:30:56 -07:00
glamor_utils.h glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_vbo.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00
glamor_window.c glamor: Apply x-indent.sh. 2014-01-27 09:30:47 -08:00
glamor_xv.c glamor: Replace glamor_get/put_context() with just glamor_make_current(). 2014-04-23 10:32:23 -07:00