summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/VertexManagerBase.cpp
diff options
context:
space:
mode:
authorMatthew Parlane <parlane@gmail.com>2013-01-01 23:28:46 +1300
committerMatthew Parlane <parlane@gmail.com>2013-01-01 23:28:46 +1300
commite0c9a1fd09b9be953bf0ae41b9014485e750b07e (patch)
tree059744e17a2a35ca58dd9b817cab620faee38611 /Source/Core/VideoCommon/Src/VertexManagerBase.cpp
parentfe1fdc5e7b957312c906324134e42ca3484fa2d5 (diff)
parentc728ef2cd30ef803210d5db0a1ecab6b198a2c65 (diff)
Merge branch 'master' into wii-network
Conflicts: Source/Core/Common/Src/CommonPaths.h Source/Core/Core/CMakeLists.txt Source/Core/Core/Src/Boot/Boot_BS2Emu.cpp Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net.cpp
Diffstat (limited to 'Source/Core/VideoCommon/Src/VertexManagerBase.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/VertexManagerBase.cpp42
1 files changed, 22 insertions, 20 deletions
diff --git a/Source/Core/VideoCommon/Src/VertexManagerBase.cpp b/Source/Core/VideoCommon/Src/VertexManagerBase.cpp
index 004b0f3cca..5be72e4fcf 100644
--- a/Source/Core/VideoCommon/Src/VertexManagerBase.cpp
+++ b/Source/Core/VideoCommon/Src/VertexManagerBase.cpp
@@ -9,6 +9,7 @@
#include "NativeVertexFormat.h"
#include "TextureCacheBase.h"
#include "RenderBase.h"
+#include "BPStructs.h"
#include "VertexManagerBase.h"
#include "VideoConfig.h"
@@ -159,16 +160,9 @@ void VertexManager::AddVertices(int primitive, int numVertices)
void VertexManager::Flush()
{
- // Disable Lighting
- // TODO - Is this a good spot for this code?
- if (g_ActiveConfig.bDisableLighting)
- {
- for (u32 i = 0; i < xfregs.numChan.numColorChans; i++)
- {
- xfregs.alpha[i].enablelighting = false;
- xfregs.color[i].enablelighting = false;
- }
- }
+ // loading a state will invalidate BP, so check for it
+ g_video_backend->CheckInvalidState();
+
g_vertex_manager->vFlush();
}
@@ -236,22 +230,13 @@ void VertexManager::Flush()
tex.texImage0[i&3].width + 1, tex.texImage0[i&3].height + 1,
tex.texImage0[i&3].format, tex.texTlut[i&3].tmem_offset<<9,
tex.texTlut[i&3].tlut_format,
- (tex.texMode0[i&3].min_filter & 3) && (tex.texMode0[i&3].min_filter != 8) && g_ActiveConfig.bUseNativeMips,
+ (tex.texMode0[i&3].min_filter & 3) && (tex.texMode0[i&3].min_filter != 8),
(tex.texMode1[i&3].max_lod >> 4));
if (tentry)
{
// 0s are probably for no manual wrapping needed.
PixelShaderManager::SetTexDims(i, tentry->nativeW, tentry->nativeH, 0, 0);
-
- // TODO:
- //if (g_ActiveConfig.iLog & CONF_SAVETEXTURES)
- //{
- // // save the textures
- // char strfile[255];
- // sprintf(strfile, "%stex%.3d_%d.tga", File::GetUserPath(D_DUMPFRAMES_IDX).c_str(), g_Config.iSaveTargetId, i);
- // SaveTexture(strfile, GL_TEXTURE_2D, tentry->texture, tentry->w, tentry->h);
- //}
}
else
ERROR_LOG(VIDEO, "error loading texture");
@@ -317,3 +302,20 @@ shader_fail:
ResetBuffer();
}
#endif
+
+void VertexManager::DoState(PointerWrap& p)
+{
+ g_vertex_manager->vDoState(p);
+}
+
+void VertexManager::DoStateShared(PointerWrap& p)
+{
+ p.DoPointer(s_pCurBufferPointer, LocalVBuffer);
+ p.DoArray(LocalVBuffer, MAXVBUFFERSIZE);
+ p.DoArray(TIBuffer, MAXIBUFFERSIZE);
+ p.DoArray(LIBuffer, MAXIBUFFERSIZE);
+ p.DoArray(PIBuffer, MAXIBUFFERSIZE);
+
+ if (p.GetMode() == PointerWrap::MODE_READ)
+ Flushed = false;
+}