Skip to content
Snippets Groups Projects

hlsl: Matrix majority, 2023 edition, part 2/2.

Merged Elizabeth Figura requested to merge zfigura/vkd3d:pr0 into master
2 unresolved threads

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
126 {
127 return 0;
128 }
129
130
131 % This applies to structs and arrays as well.
132
133
134 [pixel shader]
135 #pragma pack_matrix(row_major)
136 struct apple
137 {
138 float2x2 m;
139 };
140 typedef struct apple apple_t;
141 #pragma pack_matrix(column_major)
  • Elizabeth Figura added 6 commits

    added 6 commits

    • 571aeb63 - tests: Add more tests for pack_matrix pragmas.
    • 30e2ed21 - vkd3d-shader/hlsl: Apply latent type modifiers to matrix array typedefs.
    • baa3616f - vkd3d-shader/hlsl: Store the matrix majority as a type modifiers bitmask.
    • d5090374 - vkd3d-shader/hlsl: Do not set an initial latent matrix majority.
    • 0364aaed - vkd3d-shader/hlsl: Apply latent majority modifiers to typedefs as well.
    • cb460764 - vkd3d-shader/hlsl: Get rid of the check_invalid_matrix_modifiers() helper.

    Compare with previous version

  • v2: Just drop the struct-typedef test, it wasn't testing anything that wasn't already tested elsewhere and there's nothing else interesting to test in that area either.

  • Francisco Casas
    Francisco Casas @fcasas started a thread on commit 0364aaed
  • 4637 4637 struct hlsl_type *type;
    4638 4638 unsigned int modifiers = $1;
    4639 4639
    4640 if (!(type = apply_type_modifiers(ctx, $2, &modifiers, @1)))
    4640 if (!(type = apply_type_modifiers(ctx, $2, &modifiers, true, &@1)))
    • In the context of the commit is clear, but I think that it would be nice to have a comment to indicate that the sole purpose of this call now is forcing the matrix members of a typedef array to be column-major when no latent majority has been specified.

    • Please register or sign in to reply
  • Francisco Casas approved this merge request

    approved this merge request

  • This doesn't apply cleanly.

  • Elizabeth Figura added 39 commits

    added 39 commits

    • cb460764...af25d5bf - 33 commits from branch wine:master
    • 7287508f - tests: Add more tests for pack_matrix pragmas.
    • 4ff2dcb3 - vkd3d-shader/hlsl: Apply latent type modifiers to matrix array typedefs.
    • b59cb05e - vkd3d-shader/hlsl: Store the matrix majority as a type modifiers bitmask.
    • 32fa04c1 - vkd3d-shader/hlsl: Do not set an initial latent matrix majority.
    • 7a3a141b - vkd3d-shader/hlsl: Apply latent majority modifiers to typedefs as well.
    • bcf94cd8 - vkd3d-shader/hlsl: Get rid of the check_invalid_matrix_modifiers() helper.

    Compare with previous version

  • This doesn't apply cleanly.

    Now it does, I hope :-)

  • Henri Verbeet approved this merge request

    approved this merge request

  • Alexandre Julliard approved this merge request

    approved this merge request

  • added 6 commits

    • 2a412670 - tests: Add more tests for pack_matrix pragmas.
    • b3c62095 - vkd3d-shader/hlsl: Apply latent type modifiers to matrix array typedefs.
    • 75ab9d31 - vkd3d-shader/hlsl: Store the matrix majority as a type modifiers bitmask.
    • 322963ad - vkd3d-shader/hlsl: Do not set an initial latent matrix majority.
    • 58383648 - vkd3d-shader/hlsl: Apply latent majority modifiers to typedefs as well.
    • a28ecaa1 - vkd3d-shader/hlsl: Get rid of the check_invalid_matrix_modifiers() helper.

    Compare with previous version

  • Please register or sign in to reply
    Loading