d3dx9: Crop the input in ID3DXBaseEffect::SetBool().

oldstable
Rico Schüller 2012-05-30 14:36:18 +02:00 committed by Alexandre Julliard
parent 37e483d567
commit f658aabfd5
2 changed files with 4 additions and 1 deletions

View File

@ -1725,6 +1725,8 @@ static HRESULT WINAPI ID3DXBaseEffectImpl_SetBool(ID3DXBaseEffect *iface, D3DXHA
if (param && !param->element_count && param->rows == 1 && param->columns == 1)
{
/* crop input */
b = b ? TRUE : FALSE;
set_number(param->data, param->type, &b, D3DXPT_BOOL);
return D3D_OK;
}

View File

@ -1857,11 +1857,12 @@ static void test_effect_parameter_value(IDirect3DDevice9 *device)
test_effect_parameter_value_GetTestGroup(&res[k], effect, &blob[res_value_offset], parameter, i);
/* SetBool */
bvalue = 1;
bvalue = 5;
memcpy(expected_value, &blob[res_value_offset], res_desc->Bytes);
hr = effect->lpVtbl->SetBool(effect, parameter, bvalue);
if (!res_desc->Elements && res_desc->Rows == 1 && res_desc->Columns == 1)
{
bvalue = bvalue ? TRUE : FALSE;
set_number(expected_value, res_desc->Type, &bvalue, D3DXPT_BOOL);
ok(hr == D3D_OK, "%u - %s: SetBool failed, got %#x, expected %#x\n", i, res_full_name, hr, D3D_OK);
}