diff options
| author | Matthew Parlane <parlane@gmail.com> | 2013-01-01 23:28:46 +1300 |
|---|---|---|
| committer | Matthew Parlane <parlane@gmail.com> | 2013-01-01 23:28:46 +1300 |
| commit | e0c9a1fd09b9be953bf0ae41b9014485e750b07e (patch) | |
| tree | 059744e17a2a35ca58dd9b817cab620faee38611 /Source/Core/VideoCommon/Src/VertexManagerBase.cpp | |
| parent | fe1fdc5e7b957312c906324134e42ca3484fa2d5 (diff) | |
| parent | c728ef2cd30ef803210d5db0a1ecab6b198a2c65 (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.cpp | 42 |
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; +} |
