On Fri Jul 19 06:17:55 2024 +0000, Nikolay Sivov wrote:
I think you're comparing wrong numbers. E.g. for test_effect_skip_constants_blob this field value is 2, for 1 pass + 1 inline shader object. For test_effect_preshader_ops_blob field value is 1, and there is 1 pass, and no shader objects. What would be useful long term is to have the compiler as a system tool, to embed blobs compiled with vkd3d for testing on Windows. Just to make sure they load at least. Also unrelated to that, many existing tests need to be redone not to depend on embedded binary offsets for value checks.
I think you're right, I was looking at the total object count, so scratch all that.
WRT testing the compiler on Windows, maybe we can add a test setup where we run our d3dcompiler (general shaders), d3dx9 (fx_2_0) and d3d10 (fx_4_0) tests with Wine builtin DLLs and make sure the tests eventually pass?
Also true on the last point: we eventually don't want tests to rely on implementation-dependent offsets. I think most (all?) the cases of that are used to look up expected results from the shader blob itself. That made it quicker to introduce tests at the time; hopefully it's not too much of a hassle to fix them up when we'll need to.