d3d10: Implement vector effect variable get methods.

Signed-off-by: Connor McAdams <conmanx360@gmail.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Connor McAdams 2020-03-12 14:04:59 +01:00 committed by Alexandre Julliard
parent 177a0701fb
commit ac0c13ee20
1 changed files with 30 additions and 12 deletions

View File

@ -4934,25 +4934,34 @@ static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetFloatVector(ID3
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetBoolVector(ID3D10EffectVectorVariable *iface, static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetBoolVector(ID3D10EffectVectorVariable *iface,
BOOL *value) BOOL *value)
{ {
FIXME("iface %p, value %p stub!\n", iface, value); struct d3d10_effect_variable *effect_var = impl_from_ID3D10EffectVectorVariable(iface);
return E_NOTIMPL; TRACE("iface %p, value %p.\n", iface, value);
read_variable_from_buffer(effect_var, value, D3D10_SVT_BOOL);
return S_OK;
} }
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetIntVector(ID3D10EffectVectorVariable *iface, static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetIntVector(ID3D10EffectVectorVariable *iface,
int *value) int *value)
{ {
FIXME("iface %p, value %p stub!\n", iface, value); struct d3d10_effect_variable *effect_var = impl_from_ID3D10EffectVectorVariable(iface);
return E_NOTIMPL; TRACE("iface %p, value %p.\n", iface, value);
read_variable_from_buffer(effect_var, value, D3D10_SVT_INT);
return S_OK;
} }
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetFloatVector(ID3D10EffectVectorVariable *iface, static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetFloatVector(ID3D10EffectVectorVariable *iface,
float *value) float *value)
{ {
FIXME("iface %p, value %p stub!\n", iface, value); struct d3d10_effect_variable *effect_var = impl_from_ID3D10EffectVectorVariable(iface);
return E_NOTIMPL; TRACE("iface %p, value %p.\n", iface, value);
read_variable_from_buffer(effect_var, value, D3D10_SVT_FLOAT);
return S_OK;
} }
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetBoolVectorArray(ID3D10EffectVectorVariable *iface, static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetBoolVectorArray(ID3D10EffectVectorVariable *iface,
@ -4991,25 +5000,34 @@ static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_SetFloatVectorArra
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetBoolVectorArray(ID3D10EffectVectorVariable *iface, static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetBoolVectorArray(ID3D10EffectVectorVariable *iface,
BOOL *values, UINT offset, UINT count) BOOL *values, UINT offset, UINT count)
{ {
FIXME("iface %p, values %p, offset %u, count %u stub!\n", iface, values, offset, count); struct d3d10_effect_variable *effect_var = impl_from_ID3D10EffectVectorVariable(iface);
return E_NOTIMPL; TRACE("iface %p, values %p, offset %u, count %u.\n", iface, values, offset, count);
read_variable_array_from_buffer(effect_var, values, D3D10_SVT_BOOL, offset, count);
return S_OK;
} }
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetIntVectorArray(ID3D10EffectVectorVariable *iface, static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetIntVectorArray(ID3D10EffectVectorVariable *iface,
int *values, UINT offset, UINT count) int *values, UINT offset, UINT count)
{ {
FIXME("iface %p, values %p, offset %u, count %u stub!\n", iface, values, offset, count); struct d3d10_effect_variable *effect_var = impl_from_ID3D10EffectVectorVariable(iface);
return E_NOTIMPL; TRACE("iface %p, values %p, offset %u, count %u.\n", iface, values, offset, count);
read_variable_array_from_buffer(effect_var, values, D3D10_SVT_INT, offset, count);
return S_OK;
} }
static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetFloatVectorArray(ID3D10EffectVectorVariable *iface, static HRESULT STDMETHODCALLTYPE d3d10_effect_vector_variable_GetFloatVectorArray(ID3D10EffectVectorVariable *iface,
float *values, UINT offset, UINT count) float *values, UINT offset, UINT count)
{ {
FIXME("iface %p, values %p, offset %u, count %u stub!\n", iface, values, offset, count); struct d3d10_effect_variable *effect_var = impl_from_ID3D10EffectVectorVariable(iface);
return E_NOTIMPL; TRACE("iface %p, values %p, offset %u, count %u.\n", iface, values, offset, count);
read_variable_array_from_buffer(effect_var, values, D3D10_SVT_FLOAT, offset, count);
return S_OK;
} }
static const struct ID3D10EffectVectorVariableVtbl d3d10_effect_vector_variable_vtbl = static const struct ID3D10EffectVectorVariableVtbl d3d10_effect_vector_variable_vtbl =