Moves blend state management to DeviceCommandContext. Fixes #6420

Tested By: Langbart
Comments By: Stan
Differential Revision: https://code.wildfiregames.com/D4441
This was SVN commit r26228.
This commit is contained in:
vladislavbelov
2022-01-19 17:28:47 +00:00
parent 0b7a717c8a
commit 5adbe4f1a3
56 changed files with 1241 additions and 405 deletions
+5 -1
View File
@@ -345,7 +345,9 @@ struct SMRCompareTechBucket
}
};
void ShaderModelRenderer::Render(const RenderModifierPtr& modifier, const CShaderDefines& context, int cullGroup, int flags)
void ShaderModelRenderer::Render(
Renderer::Backend::GL::CDeviceCommandContext* deviceCommandContext,
const RenderModifierPtr& modifier, const CShaderDefines& context, int cullGroup, int flags)
{
if (m->submissions[cullGroup].empty())
return;
@@ -626,6 +628,8 @@ void ShaderModelRenderer::Render(const RenderModifierPtr& modifier, const CShade
for (int pass = 0; pass < currentTech->GetNumPasses(); ++pass)
{
currentTech->BeginPass(pass);
deviceCommandContext->SetGraphicsPipelineState(
currentTech->GetGraphicsPipelineStateDesc(pass));
const CShaderProgramPtr& shader = currentTech->GetShader(pass);
int streamflags = shader->GetStreamFlags();