From 4a8eb6745e5124c41df895e1a5800d65a574bdb3 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 17 Apr 2018 21:39:15 -0400 Subject: [PATCH 1/4] maxwell3d: Allow Texture2DNoMipmap as Texture2D. --- src/video_core/engines/maxwell_3d.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 0e1d6d785e..85b50c9b35 100644 --- a/src/video_core/engines/maxwell_3d.cpp +++ b/src/video_core/engines/maxwell_3d.cpp @@ -223,7 +223,8 @@ Texture::TICEntry Maxwell3D::GetTICEntry(u32 tic_index) const { ASSERT_MSG(tic_entry.header_version == Texture::TICHeaderVersion::BlockLinear, "TIC versions other than BlockLinear are unimplemented"); - ASSERT_MSG(tic_entry.texture_type == Texture::TextureType::Texture2D, + ASSERT_MSG((tic_entry.texture_type == Texture::TextureType::Texture2D) || + (tic_entry.texture_type == Texture::TextureType::Texture2DNoMipmap), "Texture types other than Texture2D are unimplemented"); auto r_type = tic_entry.r_type.Value(); From 3ed8a1cac7308638c0db0e93d3598d7fbad97f88 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 15 Apr 2018 20:41:02 -0400 Subject: [PATCH 2/4] gpu: Add several framebuffer formats to RenderTargetFormat. --- src/video_core/gpu.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/video_core/gpu.h b/src/video_core/gpu.h index 71a8661b4c..2888daedcf 100644 --- a/src/video_core/gpu.h +++ b/src/video_core/gpu.h @@ -15,7 +15,10 @@ namespace Tegra { enum class RenderTargetFormat : u32 { NONE = 0x0, + RGBA16_FLOAT = 0xCA, + RGB10_A2_UNORM = 0xD1, RGBA8_UNORM = 0xD5, + RGBA8_SRGB = 0xD6, }; class DebugContext; From 9df8e924fb3cafabd0fa7728fe286595a39575fc Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 12 Apr 2018 23:50:35 -0400 Subject: [PATCH 3/4] texture: Add missing formats. --- src/video_core/textures/texture.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/video_core/textures/texture.h b/src/video_core/textures/texture.h index c12ed6e1d5..9d443ea90c 100644 --- a/src/video_core/textures/texture.h +++ b/src/video_core/textures/texture.h @@ -13,8 +13,10 @@ namespace Tegra { namespace Texture { enum class TextureFormat : u32 { - A8R8G8B8 = 8, + A8R8G8B8 = 0x8, DXT1 = 0x24, + DXT23 = 0x25, + DXT45 = 0x26, }; enum class TextureType : u32 { From 7222d9a4c3aa23f16909a7094b3ef2826bafa58f Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 17 Apr 2018 21:44:36 -0400 Subject: [PATCH 4/4] gl_rasterizer_cache: Add missing LOG statements. --- src/video_core/renderer_opengl/gl_rasterizer_cache.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h index e7ce506cf5..3293905d6e 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h @@ -87,6 +87,7 @@ struct SurfaceParams { case Tegra::RenderTargetFormat::RGBA8_UNORM: return PixelFormat::RGBA8; default: + NGLOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast(format)); UNREACHABLE(); } } @@ -96,6 +97,7 @@ struct SurfaceParams { case Tegra::FramebufferConfig::PixelFormat::ABGR8: return PixelFormat::RGBA8; default: + NGLOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast(format)); UNREACHABLE(); } } @@ -108,6 +110,7 @@ struct SurfaceParams { case Tegra::Texture::TextureFormat::DXT1: return PixelFormat::DXT1; default: + NGLOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast(format)); UNREACHABLE(); } }