wined3d: Implement check for shader creation if hardware supports requested version.

Paul Vriens paul.vriens.wine at gmail.com
Wed Dec 17 06:23:02 CST 2008


Pauli Nieminen wrote:
> +
> +    if( version <= caps->VertexShaderVersion )
> +    {
> +        ok(hret == D3D_OK && vshader_ptr != NULL, "Vertex shader (0x%x) creation failed but d3dcaps claim to support it. hret = 0x%x, vshader_ptr = %p", version, hret, vshader_ptr);
> +        IDirect3DVertexShader9_Release(vshader_ptr);
> +    } else {
> +        ok(hret == D3DERR_INVALIDCALL && vshader_ptr == NULL,"Vertex shader (0x%x) creation succesed but d3dcaps claim not to support it. hret = 0x%x, vshader_ptr = %p", version, hret, vshader_ptr);
> +    }

Hi,

Just some style issues I've seen. You should be using a:

if ()
{
}
else
{
}

block to stick with the style.

>  
> +/**
> + * checks if shader version supported that is required by new
> + * shader.
> + */
> +static inline BOOL is_pshader_version_supported(IWineD3DDeviceImpl *deviceImpl, const DWORD *byte_code)
> +{
> +    struct shader_caps shader_caps;
> +    const DWORD shader_version = *byte_code; /* First instruction should be shader version */
> +    const WineD3D_GL_Info *gl_info = &deviceImpl->adapter->gl_info;
> +
> +    deviceImpl->shader_backend->shader_get_caps(deviceImpl->devType ,gl_info, &shader_caps);
> +    // Check which shader this is

Please use C-style comments, not C++.

> +    if(shader_is_pshader_version(shader_version))
> +    {
> +        // Check if high enough shader version is supported

And there are a few others of those.

-- 
Cheers,

Paul.



More information about the wine-devel mailing list