[PATCH 03/10] d3d10: Implement scalar effect variable get methods.

Connor McAdams conmanx360 at gmail.com
Wed Jan 22 12:07:15 CST 2020


Yes, good catch. Must have missed that one. Thanks.

On Wed, Jan 22, 2020 at 10:37 AM Matteo Bruni <matteo.mystral at gmail.com> wrote:
>
> On Sat, Dec 7, 2019 at 7:23 PM Connor McAdams <conmanx360 at gmail.com> wrote:
> >
> > Implement GetFloat/GetFloatArray, GetInt/GetIntArray, and
> > GetBool/GetBoolArray methods for the scalar effect variable interface.
> >
> > Signed-off-by: Connor McAdams <conmanx360 at gmail.com>
> > ---
> >  dlls/d3d10/effect.c | 71 +++++++++++++++++++++++++++++++++++++--------
> >  1 file changed, 59 insertions(+), 12 deletions(-)
> >
> > diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c
> > index 4ecc0753de..4ab882c1dc 100644
> > --- a/dlls/d3d10/effect.c
> > +++ b/dlls/d3d10/effect.c
> > @@ -4249,6 +4249,35 @@ static void write_variable_array_to_cbuffer(struct d3d10_effect_variable *variab
> >      variable->buffer->u.buffer.changed = 1;
> >  }
> >
> > +static inline void read_variable_from_cbuffer(struct d3d10_effect_variable *variable, void *data)
> > +{
> > +    memcpy(data, variable->buffer->u.buffer.local_buffer + variable->buffer_offset, variable->type->size_packed);
> > +}
> > +
> > +static void read_variable_array_from_cbuffer(struct d3d10_effect_variable *variable, void *data, UINT count)
> > +{
> > +    char *cbuf = variable->buffer->u.buffer.local_buffer + variable->buffer_offset;
> > +    char *cur_element = data;
> > +    DWORD element_size;
> > +    UINT i;
> > +
> > +    if (!variable->type->element_count)
> > +    {
> > +        write_variable_to_cbuffer(variable, data);
> > +        return;
> > +    }
>
> I suppose you meant to use read_variable_from_cbuffer().



More information about the wine-devel mailing list