Re: [PATCH xf86-video-ati resend 2/2] EXA/6xx/7xx: accelerate PictOpOver with component alpha

2016-05-31 Thread Grigori Goronzy
* (src.A * mask.B) + (1 - (src.A * mask.B)) * dst.B This only needs a single source value. src.A is cancelled down in the right places. With Michel's comments addressed, Reviewed-by: Grigori Goronzy [1] http://anholt.livejournal.com/32058.html r6xx still be used on some machine, Ported

Re: [PATCH xf86-video-ati resend 1/2] EXA/6xx/7xx: fast solid pixmap support

2016-05-31 Thread Grigori Goronzy
commit 94d0d14914a025525a079b556eaa6681def7. Reviewed-by: Grigori Goronzy Note that I don't have any R600 class hardware and I cannot test this. However, AFAIR, any errors on these code paths are very obvious. If GTK+ applications render fine, the code should work correctly. Signed-o

Re: [PATCH xf86-video-ati resend 1/2] EXA/6xx/7xx: fast solid pixmap support

2016-05-31 Thread Grigori Goronzy
commit 94d0d14914a025525a079b556eaa6681def7. Reviewed-by: Grigori Goronzy Note that I don't have any R600 class hardware and I cannot test this. However, AFAIR, any problems with these code paths are very obvious. If GTK+ applications render fine, the code should work correctly. S

2D performance improvements

2013-07-21 Thread Grigori Goronzy
Hi, This patch series improves performance of 2D rendering for most workloads on Evergreen. Cayman support is also in place, but untested. It should be quite easy to port all this to R600/R700 hardware, too. There are three logical improvements: 1) Handling of non-overlapping same-surface Copy o

[PATCH 2/4] EXA/evergreen/ni: optimize non-overlapping Copy

2013-07-21 Thread Grigori Goronzy
In case dst and src rectangles of a Copy operation in the same surface don't overlap, it is safe to skip the scratch surface. This is a common case. --- src/evergreen_exa.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c index 86f

[PATCH 1/4] Fix RADEON_FALLBACK logging

2013-07-21 Thread Grigori Goronzy
--- src/evergreen_exa.c | 4 ++-- src/r600_exa.c | 4 ++-- src/radeon_exa_render.c | 12 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c index bd57135..86f455d 100644 --- a/src/evergreen_exa.c +++ b/src/evergree

[PATCH 4/4] EXA/evergreen/ni: accelerate PictOpOver with component alpha

2013-07-21 Thread Grigori Goronzy
Subpixel text rendering is typically done with a solid src and a pixmap mask. Traditionally, this cannot be accelerated in a single pass and requires two passes [1]. However, we can cheat a little with a constant blend color. We can use: const.A = src.A / src.A const.R = src.R / src.A const.G = s

Re: 2D performance improvements

2013-07-21 Thread Grigori Goronzy
Looks like patch 3 may be too big for this list. I have pushed the branch to https://github.com/grigorig/xf86-video-ati now. On 22.07.2013 06:06, Grigori Goronzy wrote: Hi, This patch series improves performance of 2D rendering for most workloads on Evergreen. Cayman support is also in place

Re: [PATCH 4/4] EXA/evergreen/ni: accelerate PictOpOver with component alpha

2013-07-22 Thread Grigori Goronzy
On 23.07.2013 00:30, Dave Airlie wrote: On Mon, Jul 22, 2013 at 2:06 PM, Grigori Goronzy wrote: Subpixel text rendering is typically done with a solid src and a pixmap mask. Traditionally, this cannot be accelerated in a single pass and requires two passes [1]. However, we can cheat a little

Re: [PATCH 4/4] EXA/evergreen/ni: accelerate PictOpOver with component alpha

2013-07-30 Thread Grigori Goronzy
On 30.07.2013 17:26, Michel Dänzer wrote: Like Roland, I wonder if this trick couldn't be done in EXA instead of in the driver? I don't see how, EXA/XRENDER do not know about constant blend colors or anything like it. The implementation in the backend is very simple anyway, it should be tri

Re: [PATCH 2/4] EXA/evergreen/ni: optimize non-overlapping Copy

2013-07-30 Thread Grigori Goronzy
On 30.07.2013 17:40, Michel Dänzer wrote: On Mon, 2013-07-22 at 06:06 +0200, Grigori Goronzy wrote: In case dst and src rectangles of a Copy operation in the same surface don't overlap, it is safe to skip the scratch surface. This is a common case. --- src/evergreen_exa.c | 7 ++- 1

[PATCH] EXA/evergreen/ni: replace magic number

2013-07-31 Thread Grigori Goronzy
--- src/evergreen_exa.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/evergreen_exa.c b/src/evergreen_exa.c index d8aff6a..5f0e110 100644 --- a/src/evergreen_exa.c +++ b/src/evergreen_exa.c @@ -,7 +,7 @@ static Bool EVERGREENCheckComposite(int op, PicturePtr pSrc

Re: [PATCH] glamor: Set environment variable RADEON_THREAD=0

2014-07-30 Thread Grigori Goronzy
On 30.07.2014 09:33, Michel Dänzer wrote: > + /* This prevents the Gallium radeon winsys from spawning > + * a separate thread for submitting command streams to > + * the kernel. Imrpoves scores of at least gtkperf and > +