Re: [PATCH 2/5] wined3d: Introduce a wined3d_vertex_pipe_ops structure.
On 25.04.2013 09:59, Henri Verbeet wrote:
-static HRESULT shader_arb_alloc(struct wined3d_device *device, const struct fragment_pipeline *fragment_pipe) +static HRESULT shader_arb_alloc(struct wined3d_device *device, const struct wined3d_vertex_pipe_ops *vertex_pipe, + const struct fragment_pipeline *fragment_pipe) { struct shader_arb_priv *priv = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*priv)); struct fragment_caps fragment_caps; - void *fragment_priv; + void *vertex_priv, *fragment_priv; + + if (!(vertex_priv = vertex_pipe->vp_alloc(&arb_program_shader_backend, priv))) + { + ERR("Failed to initialize vertex pipe.\n"); + HeapFree(GetProcessHeap(), 0, priv); + return E_FAIL; + }
if (!(fragment_priv = fragment_pipe->alloc_private(&arb_program_shader_backend, priv))) { ERR("Failed to initialize fragment pipe.\n"); + fragment_pipe->free_private(device);
Shouldn't that vertex_pipe->vp_free(device)?
HeapFree(GetProcessHeap(), 0, priv); return E_FAIL; }
On 25 April 2013 11:58, Rico Schüller <kgbricola(a)web.de> wrote:
if (!(fragment_priv = fragment_pipe->alloc_private(&arb_program_shader_backend, priv))) { ERR("Failed to initialize fragment pipe.\n"); + fragment_pipe->free_private(device);
Shouldn't that vertex_pipe->vp_free(device)?
Yeah.
participants (2)
-
Henri Verbeet -
Rico Schüller