early-access version 4024
This commit is contained in:
parent
16855a5c39
commit
4b3810cf0b
4 changed files with 18 additions and 13 deletions
|
@ -1,7 +1,7 @@
|
||||||
yuzu emulator early access
|
yuzu emulator early access
|
||||||
=============
|
=============
|
||||||
|
|
||||||
This is the source code for early-access 4023.
|
This is the source code for early-access 4024.
|
||||||
|
|
||||||
## Legal Notice
|
## Legal Notice
|
||||||
|
|
||||||
|
|
|
@ -418,9 +418,9 @@ std::string SanitizePath(std::string_view path_, DirectorySeparator directory_se
|
||||||
return std::string(RemoveTrailingSlash(path));
|
return std::string(RemoveTrailingSlash(path));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string_view GetParentPath(std::string_view path) {
|
std::string GetParentPath(std::string_view path) {
|
||||||
if (path.empty()) {
|
if (path.empty()) {
|
||||||
return path;
|
return std::string(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
|
@ -439,7 +439,7 @@ std::string_view GetParentPath(std::string_view path) {
|
||||||
name_index = std::max(name_bck_index, name_fwd_index);
|
name_index = std::max(name_bck_index, name_fwd_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
return path.substr(0, name_index);
|
return std::string(path.substr(0, name_index));
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string_view GetPathWithoutTop(std::string_view path) {
|
std::string_view GetPathWithoutTop(std::string_view path) {
|
||||||
|
|
|
@ -302,7 +302,7 @@ enum class DirectorySeparator {
|
||||||
DirectorySeparator directory_separator = DirectorySeparator::ForwardSlash);
|
DirectorySeparator directory_separator = DirectorySeparator::ForwardSlash);
|
||||||
|
|
||||||
// Gets all of the text up to the last '/' or '\' in the path.
|
// Gets all of the text up to the last '/' or '\' in the path.
|
||||||
[[nodiscard]] std::string_view GetParentPath(std::string_view path);
|
[[nodiscard]] std::string GetParentPath(std::string_view path);
|
||||||
|
|
||||||
// Gets all of the text after the first '/' or '\' in the path.
|
// Gets all of the text after the first '/' or '\' in the path.
|
||||||
[[nodiscard]] std::string_view GetPathWithoutTop(std::string_view path);
|
[[nodiscard]] std::string_view GetPathWithoutTop(std::string_view path);
|
||||||
|
|
|
@ -538,14 +538,6 @@ void TexturePass(Environment& env, IR::Program& program, const HostTranslateInfo
|
||||||
flags.type.Assign(ReadTextureType(env, cbuf));
|
flags.type.Assign(ReadTextureType(env, cbuf));
|
||||||
inst->SetFlags(flags);
|
inst->SetFlags(flags);
|
||||||
break;
|
break;
|
||||||
case IR::Opcode::ImageSampleImplicitLod:
|
|
||||||
if (flags.type != TextureType::Color2D) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (ReadTextureType(env, cbuf) == TextureType::Color2DRect) {
|
|
||||||
PatchImageSampleImplicitLod(*texture_inst.block, *texture_inst.inst);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case IR::Opcode::ImageFetch:
|
case IR::Opcode::ImageFetch:
|
||||||
if (flags.type == TextureType::Color2D || flags.type == TextureType::Color2DRect ||
|
if (flags.type == TextureType::Color2D || flags.type == TextureType::Color2DRect ||
|
||||||
flags.type == TextureType::ColorArray2D) {
|
flags.type == TextureType::ColorArray2D) {
|
||||||
|
@ -662,6 +654,19 @@ void TexturePass(Environment& env, IR::Program& program, const HostTranslateInfo
|
||||||
PatchTexelFetch(*texture_inst.block, *texture_inst.inst, pixel_format);
|
PatchTexelFetch(*texture_inst.block, *texture_inst.inst, pixel_format);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (inst->GetOpcode()) {
|
||||||
|
case IR::Opcode::ImageSampleImplicitLod:
|
||||||
|
if (flags.type != TextureType::Color2D) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (ReadTextureType(env, cbuf) == TextureType::Color2DRect) {
|
||||||
|
PatchImageSampleImplicitLod(*texture_inst.block, *texture_inst.inst);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue