diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 24d08a02a38a845dce0b5f91d7012893f02a83a8..157aa6283acf149f7a0a350a1534f715ef5f3988 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -3882,7 +3882,7 @@ static HRESULT geometry_shader_init_stream_output(struct wined3d_shader *shader, return E_INVALIDARG; } - mask = ((1u << e->component_count) - 1) << component_idx; + mask = wined3d_mask_from_size(e->component_count) << component_idx; if ((output->mask & 0xff & mask) != mask) { WARN("Invalid component range %u-%u (mask %#x), output mask %#x.\n",