On Fri Jul 19 00:43:50 2024 +0000, Matteo Bruni wrote:
A few more from the d3dx9 tests: `test_effect_preshader_ops_blob`: 1 != 1 + 1 `test_effect_shared_parameters_blob`: 6 != 5 + 2 `test_effect_skip_constants_blob`: 2 != 2 + 1 `test_effect_unsupported_shader_blob`: 6 != 5 + 1 + 1 `test_effect_null_shader_blob`: 5 != 4 + 1 + 1 `effect_code` from test_effect_clone(): 5 != 6 + 1 + 1 `test_two_techniques_blob`: 2 != 1 + 1 + 1 So, many are 1 lower than expected (not necessarily all for the same reason) but then there's effect_code which is even weirder...
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.