diff --git a/src/xenia/gpu/gl4/command_processor.cc b/src/xenia/gpu/gl4/command_processor.cc index 1c21e655a..8ad07fdfe 100644 --- a/src/xenia/gpu/gl4/command_processor.cc +++ b/src/xenia/gpu/gl4/command_processor.cc @@ -2615,6 +2615,10 @@ bool CommandProcessor::IssueCopy() { read_format = GL_R32F; read_type = GL_FLOAT; break; + case ColorFormat::k_32_32_FLOAT: + read_format = GL_RG32F; + read_type = GL_FLOAT; + break; default: assert_unhandled_case(copy_dest_format); return false; @@ -2898,6 +2902,9 @@ GLuint CommandProcessor::GetColorRenderTarget(uint32_t pitch, case ColorRenderTargetFormat::k_32_FLOAT: internal_format = GL_R32F; break; + case ColorRenderTargetFormat::k_32_32_FLOAT: + internal_format = GL_RG32F; + break; default: assert_unhandled_case(format); return 0; diff --git a/src/xenia/gpu/texture_info.h b/src/xenia/gpu/texture_info.h index 38f422591..031dc7add 100644 --- a/src/xenia/gpu/texture_info.h +++ b/src/xenia/gpu/texture_info.h @@ -115,6 +115,8 @@ inline TextureFormat ColorRenderTargetToTextureFormat( return TextureFormat::k_2_10_10_10_FLOAT; case xenos::ColorRenderTargetFormat::k_32_FLOAT: return TextureFormat::k_32_FLOAT; + case xenos::ColorRenderTargetFormat::k_32_32_FLOAT: + return TextureFormat::k_32_32_FLOAT; default: assert_unhandled_case(color_format); return TextureFormat::kUnknown; diff --git a/src/xenia/gpu/xenos.h b/src/xenia/gpu/xenos.h index d0c2f27d1..0a1ff3803 100644 --- a/src/xenia/gpu/xenos.h +++ b/src/xenia/gpu/xenos.h @@ -91,6 +91,7 @@ enum class ColorRenderTargetFormat : uint32_t { k_2_10_10_10_unknown = 10, k_2_10_10_10_FLOAT_unknown = 12, k_32_FLOAT = 14, + k_32_32_FLOAT = 15, }; enum class DepthRenderTargetFormat : uint32_t {