mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-07-11 01:24:28 +02:00
The case-insensitive fallback search() in GetHostPath is only invoked for patch_path and host_path, so mods whose file or folder capitalization does not exactly match the guest path are silently bypassed even when the files are present. Mirror the existing search(patch_path) pass for mods_path, placed first to preserve mod > patch > base precedence. Co-authored-by: Matías Buzzo <matias@mbuzzo.com>
This commit is contained in:
committed by
GitHub
parent
f98f1aac5a
commit
fba374442c
@@ -121,3 +121,43 @@ TEST_F(GcnTest, sub_f16) {
|
||||
EXPECT_TRUE(result.has_value());
|
||||
EXPECT_EQ(*result, F16x2{half(-1.0f)}); //confirmed with neo
|
||||
}
|
||||
|
||||
TEST_F(GcnTest, mul_legacy_nan) {
|
||||
auto runner = gcn_test::Runner::instance().value();
|
||||
|
||||
auto spirv = TranslateToSpirv(VOP2(OpcodeVOP2::V_MUL_LEGACY_F32, VOperand8::V0, SOperand9::V0, VOperand8::V1).Get());
|
||||
auto result = runner->run<u32>(spirv, std::array{u32(0), u32(0x7fc00000)});
|
||||
|
||||
EXPECT_TRUE(result.has_value());
|
||||
EXPECT_EQ(*result, 0);
|
||||
}
|
||||
|
||||
TEST_F(GcnTest, mul_nan) {
|
||||
auto runner = gcn_test::Runner::instance().value();
|
||||
|
||||
auto spirv = TranslateToSpirv(VOP2(OpcodeVOP2::V_MUL_F32, VOperand8::V0, SOperand9::V0, VOperand8::V1).Get());
|
||||
auto result = runner->run<float>(spirv, std::array{u32(0), u32(0x7fc00000)});
|
||||
|
||||
EXPECT_TRUE(result.has_value());
|
||||
EXPECT_TRUE(std::isnan(*result));
|
||||
}
|
||||
|
||||
TEST_F(GcnTest, min_legacy_nan) {
|
||||
auto runner = gcn_test::Runner::instance().value();
|
||||
|
||||
auto spirv = TranslateToSpirv(VOP2(OpcodeVOP2::V_MIN_LEGACY_F32, VOperand8::V0, SOperand9::V0, VOperand8::V1).Get());
|
||||
auto result = runner->run<u32>(spirv, std::array{u32(0), u32(0x7fc00000)});
|
||||
|
||||
EXPECT_TRUE(result.has_value());
|
||||
EXPECT_EQ(*result, 0x7fc00000);
|
||||
}
|
||||
|
||||
TEST_F(GcnTest, min_nan) {
|
||||
auto runner = gcn_test::Runner::instance().value();
|
||||
|
||||
auto spirv = TranslateToSpirv(VOP2(OpcodeVOP2::V_MIN_F32, VOperand8::V0, SOperand9::V0, VOperand8::V1).Get());
|
||||
auto result = runner->run<float>(spirv, std::array{u32(0), u32(0x7fc00000)});
|
||||
|
||||
EXPECT_TRUE(result.has_value());
|
||||
EXPECT_EQ(*result, 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user