https://bugs.winehq.org/show_bug.cgi?id=39578
--- Comment #8 from swswine@gmail.com --- (In reply to gamiljydcome from comment #7)
Hi, swswine.
The new temp patch indeed work. I have fellowed questions:
- Does still HW vertex blend increase D3D9_MAX_VERTEX_SHADER_CONSTANTF to
1024?
Sorry, I did not understand the question. Could you please explain in some other words?
- I thinl my Intel have 4096 registers detected by
gl_info->limits.glsl_ps_float_constants(dlls/wined3d/shader.c), So does it means i can change you patch 1024 to 4096 won't import potential bugs?
Yes, log you sent previously says that 4096 uniform float constants are supported. When you are using my IVB patch without uniform buffers support, the actual number of uniform floats used in glsl shader is >2k.
Just to note, changing the limit even above your actual limit won't lead to an error immediately, only if some application will actually try to use more constants that GL supports.
If you will be changing the constants please mind that D3D9_MAX_VERTEX_SHADER_CONSTANTF in d3d9/d3d9_private.h is not the only place, there is also a structure initialization in wined3d/shader.c (see in the patch).
BTW maybe here https://bugs.winehq.org/show_bug.cgi?id=8051#c118 the fix has only partial effect due to this reason. It would be interesting if you can test Sims 2 with my patch (you can apply the temporary constants patch alone without IVB if Sims 2 is not using IVB); I don't have Sims 2 yet to test myself