Skip to content
Snippets Groups Projects

vkd3d-shader/hlsl: Initial support for 'switch' statement.

Merged Nikolay Sivov requested to merge nsivov/vkd3d:switch into master

Signed-off-by: Nikolay Sivov nsivov@codeweavers.com

Merge request reports

Checking pipeline status.

Merged by Alexandre JulliardAlexandre Julliard 1 year ago (Oct 31, 2023 9:37pm UTC)

Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Giovanni Mascellani
  • I haven't read in depth yet, but here are some preliminary comments.

  • Giovanni Mascellani
  • Nikolay Sivov added 118 commits

    added 118 commits

    • d3918848...014960b6 - 116 commits from branch wine:master
    • 9a743fb2 - vkd3d-shader/hlsl: Parse 'break' statement.
    • 157b581b - vkd3d-shader/hlsl: Initial support for 'switch' statement.

    Compare with previous version

  • Nikolay Sivov added 1 commit

    added 1 commit

    • 7078b4da - vkd3d-shader/hlsl: Initial support for 'switch' statement.

    Compare with previous version

  • Nikolay Sivov added 3 commits

    added 3 commits

    • 17a0ddcf - vkd3d-shader/hlsl: Parse 'break' statement.
    • 0bb3b430 - vkd3d-shader/hlsl: Initial support for 'switch' statement.
    • 0547dcc1 - vkd3d-shader/tpf: Write out 'switch' statements.

    Compare with previous version

  • Nikolay Sivov added 2 commits

    added 2 commits

    • ce90f29c - vkd3d-shader/hlsl: Initial support for 'switch' statement.
    • 6900c622 - vkd3d-shader/tpf: Write out 'switch' statements.

    Compare with previous version

  • Nikolay Sivov added 20 commits

    added 20 commits

    • 6900c622...6a942581 - 18 commits from branch wine:master
    • 76843870 - vkd3d-shader/hlsl: Initial support for 'switch' statement.
    • d9e404cc - vkd3d-shader/tpf: Write out 'switch' statements.

    Compare with previous version

  • Author Developer

    Rebased, with additional tests and improvements.

    • Resolved by Nikolay Sivov
      commit 76843870bb94c5e6c95384c788d4842f3c7b142e
      Author: Nikolay Sivov <nsivov@codeweavers.com>
      Date:   Wed Sep 20 11:53:36 2023 +0200
      
          vkd3d-shader/hlsl: Initial support for 'switch' statement.
          
          Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
      
       Makefile.am                      |   1 +
       libs/vkd3d-shader/hlsl.c         | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
       libs/vkd3d-shader/hlsl.h         |  31 ++++++++++++++++++++++++++++
       libs/vkd3d-shader/hlsl.l         |   4 +++-
       libs/vkd3d-shader/hlsl.y         | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
       libs/vkd3d-shader/hlsl_codegen.c | 220 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
       tests/hlsl/switch.shader_test    | 272 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
       7 files changed, 777 insertions(+), 12 deletions(-)

      I think that can be spread in at least five different commits, the first of which would just introduce switch.shader_test and nothing else. I think it's ok to introduce functions as stubs because you need them for earlier commits to compile and avoid crashing, and expanding them to full implementations in later commits. The target here is to make code introduction as incremental as possible, to help reviewers understanding what's going on.

  • Nikolay Sivov added 4 commits

    added 4 commits

    • d9e404cc...9c6c7cb7 - 2 commits from branch wine:master
    • 275c9460 - vkd3d-shader/hlsl: Initial support for 'switch' statement.
    • 30f39572 - vkd3d-shader/tpf: Write out 'switch' statements.

    Compare with previous version

  • Nikolay Sivov added 8 commits

    added 8 commits

    • 74c0ac1b - tests: Add some tests for the 'switch' statements.
    • 8d491a8c - vkd3d-shader/hlsl: Add initial support for parsing 'switch' statements.
    • 520a0265 - vkd3d-shader/hlsl: Check for duplicate case statements.
    • 87250fea - vkd3d-shader/hlsl: Validate break/continue context.
    • f1b6b81e - vkd3d-shader/hlsl: Add copy propagation logic for switches.
    • 6837cb79 - vkd3d-shader/hlsl: Add a pass to remove unreachable code.
    • b80922d1 - vkd3d-shader/hlsl: Add a pass to validate switch cases blocks.
    • 3888a7dd - vkd3d-shader/tpf: Write out 'switch' statements.

    Compare with previous version

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