move shared parts from VertexManager::vFlush into VideoCommon
This commit is contained in:
parent
48798d8d34
commit
e5318d2624
|
@ -197,11 +197,8 @@ void VertexManager::Draw(UINT stride)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void VertexManager::vFlush()
|
void VertexManager::vFlush(bool useDstAlpha)
|
||||||
{
|
{
|
||||||
bool useDstAlpha = !g_ActiveConfig.bDstAlphaPass && bpmem.dstalpha.enable && bpmem.blendmode.alphaupdate &&
|
|
||||||
bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24;
|
|
||||||
|
|
||||||
if (!PixelShaderCache::SetShader(
|
if (!PixelShaderCache::SetShader(
|
||||||
useDstAlpha ? DSTALPHA_DUAL_SOURCE_BLEND : DSTALPHA_NONE,
|
useDstAlpha ? DSTALPHA_DUAL_SOURCE_BLEND : DSTALPHA_NONE,
|
||||||
g_nativeVertexFmt->m_components))
|
g_nativeVertexFmt->m_components))
|
||||||
|
@ -223,8 +220,6 @@ void VertexManager::vFlush()
|
||||||
Draw(stride);
|
Draw(stride);
|
||||||
g_perf_query->DisableQuery(bpmem.zcontrol.early_ztest ? PQG_ZCOMP_ZCOMPLOC : PQG_ZCOMP);
|
g_perf_query->DisableQuery(bpmem.zcontrol.early_ztest ? PQG_ZCOMP_ZCOMPLOC : PQG_ZCOMP);
|
||||||
|
|
||||||
GFX_DEBUGGER_PAUSE_AT(NEXT_FLUSH, true);
|
|
||||||
|
|
||||||
g_renderer->RestoreState();
|
g_renderer->RestoreState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ private:
|
||||||
void PrepareDrawBuffers();
|
void PrepareDrawBuffers();
|
||||||
void Draw(u32 stride);
|
void Draw(u32 stride);
|
||||||
// temp
|
// temp
|
||||||
void vFlush();
|
void vFlush(bool useDstAlpha);
|
||||||
|
|
||||||
u32 m_vertex_buffer_cursor;
|
u32 m_vertex_buffer_cursor;
|
||||||
u32 m_vertex_draw_offset;
|
u32 m_vertex_draw_offset;
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#include "VertexManager.h"
|
#include "VertexManager.h"
|
||||||
#include "IndexGenerator.h"
|
#include "IndexGenerator.h"
|
||||||
#include "FileUtil.h"
|
#include "FileUtil.h"
|
||||||
#include "Debugger.h"
|
|
||||||
#include "StreamBuffer.h"
|
#include "StreamBuffer.h"
|
||||||
#include "PerfQueryBase.h"
|
#include "PerfQueryBase.h"
|
||||||
#include "Render.h"
|
#include "Render.h"
|
||||||
|
@ -131,7 +130,7 @@ void VertexManager::Draw(u32 stride)
|
||||||
INCSTAT(stats.thisFrame.numIndexedDrawCalls);
|
INCSTAT(stats.thisFrame.numIndexedDrawCalls);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VertexManager::vFlush()
|
void VertexManager::vFlush(bool useDstAlpha)
|
||||||
{
|
{
|
||||||
GLVertexFormat *nativeVertexFmt = (GLVertexFormat*)g_nativeVertexFmt;
|
GLVertexFormat *nativeVertexFmt = (GLVertexFormat*)g_nativeVertexFmt;
|
||||||
u32 stride = nativeVertexFmt->GetVertexStride();
|
u32 stride = nativeVertexFmt->GetVertexStride();
|
||||||
|
@ -144,9 +143,6 @@ void VertexManager::vFlush()
|
||||||
PrepareDrawBuffers(stride);
|
PrepareDrawBuffers(stride);
|
||||||
GL_REPORT_ERRORD();
|
GL_REPORT_ERRORD();
|
||||||
|
|
||||||
bool useDstAlpha = !g_ActiveConfig.bDstAlphaPass && bpmem.dstalpha.enable && bpmem.blendmode.alphaupdate
|
|
||||||
&& bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24;
|
|
||||||
|
|
||||||
// Makes sure we can actually do Dual source blending
|
// Makes sure we can actually do Dual source blending
|
||||||
bool dualSourcePossible = g_ActiveConfig.backend_info.bSupportsDualSourceBlend;
|
bool dualSourcePossible = g_ActiveConfig.backend_info.bSupportsDualSourceBlend;
|
||||||
|
|
||||||
|
@ -200,7 +196,6 @@ void VertexManager::vFlush()
|
||||||
if (bpmem.blendmode.blendenable || bpmem.blendmode.subtract)
|
if (bpmem.blendmode.blendenable || bpmem.blendmode.subtract)
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
}
|
}
|
||||||
GFX_DEBUGGER_PAUSE_AT(NEXT_FLUSH, true);
|
|
||||||
|
|
||||||
#if defined(_DEBUG) || defined(DEBUGFAST)
|
#if defined(_DEBUG) || defined(DEBUGFAST)
|
||||||
if (g_ActiveConfig.iLog & CONF_SAVESHADERS)
|
if (g_ActiveConfig.iLog & CONF_SAVESHADERS)
|
||||||
|
|
|
@ -43,7 +43,7 @@ protected:
|
||||||
virtual void ResetBuffer(u32 stride);
|
virtual void ResetBuffer(u32 stride);
|
||||||
private:
|
private:
|
||||||
void Draw(u32 stride);
|
void Draw(u32 stride);
|
||||||
void vFlush() override;
|
void vFlush(bool useDstAlpha) override;
|
||||||
void PrepareDrawBuffers(u32 stride);
|
void PrepareDrawBuffers(u32 stride);
|
||||||
NativeVertexFormat *m_CurrentVertexFmt;
|
NativeVertexFormat *m_CurrentVertexFmt;
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include "RenderBase.h"
|
#include "RenderBase.h"
|
||||||
#include "BPStructs.h"
|
#include "BPStructs.h"
|
||||||
#include "XFMemory.h"
|
#include "XFMemory.h"
|
||||||
|
#include "Debugger.h"
|
||||||
|
|
||||||
#include "VertexManagerBase.h"
|
#include "VertexManagerBase.h"
|
||||||
#include "MainBase.h"
|
#include "MainBase.h"
|
||||||
|
@ -216,8 +217,13 @@ void VertexManager::Flush()
|
||||||
VertexShaderManager::SetConstants();
|
VertexShaderManager::SetConstants();
|
||||||
PixelShaderManager::SetConstants();
|
PixelShaderManager::SetConstants();
|
||||||
|
|
||||||
|
bool useDstAlpha = !g_ActiveConfig.bDstAlphaPass && bpmem.dstalpha.enable && bpmem.blendmode.alphaupdate
|
||||||
|
&& bpmem.zcontrol.pixel_format == PIXELFMT_RGBA6_Z24;
|
||||||
|
|
||||||
// TODO: need to merge more stuff into VideoCommon
|
// TODO: need to merge more stuff into VideoCommon
|
||||||
g_vertex_manager->vFlush();
|
g_vertex_manager->vFlush(useDstAlpha);
|
||||||
|
|
||||||
|
GFX_DEBUGGER_PAUSE_AT(NEXT_FLUSH, true);
|
||||||
|
|
||||||
IsFlushed = true;
|
IsFlushed = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ private:
|
||||||
|
|
||||||
//virtual void Draw(u32 stride, bool alphapass) = 0;
|
//virtual void Draw(u32 stride, bool alphapass) = 0;
|
||||||
// temp
|
// temp
|
||||||
virtual void vFlush() = 0;
|
virtual void vFlush(bool useDstAlpha) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
extern VertexManager *g_vertex_manager;
|
extern VertexManager *g_vertex_manager;
|
||||||
|
|
Loading…
Reference in New Issue