https://bugs.winehq.org/show_bug.cgi?id=39578
gamiljydcome@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Debian
--- Comment #3 from gamiljydcome@gmail.com --- Hi, Matteo Bruni.
I make some time googled about wine shader model3.0 constant register limit and traced dlls/wined3d/shader.c. It seem like wine forece limit sm3.0 max number of float constant registers to be 256, my video card(Mobile Intel GM45 support dx10/sm4.0) does have 4096 registers detected by gl_info->limits.glsl_ps_float_constants. I don't know why.
At same time i googled some information about even if wine forced sm3.0 limit 256 float constant registers, most dx9/sm3 app may not practicality use all of them though wined3d shader bytecode like 'def c783...'.
So i think does wine could reorder to use the float constant registers array like 'def c0 ~ def c255' mapping the hlsl constant from app one by one, to avoid using more than 256 registers?