diff --git a/rpcs3/Emu/GS/GL/GLGSRender.h b/rpcs3/Emu/GS/GL/GLGSRender.h index 3fd39e1498..a10d7f1fd4 100644 --- a/rpcs3/Emu/GS/GL/GLGSRender.h +++ b/rpcs3/Emu/GS/GL/GLGSRender.h @@ -324,6 +324,16 @@ public: } break; + case CELL_GCM_TEXTURE_Y16_X16_FLOAT: // Two fp16 values + { + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tex.GetWidth(), tex.GetHeight(), 0, GL_RG, GL_HALF_FLOAT, pixels); + checkForGlError("GLTexture::Init() -> glTexImage2D"); + + static const GLint swizzleMaskX32_Y16_X16_FLOAT[] = { GL_GREEN, GL_RED, GL_GREEN, GL_RED }; + glRemap = swizzleMaskX32_Y16_X16_FLOAT; + } + break; + case CELL_GCM_TEXTURE_COMPRESSED_B8R8_G8R8: { // TODO: Probably need to actually unswizzle if is_swizzled.