[PATCH 1/5] wined3d: Fix immediate draws when ARB_vertex_array_bgra is not supported.

Henri Verbeet hverbeet at gmail.com
Wed Jul 20 03:13:02 CDT 2016


On 20 July 2016 at 00:33, Matteo Bruni <mbruni at codeweavers.com> wrote:
> @@ -5848,7 +5850,7 @@ static void wined3d_adapter_init_ffp_attrib_ops(struct wined3d_adapter *adapter)
>      ops->generic[WINED3D_FFP_EMIT_FLOAT2]     = (wined3d_generic_attrib_func)gl_info->gl_ops.ext.p_glVertexAttrib2fv;
>      ops->generic[WINED3D_FFP_EMIT_FLOAT3]     = (wined3d_generic_attrib_func)gl_info->gl_ops.ext.p_glVertexAttrib3fv;
>      ops->generic[WINED3D_FFP_EMIT_FLOAT4]     = (wined3d_generic_attrib_func)gl_info->gl_ops.ext.p_glVertexAttrib4fv;
> -    if (gl_info->supported[ARB_VERTEX_ARRAY_BGRA])
> +    if (!gl_info->supported[ARB_VERTEX_ARRAY_BGRA])
>          ops->generic[WINED3D_FFP_EMIT_D3DCOLOR] = generic_d3dcolor;
>      else
>          ops->generic[WINED3D_FFP_EMIT_D3DCOLOR] =
This looks wrong. When ARB_vertex_array_bgra is not supported, shaders
swizzle the corresponding input registers (see also
shader_glsl_swizzle_to_str() and shader_arb_get_swizzle()), so the
attribute upload code shouldn't.



More information about the wine-devel mailing list