Yes, good catch. Must have missed that one. Thanks.
On Wed, Jan 22, 2020 at 10:37 AM Matteo Bruni matteo.mystral@gmail.com wrote:
On Sat, Dec 7, 2019 at 7:23 PM Connor McAdams conmanx360@gmail.com wrote:
Implement GetFloat/GetFloatArray, GetInt/GetIntArray, and GetBool/GetBoolArray methods for the scalar effect variable interface.
Signed-off-by: Connor McAdams conmanx360@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().