mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-06 06:51:18 +12:00
make a workaround for streamout with no fbo
This commit is contained in:
parent
2961151f25
commit
358567ad4a
4 changed files with 29 additions and 9 deletions
|
@ -863,7 +863,6 @@ void MetalRenderer::draw_beginSequence()
|
|||
return; // no render target
|
||||
}
|
||||
|
||||
// TODO: not checking for !streamoutEnable fixes Super Smash Bros. for Wii U, investigate why
|
||||
if (!hasValidFramebufferAttached && !streamoutEnable)
|
||||
{
|
||||
debug_printf("Drawcall with no color buffer or depth buffer attached\n");
|
||||
|
@ -1476,10 +1475,6 @@ MTL::RenderCommandEncoder* MetalRenderer::GetRenderCommandEncoder(bool forceRecr
|
|||
|
||||
auto commandBuffer = GetCommandBuffer();
|
||||
|
||||
// Update state
|
||||
m_state.m_lastUsedFBO = m_state.m_activeFBO;
|
||||
m_state.m_isFirstDrawInRenderPass = true;
|
||||
|
||||
auto renderCommandEncoder = commandBuffer->renderCommandEncoder(m_state.m_activeFBO->GetRenderPassDescriptor());
|
||||
#ifdef CEMU_DEBUG_ASSERT
|
||||
renderCommandEncoder->setLabel(GetLabel("Render command encoder", renderCommandEncoder));
|
||||
|
@ -1487,6 +1482,10 @@ MTL::RenderCommandEncoder* MetalRenderer::GetRenderCommandEncoder(bool forceRecr
|
|||
m_commandEncoder = renderCommandEncoder;
|
||||
m_encoderType = MetalEncoderType::Render;
|
||||
|
||||
// Update state
|
||||
m_state.m_lastUsedFBO = m_state.m_activeFBO;
|
||||
m_state.m_isFirstDrawInRenderPass = true;
|
||||
|
||||
ResetEncoderState();
|
||||
|
||||
// Debug
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue