NVIDIA / nvidia-settings

NVIDIA driver control panel
http://www.nvidia.com/object/unix.html
GNU General Public License v2.0
297 stars 77 forks source link

blendAfterWarp = True has no effect #97

Open retostockli opened 1 year ago

retostockli commented 1 year ago

I've been successfully implementing the code of nv-control-warpblend.c in my three projector flight simulator display on a curved screen. However, the blending should be done in display and not texture coordinates.

For me the blendAfterWarp argument in XNVCTRLSetScanoutIntensity has no effect. Also in the sample code of this github repo. The blending always occurs in Texture coordinates before warping.

Any chance of verifying this? Small hint: I am using a regular GTX (not Quadro) card, but warping works like a charm. So thanks so much for providing this interface, it is so much more efficient than all the commercial warping solutions!!!

OS: Ubuntu 22.04

HellGL commented 1 year ago

I added some debugging to the nv-control-warpblend example and maybe the paramter name is not correct. Although I can set e.g. "BlendOrder=BlendAfterWarp" as CurrentMetaMode, the Parameter is not there if I read the CurrentMetaMode e.g. with nvidia-settings. In my case I added a "XNVCTRLQueryStringAttribute()" directly after "XNVCTRLSetStringAttribute()" and "XSync()" and the parameter is not there. Is it completely gone or just renamed?

CORRECTION: The parameter BlendOrder is only set if "BlendAfterWarp" is given in the MetaMode. "WarpAfterBlend" is the default and obviously not set or at least not given when queried.

While WarpAfterBlend works fine, BlendAfterWarp does only work on the Quadro P5000.