On Sun, 26 Nov 2006, Roland Scheidegger wrote:

> malc wrote:
>> Hello,

[..snip..]

> Actually, I'm unsure if it's legal to redefine a shader, but probably yes 
> (there are even comments in atifragshader.c along those lines). The code in 
> core mesa at least assumes it's possible.
> I think what you're seeing is the inability of the r200 driver to detect if a 
> shader has actually changed, for performance reasons it will not redo the 
> "compilation" if it thinks that the current shader is already compiled. Since 
> it does this decision only based on the shader id (which stays the same) it 
> will never detect it has changed.
> Guess I'll need to fix that, in fact the code is pretty weak in that area - 
> it does not store the compiled data associated with the shader, so if you 
> switch shaders (with different ids) it needs to recompile them everytime. 
> This is largely due because compilation doesn't take that long, and you're 
> the first to use ati fs apart from some demos and doom3/quake4 (which use a 
> grand total of 1 shader), so I've never seen an app using more than 1 
> shader...

Heh. To be fair i tested on actual R200 (R280 i think) with Mesa and
X1600 with ATIs drivers on linux, possible, though doubtful, that they
also have that quirk in their R200 path. Unfortunatelly i don't have
R200 parts that are pluggable in X86 machine so can not really verify
this. And on Mac OS X drivers:
   1. most likely not written by ATI
   2. do not have Fragment Shader (only Text Fragment Shader)

> As a workaround in the meantime, I'd suggest you just use different shaders 
> instead of redefining.

That's what i ended up doing on friday after spending ~16 hours on the 
issue.

>> http://www.boblycat.org/~malc/atifs.tgz (same as the above + Makefile)
> This link doesn't work.

Right, sorry about that. http://www.boblycat.org/~malc/mesa-atifs.tgz

--
vale

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to