[video_core] Better error messages (#2827)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2827 Reviewed-by: Maufeat <sahyno1996@gmail.com> Reviewed-by: Lizzie <lizzie@eden-emu.dev> Co-authored-by: MaranBr <maranbr@outlook.com> Co-committed-by: MaranBr <maranbr@outlook.com>
This commit is contained in:
@@ -59,7 +59,7 @@ static Shader::TextureType ConvertTextureType(const Tegra::Texture::TICEntry& en
|
||||
case Tegra::Texture::TextureType::TextureCubeArray:
|
||||
return Shader::TextureType::ColorArrayCube;
|
||||
default:
|
||||
UNIMPLEMENTED();
|
||||
LOG_ERROR(Shader, "Invalid texture_type={}, falling back to texture_type={}", static_cast<int>(entry.texture_type.Value()), Shader::TextureType::Color2D);
|
||||
return Shader::TextureType::Color2D;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,10 +51,8 @@ ImageInfo::ImageInfo(const TICEntry& config) noexcept {
|
||||
config.texture_type != TextureType::Texture2DNoMipmap) {
|
||||
ASSERT(!config.IsPitchLinear());
|
||||
}
|
||||
//Normalize so that the 1D that actually uses layers is treated as 1DArray
|
||||
TextureType tex_type = config.texture_type;
|
||||
if (tex_type == TextureType::Texture1D &&
|
||||
(config.Depth() > 1 || config.BaseLayer() != 0)) {
|
||||
if (tex_type == TextureType::Texture1D && (config.Depth() > 1 || config.BaseLayer() != 0)) {
|
||||
tex_type = TextureType::Texture1DArray;
|
||||
}
|
||||
switch (tex_type) {
|
||||
@@ -113,7 +111,7 @@ ImageInfo::ImageInfo(const TICEntry& config) noexcept {
|
||||
resources.layers = 1;
|
||||
break;
|
||||
default:
|
||||
ASSERT_MSG(false, "Invalid texture_type={}", static_cast<int>(config.texture_type.Value()));
|
||||
ASSERT_MSG(false, "Invalid texture_type={}", static_cast<int>(tex_type));
|
||||
break;
|
||||
}
|
||||
if (num_samples > 1) {
|
||||
|
||||
@@ -41,9 +41,7 @@ ImageViewInfo::ImageViewInfo(const TICEntry& config, s32 base_layer) noexcept
|
||||
};
|
||||
range.extent.levels = config.res_max_mip_level - config.res_min_mip_level + 1;
|
||||
TextureType tex_type = config.texture_type;
|
||||
//normalize 1D texture with many layers
|
||||
if (tex_type == TextureType::Texture1D &&
|
||||
(config.Depth() > 1 || base_layer != 0)) {
|
||||
if (tex_type == TextureType::Texture1D && (config.Depth() > 1 || base_layer != 0)) {
|
||||
tex_type = TextureType::Texture1DArray;
|
||||
}
|
||||
switch (tex_type) {
|
||||
@@ -74,18 +72,15 @@ ImageViewInfo::ImageViewInfo(const TICEntry& config, s32 base_layer) noexcept
|
||||
type = ImageViewType::Cube;
|
||||
range.extent.layers = 6;
|
||||
break;
|
||||
|
||||
case TextureType::TextureCubeArray:
|
||||
type = ImageViewType::CubeArray;
|
||||
range.extent.layers = config.Depth() * 6;
|
||||
break;
|
||||
|
||||
case TextureType::Texture1DBuffer:
|
||||
type = ImageViewType::Buffer;
|
||||
break;
|
||||
|
||||
default:
|
||||
ASSERT_MSG(false, "Invalid texture_type={}", static_cast<int>(config.texture_type.Value()));
|
||||
ASSERT_MSG(false, "Invalid texture_type={}", static_cast<int>(tex_type));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user