[PATCH 5/6] d3d9: Handle stateblocks in d3d9_device_SetVertexShader().

Józef Kucia joseph.kucia at gmail.com
Fri Feb 22 15:55:36 CST 2019


On Fri, Feb 22, 2019 at 7:00 PM Zebediah Figura <z.figura12 at gmail.com> wrote:
>
> On 02/22/2019 02:07 AM, Józef Kucia wrote:
> > On Fri, Feb 22, 2019 at 2:02 AM Zebediah Figura <z.figura12 at gmail.com> wrote:
> >>
> >> Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
> >> ---
> >>  dlls/d3d9/d3d9_private.h       |   1 +
> >>  dlls/d3d9/device.c             |  19 ++++-
> >>  dlls/wined3d/device.c          |   6 ++
> >>  dlls/wined3d/wined3d.spec      |   1 +
> >>  dlls/wined3d/wined3d_private.h | 128 --------------------------------
> >>  include/wine/wined3d.h         | 130 +++++++++++++++++++++++++++++++++
> >>  6 files changed, 155 insertions(+), 130 deletions(-)
> >
> > I don't like the idea of exposing the internal structure of
> > stateblocks in public wined3d API, and open-coding state updates in
> > all client libraries. I think it would be preferred to keep helpers
> > for state updates in wined3d. The main idea was to move stateblocks
> > out of wined3d core, but it should be still possible to keep
> > stateblock helpers for client libraries.
> >
>
> Thanks. So to clarify, we want to add a series of methods like this?
>
> void wined3d_stateblock_set_vertex_shader(struct wined3d_stateblock
> *stateblock, struct wined3d_shader *shader);

Methods like this might be fine, initially. In the long term, we need
something more. We need methods for translating legacy states (e.g.
some render states) into state objects (blend state objects,
rasterizer state objects, ...).



More information about the wine-devel mailing list