Skip to content
Snippets Groups Projects

vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.

Merged Conor McCarthy requested to merge cmccarthy/vkd3d:dxil_vselect into master

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Conor McCarthy added 55 commits

    added 55 commits

    • f633e4d9...0c5c18bd - 46 commits from branch wine:master
    • d3d4e700 - vkd3d-shader/spirv: Support bool dst register in spirv_compiler_emit_comparison_instruction().
    • 5ac2bb11 - vkd3d-shader/dxil: Implement the DXIL CMP2 instruction.
    • ffd089aa - vkd3d-shader/spirv: Introduce orderedness to comparison instructions.
    • a91890a8 - tests/shader-runner: Add a test for float comparisons.
    • a322c7d6 - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • bc7d1ab9 - tests/shader-runner: Add tests for 64-bit casts.
    • 6135c67e - tests/shader-runner: Introduce an sm6 condition for test directives.
    • 74300842 - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • cd680b39 - vkd3d-shader/spirv: Avoid redundant bool-to-bool conversions in spirv_compiler_emit_movc().

    Compare with previous version

  • Author Developer

    Including test changes here to avoid conflicts over which tests should have todo(sm>=6).

  • Conor McCarthy changed the description

    changed the description

  • Conor McCarthy added 6 commits

    added 6 commits

    • c8e0b9a7 - tests/shader-runner: Add a test for float comparisons.
    • 73fe6aca - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • ca5ba93f - tests/shader-runner: Add tests for 64-bit casts.
    • 814f7c54 - tests/shader-runner: Introduce an sm6 condition for test directives.
    • 531b66ce - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • 0ab95440 - vkd3d-shader/spirv: Avoid redundant bool-to-bool conversions in spirv_compiler_emit_movc().

    Compare with previous version

  • Conor McCarthy added 6 commits

    added 6 commits

    • 23aacda1 - tests/shader-runner: Introduce an sm6 condition for test directives.
    • 3e2da434 - tests/shader-runner: Add a test for float comparisons.
    • ad790b5d - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • deb85c8f - tests/shader-runner: Add tests for 64-bit casts.
    • 8612ff2d - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • 09b7e0cd - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().

    Compare with previous version

  • Conor McCarthy added 6 commits

    added 6 commits

    • 4ce034c0 - tests/shader-runner: Introduce an sm6 condition for test directives.
    • f4bef799 - tests/shader-runner: Add a test for float comparisons.
    • 2f62c76b - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • 431f597d - tests/shader-runner: Add tests for 64-bit casts.
    • b05d849b - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • befc451f - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().

    Compare with previous version

  • Conor McCarthy added 12 commits

    added 12 commits

    • befc451f...22960753 - 6 commits from branch wine:master
    • 65a3c8d9 - tests/shader-runner: Introduce an sm6 condition for test directives.
    • 4245f8c4 - tests/shader-runner: Add a test for float comparisons.
    • f749ec57 - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • 233a385e - tests/shader-runner: Add tests for 64-bit casts.
    • 6bda4a8c - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • fed98c42 - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().

    Compare with previous version

  • Conor McCarthy added 5 commits

    added 5 commits

    • db3aef96 - tests/shader-runner: Add a test for float comparisons.
    • 7bb9c573 - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • ae7780c1 - tests/shader-runner: Add tests for 64-bit casts.
    • a9fe4ee6 - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • a0ba1c42 - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().

    Compare with previous version

  • Conor McCarthy marked this merge request as ready

    marked this merge request as ready

  • Conor McCarthy changed the description

    changed the description

  • Conor McCarthy added 5 commits

    added 5 commits

    • e0d598d9 - tests/shader-runner: Add a test for float comparisons.
    • 2bea5d68 - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • 5e2f9664 - tests/shader-runner: Add tests for 64-bit casts.
    • b08e0e8a - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • eea9904c - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().

    Compare with previous version

  • Giovanni Mascellani
  • Conor McCarthy added 3 commits

    added 3 commits

    • 9e854bd7 - tests/shader-runner: Add tests for 64-bit casts.
    • 433ca99d - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • 2a57f4fb - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().

    Compare with previous version

  • Conor McCarthy mentioned in merge request !471 (merged)

    mentioned in merge request !471 (merged)

  • Conor McCarthy added 5 commits

    added 5 commits

    • 1109af8b - tests/shader-runner: Add a test for float comparisons.
    • 5445b2b1 - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • 32230a36 - tests/shader-runner: Add tests for 64-bit casts.
    • 996e7329 - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • 99e81f8a - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().

    Compare with previous version

  • Conor McCarthy added 6 commits

    added 6 commits

    • 50fb2e25 - tests/shader-runner: Run d3d11 tests with a mimimum shader model of 4.0.
    • a32dd779 - tests/shader-runner: Add a test for float comparisons.
    • 4b9ad23c - vkd3d-shader/spirv: Return an error if an invalid handler is encountered.
    • 40e6891d - tests/shader-runner: Add tests for 64-bit casts.
    • d95f798d - vkd3d-shader/dxil: Implement the DXIL VSELECT instruction.
    • 752c4efd - vkd3d-shader/spirv: Avoid invalid bool-to-bool conversion in spirv_compiler_emit_movc().

    Compare with previous version

  • Giovanni Mascellani resolved all threads

    resolved all threads

  • Giovanni Mascellani
    Giovanni Mascellani @giomasce started a thread on commit 50fb2e25
  • 747 747 init_adapter_info();
    748 748 if (init_test_context(&runner))
    749 749 {
    750 run_shader_tests(&runner.r, &d3d11_runner_ops, NULL, SHADER_MODEL_2_0, SHADER_MODEL_5_1);
    750 run_shader_tests(&runner.r, &d3d11_runner_ops, NULL, SHADER_MODEL_4_0, SHADER_MODEL_5_1);
    • 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.

    • Author Developer

      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.

    • Ah, right. Well, I think your solution is fine. There is some discussion ongoing in !434 (closed) about how to fix this longer term. Maybe it's not even true that D3D11 can ingest SM1-3, who knows where I got that from.

    • Please register or sign in to reply
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading