[Bug 22459] NFSMW - Only black screen

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Sep 25 11:04:31 CDT 2011


http://bugs.winehq.org/show_bug.cgi?id=22459

Stefan Dösinger <stefandoesinger at gmx.at> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |stefandoesinger at gmx.at

--- Comment #6 from Stefan Dösinger <stefandoesinger at gmx.at> 2011-09-25 11:04:30 CDT ---
Wine does not support pixel shaders on this card. For Pixel Shader support we
need at least GL_ARB_fragment_program, which sort of matches Shader Model 2.0
on Windows. This card supports shader model 1.4. The OpenGL equivalent of this
is GL_ATI_fragment_shader, which is a vendor specific extension and only
supported on r200 chips(radeon 8500 to radeon 9200).

We have a fixed function pipeline replacement with GL_ATI_fragment_shader(see
dlls/wined3d/ati_fragment_shader.c). We could implement Pixel Shader 1.4 with
it, but we have very few users with this card, so it's not likely to happen. It
is mostly a fill-in-the-blanks work, the infrastructure for supporting another
shader model is in place. The biggest challenges are maintaining it in the long
term and testing it.

>From the log:
> Mesa 7.12-devel implementation error: Unexpected texture format in radeon_update_wrapper()
> Please report at bugs.freedesktop.org
This also happens with the wine tests. I wanted to add this on the Mesa bug,
but I don't have my password at the moment(different keychain). For the Mesa
devs debugging the tests may be easier than debugging NFS:MW.

> Mesa: User error: GL_INVALID_VALUE in glTexImage2D(internalFormat=GL_FALSE)
> err:d3d_surface:surface_allocate_surface >>>>>>>>>>>>>>>>> GL_INVALID_VALUE (0x501) from
> glTexImage2D @ surface.c / 2338
This suggests we're trying to create a texture with an unsupported format. A
+d3d_surface log might reveal which format this is.

> err:d3d_shader:shader_arb_select >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from
> glBindProgramARB(GL_FRAGMENT_PROGRAM_ARB, priv->current_fprogram_id); @
> arb_program_shader.c / 4589
The game is trying to create a pixel shader here, and GL complains that it
can't do that(see above). Wine is missing some checks here and report an error
to the application as well. According to amazon the minimum requirement for
this app is a Radeon 7500. If this is true, reporting an error to the app may
make it fall back to the fixed function pipeline. 


> fixme:d3d_shader:shader_arb_generate_vshader HW VertexShader Error at position 658: "line 21, char
> 21: error: invalid texture coordinate unit selector\n"
I fixed this about a week ago. Or rather, made a change that might have swept
this under the rug, the actual problem is still there and needs fixing.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.


More information about the wine-bugs mailing list