On 07/05/2017 08:29 PM, Matteo Bruni wrote:
2017-06-28 13:28 GMT+02:00 Paul Gofman gofmanp@gmail.com:
Sorry for the delayed reviews. I did it at last...
#define test_effect_preshader_compare_shader_bytecode(a, b, c, d) \ @@ -4505,12 +4551,38 @@ static void test_effect_preshader(IDirect3DDevice9 *device) hr = IDirect3DDevice9_GetSamplerState(device, 0, D3DSAMP_MAGFILTER, &value); ok(hr == D3D_OK, "Got result %#x.\n", hr); todo_wine ok(value == 3, "Unexpected sampler 0 magfilter %u.\n", value);
- hr = IDirect3DDevice9_GetSamplerState(device, 1, D3DSAMP_MINFILTER, &value);
- ok(hr == D3D_OK, "Got result %#x.\n", hr);
- ok(value == 1, "Unexpected sampler 1 minfilter %u.\n", value);
- hr = IDirect3DDevice9_GetSamplerState(device, 1, D3DSAMP_MAGFILTER, &value);
- ok(hr == D3D_OK, "Got result %#x.\n", hr);
- todo_wine
- ok(value == 1, "Unexpected sampler 1 magfilter %u.\n", value);
Not new or really related to this patch: any idea about what's going on with the magfilter state computation? I didn't really look into it, does it have to do with default parameter values by any chance?
It needs type casting, the output table for FXLC is always float, but the input for state is integer, thus an enormous value failing the test. I was thinking of adding type specifier to state table in effect.c and doing the cast, but did not come to that yet.