Skip to content

boost/container_hash: Breaking change of boost::hash_value in 1.81.0? #31

@Morph1984

Description

@Morph1984

In yuzu, we are using boost::hash_value to compute the hash of a macro program (represented by a std::vector<u32>):
https://github.com/yuzu-emu/yuzu/blob/09da9da6fb4428e8f305e967c9102dcf4030c5e9/src/video_core/macro/macro.cpp#L90-L108

These values, in turn, are used to determine the macro programs to emulate at a high level for performance reasons:
https://github.com/yuzu-emu/yuzu/blob/09da9da6fb4428e8f305e967c9102dcf4030c5e9/src/video_core/macro/macro_hle.cpp#L467-L549

Upon updating boost to 1.81.0, we have discovered boost::hash_value produces completely different values to 1.79.0.

As a result, we have 2 questions:
Is the value returned by boost::hash_value meant to be different on 1.81.0 compared to previous releases?
If this is the case, why was this not documented as a potentially breaking change in the changelog?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions