示例#1
0
bool FramebufferManager::Initialize()
{
  if (!CreateEFBRenderPasses())
  {
    PanicAlert("Failed to create EFB render pass");
    return false;
  }
  if (!CreateEFBFramebuffer())
  {
    PanicAlert("Failed to create EFB textures");
    return false;
  }

  if (!CompileConversionShaders())
  {
    PanicAlert("Failed to compile EFB shaders");
    return false;
  }

  if (!CreateReadbackRenderPasses())
  {
    PanicAlert("Failed to create readback render passes");
    return false;
  }
  if (!CompileReadbackShaders())
  {
    PanicAlert("Failed to compile readback shaders");
    return false;
  }
  if (!CreateReadbackTextures())
  {
    PanicAlert("Failed to create readback textures");
    return false;
  }
  if (!CreateReadbackFramebuffer())
  {
    PanicAlert("Failed to create readback framebuffer");
    return false;
  }

  CreatePokeVertexFormat();
  if (!CreatePokeVertexBuffer())
  {
    PanicAlert("Failed to create poke vertex buffer");
    return false;
  }

  if (!CompilePokeShaders())
  {
    PanicAlert("Failed to compile poke shaders");
    return false;
  }

  return true;
}
示例#2
0
void FramebufferManager::RecompileShaders()
{
	DestroyConversionShaders();

	if (!CompileConversionShaders())
		PanicAlert("Failed to compile EFB shaders");

	DestroyReadbackShaders();
	if (!CompileReadbackShaders())
		PanicAlert("Failed to compile readback shaders");
}