Re: Does Xorg'x XRender implementation support better-than-bilinear interpolation?

2012-09-12 Thread Clemens Eisserer
Hi,

 None of Intel UXA, Radeon EXA or Nouveau EXA accelerate convolutions.
Thanks for the clarification.
It means I won't have to worry implementing something right now.

 Though my opinion would be that it would be better to add anisotropic
 filtering to Render as a standard filter with a software fallback
 instead of as an NVIDIA specific one.

Anisotropic filtering provided by RENDER would be great :)

Thanks, Clemens
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: Does Xorg'x XRender implementation support better-than-bilinear interpolation?

2012-09-11 Thread Daniel Stone
Hi,

On 11 September 2012 03:17, Pierre-Loup A. Griffais
pgriff...@nvidia.com wrote:
 On 09/10/2012 06:08 PM, Daniel Stone wrote:
 'Best' might be bicubic.  It might be nearest.  It might be anything,
 it's just whatever the driver thinks will offer the best quality.

 Bicubic is not required to be offered, but it may be.

 I'm not very familiar with bicubic interpolation, but couldn't it be
 achieved using the 'convolution' filter with the adequate kernel? (possibly
 in several passes at different scales). AFAIK 'convolution' is always
 provided and often accelerated.

None of Intel UXA, Radeon EXA or Nouveau EXA accelerate convolutions.
They're not particularly widely used anyway (at least by Cairo et al),
probably because no-one accelerates them.

Cheers,
Daniel
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: Does Xorg'x XRender implementation support better-than-bilinear interpolation?

2012-09-11 Thread Søren Sandmann
Pierre-Loup A. Griffais pgriff...@nvidia.com writes:

 I'm not very familiar with bicubic interpolation, but couldn't it be
 achieved using the 'convolution' filter with the adequate kernel?
 (possibly in several passes at different scales). AFAIK 'convolution'
 is always provided and often accelerated.

The convolution filter in Render only allows one phase of the filter to
be used, so the quality of bicubic interpolation implemented that way
would be terrible.

As an aside, a bunch of code could be deleted if we removed the ability
for drivers to provide their own filters. As far as I know, no driver
has ever done this. I have an old branch here:

http://cgit.freedesktop.org/~sandmann/xserver/log/?h=filters

that could probably be resurrected.


Soren
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: Does Xorg'x XRender implementation support better-than-bilinear interpolation?

2012-09-11 Thread Pierre-Loup A. Griffais

On 09/11/2012 10:43 AM, Søren Sandmann wrote:

Pierre-Loup A. Griffaispgriff...@nvidia.com  writes:


I'm not very familiar with bicubic interpolation, but couldn't it be
achieved using the 'convolution' filter with the adequate kernel?
(possibly in several passes at different scales). AFAIK 'convolution'
is always provided and often accelerated.


The convolution filter in Render only allows one phase of the filter to
be used, so the quality of bicubic interpolation implemented that way
would be terrible.

As an aside, a bunch of code could be deleted if we removed the ability
for drivers to provide their own filters. As far as I know, no driver
has ever done this. I have an old branch here:


One of the items of my (long) list of things to do is to expose anisotropic 
filtering to RENDER, so it'd be cool if that didn't get removed.


Thanks,
 - Pierre-Loup



 http://cgit.freedesktop.org/~sandmann/xserver/log/?h=filters

that could probably be resurrected.


Soren

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: Does Xorg'x XRender implementation support better-than-bilinear interpolation?

2012-09-11 Thread Søren Sandmann
Pierre-Loup A. Griffais pgriff...@nvidia.com writes:

 On 09/11/2012 10:43 AM, Søren Sandmann wrote:
 Pierre-Loup A. Griffaispgriff...@nvidia.com  writes:

 I'm not very familiar with bicubic interpolation, but couldn't it be
 achieved using the 'convolution' filter with the adequate kernel?
 (possibly in several passes at different scales). AFAIK 'convolution'
 is always provided and often accelerated.

 The convolution filter in Render only allows one phase of the filter to
 be used, so the quality of bicubic interpolation implemented that way
 would be terrible.

 As an aside, a bunch of code could be deleted if we removed the ability
 for drivers to provide their own filters. As far as I know, no driver
 has ever done this. I have an old branch here:

 One of the items of my (long) list of things to do is to expose
 anisotropic filtering to RENDER, so it'd be cool if that didn't get
 removed.

I am unlikely to do anything about this for the forseeable future, and I
doubt anyone else cares.

Though my opinion would be that it would be better to add anisotropic
filtering to Render as a standard filter with a software fallback
instead of as an NVIDIA specific one.


Søren
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Does Xorg'x XRender implementation support better-than-bilinear interpolation?

2012-09-10 Thread Clemens Eisserer
Hi,

I just realized that at least on my machine (fedora 17 + intel 20.2),
the only interpolation modes offered by Xrender are: {nearest ,
bilinear , convolution, fast , good, best}
I always thought best translates into something better than bilinear,
but it seems to be just equal to it.

Is there any way to archive bicubic interpolation or any other
higher-than-bilinear interpolation using xrender?
As Java2D offers bicubic interpolation, it would mean a fallback to
software-rendering every time a program requests high-quality
interpolation.

Thank you in advance, Clemens
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: Does Xorg'x XRender implementation support better-than-bilinear interpolation?

2012-09-10 Thread Maarten Maathuis
On Mon, Sep 10, 2012 at 11:05 PM, Clemens Eisserer linuxhi...@gmail.com wrote:
 Hi,

 I just realized that at least on my machine (fedora 17 + intel 20.2),
 the only interpolation modes offered by Xrender are: {nearest ,
 bilinear , convolution, fast , good, best}
 I always thought best translates into something better than bilinear,
 but it seems to be just equal to it.

 Is there any way to archive bicubic interpolation or any other
 higher-than-bilinear interpolation using xrender?
 As Java2D offers bicubic interpolation, it would mean a fallback to
 software-rendering every time a program requests high-quality
 interpolation.

 Thank you in advance, Clemens
 ___
 xorg-devel@lists.x.org: X.Org development
 Archives: http://lists.x.org/archives/xorg-devel
 Info: http://lists.x.org/mailman/listinfo/xorg-devel

I don't see it in the renderproto, so it's probably not possible
without a spec extension.

http://cgit.freedesktop.org/xorg/proto/renderproto/tree/render.h

-- 
Far away from the primal instinct, the song seems to fade away, the
river get wider between your thoughts and the things we do and say.
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel


Re: Does Xorg'x XRender implementation support better-than-bilinear interpolation?

2012-09-10 Thread Pierre-Loup A. Griffais

On 09/10/2012 06:08 PM, Daniel Stone wrote:

Hi,

On 10 September 2012 23:33, Maarten Maathuismadman2...@gmail.com  wrote:

On Mon, Sep 10, 2012 at 11:05 PM, Clemens Eissererlinuxhi...@gmail.com  wrote:

I just realized that at least on my machine (fedora 17 + intel 20.2),
the only interpolation modes offered by Xrender are: {nearest ,
bilinear , convolution, fast , good, best}
I always thought best translates into something better than bilinear,
but it seems to be just equal to it.

Is there any way to archive bicubic interpolation or any other
higher-than-bilinear interpolation using xrender?
As Java2D offers bicubic interpolation, it would mean a fallback to
software-rendering every time a program requests high-quality
interpolation.


'Best' might be bicubic.  It might be nearest.  It might be anything,
it's just whatever the driver thinks will offer the best quality.

Bicubic is not required to be offered, but it may be.


I'm not very familiar with bicubic interpolation, but couldn't it be achieved 
using the 'convolution' filter with the adequate kernel? (possibly in several 
passes at different scales). AFAIK 'convolution' is always provided and often 
accelerated.


Thanks,
 - Pierre-Loup




I don't see it in the renderproto, so it's probably not possible
without a spec extension.

http://cgit.freedesktop.org/xorg/proto/renderproto/tree/render.h


The filters are a list of strings; a protocol extension is not
required for a driver to offer (and a client use) more filters than
the predefined ones.

Cheers,
Daniel
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel