[PATCH v2 1/3] d3dcompiler/tests: Rewrite to use a separate d3d9 device for each test.
Zebediah Figura
zfigura at codeweavers.com
Thu Feb 27 11:08:09 CST 2020
On 2/27/20 4:25 AM, Matteo Bruni wrote:
> On Tue, Feb 25, 2020 at 6:59 PM Zebediah Figura <zfigura at codeweavers.com> wrote:
>>
>> On 2/25/20 11:30 AM, Matteo Bruni wrote:
>>> On Tue, Feb 18, 2020 at 9:32 PM Zebediah Figura <z.figura12 at gmail.com> wrote:
>>>> @@ -474,73 +475,58 @@ static void test_float_vectors(IDirect3DDevice9 *device, IDirect3DVertexBuffer9
>>>> " return color;\n"
>>>> "}";
>>>>
>>>> - ID3DXConstantTable *constants;
>>>> - IDirect3DPixelShader9 *pshader;
>>>> + window = create_window();
>>>> + ok(!!window, "Failed to create a window.\n");
>>>>
>>>> - pshader = compile_pixel_shader9(device, vec4_indexing_test1_shader, "ps_2_0", &constants);
>>>> - if (pshader != NULL)
>>>> + if (!(device = create_d3d9_device(window)))
>>>> {
>>>> - compute_shader_probe9(device, vshader_passthru, pshader, quad_geometry, vec4_indexing_test1_probes,
>>>> - ARRAY_SIZE(vec4_indexing_test1_probes), 1, 1, __LINE__);
>>>> -
>>>> - ID3DXConstantTable_Release(constants);
>>>> - IDirect3DPixelShader9_Release(pshader);
>>>> + DestroyWindow(window);
>>>> + return;
>>>> }
>>>>
>>>> - pshader = compile_pixel_shader9(device, vec4_indexing_test2_shader, "ps_2_0", &constants);
>>>> - if (pshader != NULL)
>>>> + todo_wine ps_code = compile_shader(ps_indexing_source, "ps_2_0");
>>>> + if (ps_code)
>>>> {
>>>> - ID3DXConstantTable_SetInt(constants, device, "i", 2);
>>>> + draw_quad(device, ps_code);
>>>> +
>>>> + v = get_readback_vec4_d3d9(device, 0, 0);
>>>> + ok(compare_vec4(&v, 0.02f, 0.245f, 0.351f, 1.0f, 0),
>>>> + "Got unexpected value {%.8e, %.8e, %.8e, %.8e}.\n", v.x, v.y, v.z, v.w);
>>>
>>> Something for a separate patch: this test could be extended to check
>>> what happens if 'i' is outside of the valid range. If it turns out to
>>> be undefined behavior, a small comment will suffice.
>>>
>>
>> I guess that strikes me as more of a d3d core test than a d3dcompiler
>> test, but I don't feel strongly about it.
>
> Not necessarily, depending on whether the natively generated shader
> does or doesn't have explicit bounds checking. I guess it probably
> doesn't so this is no concern, but worth a look IMO.
>
Ah, makes sense. I'll put it on my list, then.
More information about the wine-devel
mailing list