Add log functions to state structs

This commit is contained in:
Henrik Rydgård 2022-09-03 23:35:58 +02:00
parent d35749bfc8
commit ceda7aef49
3 changed files with 14 additions and 1 deletions

View file

@ -1514,6 +1514,14 @@ void ConvertStencilFuncState(GenericStencilFuncState &state) {
}
}
void GenericMaskState::Log() {
WARN_LOG(G3D, "Mask: %01X readfb=%d", uniformMask, channelMask, applyFramebufferRead);
}
void GenericBlendState::Log() {
WARN_LOG(G3D, "Blend: hwenable=%d readfb=%d replblend=%d replalpha=%d", blendEnabled, applyFramebufferRead, replaceBlend, (int)replaceAlphaWithStencil);
}
void ComputedPipelineState::Convert(bool shaderBitOpsSuppported) {
ConvertMaskState(maskState, shaderBitOpsSuppported);
ConvertBlendState(blendState, maskState.applyFramebufferRead);

View file

@ -180,6 +180,8 @@ struct GenericBlendState {
blendColor = 0xFFFFFF | ((uint32_t)alpha << 24);
useBlendColor = true;
}
void Log();
};
void ConvertBlendState(GenericBlendState &blendState, bool forceReplaceBlend);
@ -198,6 +200,8 @@ struct GenericMaskState {
channelMask = 0xF;
applyFramebufferRead = true;
}
void Log();
};
void ConvertMaskState(GenericMaskState &maskState, bool shaderBitOpsSupported);

View file

@ -364,7 +364,8 @@ void DrawEngineVulkan::BindShaderBlendTex() {
// Set the nearest/linear here (since we correctly know if alpha/color tests are needed)?
if (!gstate.isModeClear()) {
if (fboTexNeedsBind_) {
framebufferManager_->BindFramebufferAsColorTexture(1, framebufferManager_->GetCurrentRenderVFB(), BINDFBCOLOR_MAY_COPY);
bool bindResult = framebufferManager_->BindFramebufferAsColorTexture(1, framebufferManager_->GetCurrentRenderVFB(), BINDFBCOLOR_MAY_COPY);
_dbg_assert_(bindResult);
boundSecondary_ = (VkImageView)draw_->GetNativeObject(Draw::NativeObject::BOUND_TEXTURE1_IMAGEVIEW);
fboTexBound_ = true;
fboTexNeedsBind_ = false;