Skip to content
Snippets Groups Projects

vkd3d-shader/hlsl: Replace register offsets with index paths until split copies. [v4]

Merged Francisco Casas requested to merge fcasas/vkd3d:index_paths into master
1 unresolved thread

Replaces register offsets with component index paths to remove backend-specific offset/size logic from the IR. Also, working with components would allow for implicit size array initializers and properly handle objects which have register size 0.

In vkd3d-shader/hlsl: Replace register offsets with index paths in load initializations. the transform_deref_paths_into_offsets pass is introduced and moved forward in the following patches as other compilation passes are translated. The idea is to remove this pass after all the others are translated and then make each shader-model handle register offsets separately.

Patches for translating copy propagation, among other things, are prepared for a following merge request.

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
  • Francisco Casas added 16 commits

    added 16 commits

    • 56c59c17...aae4e31b - 3 commits from branch wine:master
    • 24472f94 - vkd3d-shader/hlsl: Introduce add_load_component().
    • dad3edb5 - vkd3d-shader/hlsl: Introduce add_load_index().
    • cfd8e679 - vkd3d-shader/hlsl: Unify type minor/major size functions.
    • e70e232d - include: Add list_move_after() and list_move_before().
    • 923e6a82 - vkd3d-shader/hlsl: Replace register offsets with index paths in load initializations.
    • 136f52d5 - vkd3d-shader/hlsl: Print index paths in dump_deref().
    • f265d275 - vkd3d-shader/hlsl: Introduce hlsl_new_store_component().
    • 8e9a317c - vkd3d-shader/hlsl: Introduce hlsl_new_store_index().
    • e63e7c3a - vkd3d-shader/hlsl: Replace register offsets with index paths in resource loads initialization.
    • f5345cb9 - vkd3d-shader/hlsl: Move register offset functions to hlsl_codegen.c.
    • da326721 - vkd3d-shader/hlsl: Add input and output variables using the same function.
    • 3172b0d0 - vkd3d-shader/hlsl: Replace register offsets with index paths in
    • 0883aba6 - vkd3d-shader/hlsl: Replace register offsets with index paths in split copies.

    Compare with previous version

    • Zebediah Figura (she/her) replied on the mailing list:

      I can't approve this, for unclear reasons. Maybe I'm missing some sort 
      of perms? There's no indication in the web UI why I can't approve, and 
      using the `lab` command line tool claims success but doesn't actually do 
      anything.
      _______________________________________________
      wine-gitlab mailing list -- wine-gitlab@winehq.org
      To unsubscribe send an email to wine-gitlab-leave@winehq.org
  • Francisco Casas added 20 commits

    added 20 commits

    • 0883aba6...4112c360 - 7 commits from branch wine:master
    • 90a07f19 - vkd3d-shader/hlsl: Introduce add_load_component().
    • e0dba05d - vkd3d-shader/hlsl: Introduce add_load_index().
    • 8dad6d89 - vkd3d-shader/hlsl: Unify type minor/major size functions.
    • 298a26fa - include: Add list_move_after() and list_move_before().
    • 35d313a8 - vkd3d-shader/hlsl: Replace register offsets with index paths in load initializations.
    • ef1aca38 - vkd3d-shader/hlsl: Print index paths in dump_deref().
    • 4519334b - vkd3d-shader/hlsl: Introduce hlsl_new_store_component().
    • eacb1fdd - vkd3d-shader/hlsl: Introduce hlsl_new_store_index().
    • c7668000 - vkd3d-shader/hlsl: Replace register offsets with index paths in resource loads initialization.
    • 7b46e20b - vkd3d-shader/hlsl: Move register offset functions to hlsl_codegen.c.
    • d65c4353 - vkd3d-shader/hlsl: Add input and output variables using the same function.
    • 8cfebdb7 - vkd3d-shader/hlsl: Replace register offsets with index paths in
    • e7561b47 - vkd3d-shader/hlsl: Replace register offsets with index paths in split copies.

    Compare with previous version

  • Henri Verbeet approved this merge request

    approved this merge request

  • Giovanni Mascellani approved this merge request

    approved this merge request

  • Elizabeth Figura approved this merge request

    approved this merge request

  • added 13 commits

    • a32157f5 - vkd3d-shader/hlsl: Introduce add_load_component().
    • 039b69ac - vkd3d-shader/hlsl: Introduce add_load_index().
    • 2dcfc888 - vkd3d-shader/hlsl: Unify type minor/major size functions.
    • a2996c2d - include: Add list_move_after() and list_move_before().
    • 4fede46c - vkd3d-shader/hlsl: Replace register offsets with index paths in load initializations.
    • 7515b825 - vkd3d-shader/hlsl: Print index paths in dump_deref().
    • f3289e16 - vkd3d-shader/hlsl: Introduce hlsl_new_store_component().
    • 5b664c7a - vkd3d-shader/hlsl: Introduce hlsl_new_store_index().
    • 349aab2a - vkd3d-shader/hlsl: Replace register offsets with index paths in resource loads initialization.
    • c572adbf - vkd3d-shader/hlsl: Move register offset functions to hlsl_codegen.c.
    • 1b69adbd - vkd3d-shader/hlsl: Add input and output variables using the same function.
    • d7d2fe14 - vkd3d-shader/hlsl: Replace register offsets with index paths in input/output copies.
    • 577014c0 - vkd3d-shader/hlsl: Replace register offsets with index paths in split copies.

    Compare with previous version

  • Alexandre Julliard approved this merge request

    approved this merge request

Please register or sign in to reply
Loading