Re: [Mesa-dev] [PATCH] gallium: Make TGSI_SEMANTIC_FOG register four-component wide.

2013-11-20 Thread Jose Fonseca
- Original Message - > - Original Message - > > IIRC, all Radeons older than HD 7700 or so can do fixed-function fog, > > but Gallium doesn't have a proper interface for it. There is no > > dedicated shader output though, so r300g and r600g use a texcoord slot > > if there is any

Re: [Mesa-dev] [PATCH] gallium: Make TGSI_SEMANTIC_FOG register four-component wide.

2013-11-20 Thread Jose Fonseca
- Original Message - > IIRC, all Radeons older than HD 7700 or so can do fixed-function fog, > but Gallium doesn't have a proper interface for it. There is no > dedicated shader output though, so r300g and r600g use a texcoord slot > if there is any left. I think all drivers except > softpi

Re: [Mesa-dev] [PATCH] gallium: Make TGSI_SEMANTIC_FOG register four-component wide.

2013-11-20 Thread Marek Olšák
IIRC, all Radeons older than HD 7700 or so can do fixed-function fog, but Gallium doesn't have a proper interface for it. There is no dedicated shader output though, so r300g and r600g use a texcoord slot if there is any left. I think all drivers except softpipe/llvmpipe/svga already do the X001 sw

Re: [Mesa-dev] [PATCH] gallium: Make TGSI_SEMANTIC_FOG register four-component wide.

2013-11-20 Thread Roland Scheidegger
On 11/20/2013 03:23 PM, jfons...@vmware.com wrote: From: José Fonseca D3D9 Shader Model 2 restricted the fog register to one component, http://msdn.microsoft.com/en-us/library/windows/desktop/bb172945.aspx , but that restriction no longer exists in Shader Model 3, and several WHCK tests enforce

Re: [Mesa-dev] [PATCH] gallium: Make TGSI_SEMANTIC_FOG register four-component wide.

2013-11-20 Thread Jose Fonseca
- Original Message - > - Original Message - > > From: José Fonseca > > > > +t->outputs[i] = ureg_writemask(t->outputs[i], > > TGSI_WRITEMASK_X); > > What happens when the application decides to write to any component other > than X? The application writemask combined

Re: [Mesa-dev] [PATCH] gallium: Make TGSI_SEMANTIC_FOG register four-component wide.

2013-11-20 Thread Michal Krol
- Original Message - > From: José Fonseca > > +t->outputs[i] = ureg_writemask(t->outputs[i], TGSI_WRITEMASK_X); What happens when the application decides to write to any component other than X? The application writemask combined with the one above will yield an empty one. A

[Mesa-dev] [PATCH] gallium: Make TGSI_SEMANTIC_FOG register four-component wide.

2013-11-20 Thread jfonseca
From: José Fonseca D3D9 Shader Model 2 restricted the fog register to one component, http://msdn.microsoft.com/en-us/library/windows/desktop/bb172945.aspx , but that restriction no longer exists in Shader Model 3, and several WHCK tests enforce that. So this change: - lifts the single-component