On Tue Nov 14 10:59:24 2023 +0000, Giovanni Mascellani wrote:
Which problem are you having? I think D3D11 is supposed to run SM1-3 fine, so we'd want to include that in our "ground truth". Reverting this patch, the only problem I get is this:
shader_runner:1602: Running tests from a Windows cross build shader_runner:1604: Compiling shaders with d3dcompiler_47.dll and executing with d3d9.dll shader_runner:95: Driver string: d3d10warp.dll. shader_runner:96: Device: Microsoft Basic Render Driver, 1414:008c. shader_runner:99: Using WARP device. shader_runner:1607: Compiling shaders with d3dcompiler_47.dll and executing with d3d11.dll shader_runner:164: Adapter: Microsoft Basic Render Driver, 1414:008c. shader_runner:168: Using WARP device. shader_runner:727: Section [test], line 45: Test failed: Got {1.01010100e+006, 0.00000000e+000, 1.10100100e+006, 0.00000000e+000}, expected {1.01010100e+006, 1.10011000e+007, 1.10100100e+006, 0.00000000e+000} at (0, 0). shader_runner:1610: Compiling shaders with d3dcompiler_47.dll and executing with d3d12.dll shader_runner:340: Adapter: Microsoft Basic Render Driver, 1414:008c. shader_runner:344: Using WARP device. shader_runner:1544: d3dcompiler_47.dll version: 10.0.22621.4 shader_runner:1544: dxgi.dll version: 10.0.22621.317 shader_runner:1544: d3d9.dll version: 10.0.22621.317 shader_runner:1544: d3d11.dll version: 10.0.22621.317 shader_runner:1544: d3d12.dll version: 10.0.22621.317 shader_runner: 100 tests executed (1 failures, 0 skipped, 0 todo, 0 bugs).
I.e., the difference is not really between SM1-3 and SM4-5, but between D3D9 and D3D11. Unfortunately right now we don't have a way to discriminate on the API rather than on the SM. I'd say that for this specific case you can just ignore what SM1-3 is doing to 0/0 (e.g. by passing a uniform flag that overwrites `result.y` with zero, so you don't have to duplicate the code), that's better than dropping all the SM1-3 tests on D3D11 I think.
The problem is even if SM1-3 is specified, the d3d11 runner compiles the shaders as 4.0. Maybe that's the real issue, but there could be other failures if changed.