diff options
| author | Lioncash <mathew1800@gmail.com> | 2013-04-13 23:54:02 -0400 |
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2013-04-13 23:54:02 -0400 |
| commit | 7ab0cca6455830a838b1b1e38e2c3f265e4e5d0b (patch) | |
| tree | c0e29f86306e35d624cf60bfbeb3b9a1a200d4a1 /Source/Plugins/Plugin_VideoSoftware/Src/SWVertexLoader.cpp | |
| parent | 48927c17d252223ffdaa5cfb34aa850eb6ee6ee1 (diff) | |
Clean up most (99.99%) of the tab/space mismatches in the VideoSoftware project.
Got rid of trailing spaces that were unnecessary too.
Also update the license header for this project. We don't use SVN anymore.
Diffstat (limited to 'Source/Plugins/Plugin_VideoSoftware/Src/SWVertexLoader.cpp')
| -rw-r--r-- | Source/Plugins/Plugin_VideoSoftware/Src/SWVertexLoader.cpp | 241 |
1 files changed, 123 insertions, 118 deletions
diff --git a/Source/Plugins/Plugin_VideoSoftware/Src/SWVertexLoader.cpp b/Source/Plugins/Plugin_VideoSoftware/Src/SWVertexLoader.cpp index 063e806865..44323951de 100644 --- a/Source/Plugins/Plugin_VideoSoftware/Src/SWVertexLoader.cpp +++ b/Source/Plugins/Plugin_VideoSoftware/Src/SWVertexLoader.cpp @@ -12,7 +12,7 @@ // A copy of the GPL 2.0 should have been included with the program. // If not, see http://www.gnu.org/licenses/ -// Official SVN repository and contact information can be found at +// Official Git repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ #include "Common.h" @@ -41,72 +41,74 @@ extern float tcScale[8]; SWVertexLoader::SWVertexLoader() : - m_VertexSize(0), - m_NumAttributeLoaders(0) + m_VertexSize(0), + m_NumAttributeLoaders(0) { - VertexLoader_Normal::Init(); - VertexLoader_Position::Init(); - VertexLoader_TextCoord::Init(); + VertexLoader_Normal::Init(); + VertexLoader_Position::Init(); + VertexLoader_TextCoord::Init(); - m_SetupUnit = new SetupUnit; + m_SetupUnit = new SetupUnit; } SWVertexLoader::~SWVertexLoader() { - delete m_SetupUnit; - m_SetupUnit = NULL; + delete m_SetupUnit; + m_SetupUnit = NULL; } void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) { - m_CurrentVat = &g_VtxAttr[attributeIndex]; - - posScale = 1.0f / float(1 << m_CurrentVat->g0.PosFrac); - tcScale[0] = 1.0f / float(1 << m_CurrentVat->g0.Tex0Frac); - tcScale[1] = 1.0f / float(1 << m_CurrentVat->g1.Tex1Frac); - tcScale[2] = 1.0f / float(1 << m_CurrentVat->g1.Tex2Frac); - tcScale[3] = 1.0f / float(1 << m_CurrentVat->g1.Tex3Frac); - tcScale[4] = 1.0f / float(1 << m_CurrentVat->g2.Tex4Frac); - tcScale[5] = 1.0f / float(1 << m_CurrentVat->g2.Tex5Frac); - tcScale[6] = 1.0f / float(1 << m_CurrentVat->g2.Tex6Frac); - tcScale[7] = 1.0f / float(1 << m_CurrentVat->g2.Tex7Frac); - - //TexMtx - const u32 tmDesc[8] = { - g_VtxDesc.Tex0MatIdx, g_VtxDesc.Tex1MatIdx, g_VtxDesc.Tex2MatIdx, g_VtxDesc.Tex3MatIdx, + m_CurrentVat = &g_VtxAttr[attributeIndex]; + + posScale = 1.0f / float(1 << m_CurrentVat->g0.PosFrac); + tcScale[0] = 1.0f / float(1 << m_CurrentVat->g0.Tex0Frac); + tcScale[1] = 1.0f / float(1 << m_CurrentVat->g1.Tex1Frac); + tcScale[2] = 1.0f / float(1 << m_CurrentVat->g1.Tex2Frac); + tcScale[3] = 1.0f / float(1 << m_CurrentVat->g1.Tex3Frac); + tcScale[4] = 1.0f / float(1 << m_CurrentVat->g2.Tex4Frac); + tcScale[5] = 1.0f / float(1 << m_CurrentVat->g2.Tex5Frac); + tcScale[6] = 1.0f / float(1 << m_CurrentVat->g2.Tex6Frac); + tcScale[7] = 1.0f / float(1 << m_CurrentVat->g2.Tex7Frac); + + //TexMtx + const u32 tmDesc[8] = { + g_VtxDesc.Tex0MatIdx, g_VtxDesc.Tex1MatIdx, g_VtxDesc.Tex2MatIdx, g_VtxDesc.Tex3MatIdx, g_VtxDesc.Tex4MatIdx, g_VtxDesc.Tex5MatIdx, g_VtxDesc.Tex6MatIdx, g_VtxDesc.Tex7MatIdx }; - // Colors + + // Colors const u32 colDesc[2] = {g_VtxDesc.Color0, g_VtxDesc.Color1}; - colElements[0] = m_CurrentVat->g0.Color0Elements; - colElements[1] = m_CurrentVat->g0.Color1Elements; - const u32 colComp[2] = {m_CurrentVat->g0.Color0Comp, m_CurrentVat->g0.Color1Comp}; + colElements[0] = m_CurrentVat->g0.Color0Elements; + colElements[1] = m_CurrentVat->g0.Color1Elements; + const u32 colComp[2] = {m_CurrentVat->g0.Color0Comp, m_CurrentVat->g0.Color1Comp}; + // TextureCoord const u32 tcDesc[8] = { g_VtxDesc.Tex0Coord, g_VtxDesc.Tex1Coord, g_VtxDesc.Tex2Coord, g_VtxDesc.Tex3Coord, g_VtxDesc.Tex4Coord, g_VtxDesc.Tex5Coord, g_VtxDesc.Tex6Coord, (const u32)((g_VtxDesc.Hex >> 31) & 3) }; - const u32 tcElements[8] = { - m_CurrentVat->g0.Tex0CoordElements, m_CurrentVat->g1.Tex1CoordElements, m_CurrentVat->g1.Tex2CoordElements, - m_CurrentVat->g1.Tex3CoordElements, m_CurrentVat->g1.Tex4CoordElements, m_CurrentVat->g2.Tex5CoordElements, - m_CurrentVat->g2.Tex6CoordElements, m_CurrentVat->g2.Tex7CoordElements - }; - - const u32 tcFormat[8] = { - m_CurrentVat->g0.Tex0CoordFormat, m_CurrentVat->g1.Tex1CoordFormat, m_CurrentVat->g1.Tex2CoordFormat, - m_CurrentVat->g1.Tex3CoordFormat, m_CurrentVat->g1.Tex4CoordFormat, m_CurrentVat->g2.Tex5CoordFormat, - m_CurrentVat->g2.Tex6CoordFormat, m_CurrentVat->g2.Tex7CoordFormat - }; - - m_VertexSize = 0; - + const u32 tcElements[8] = { + m_CurrentVat->g0.Tex0CoordElements, m_CurrentVat->g1.Tex1CoordElements, m_CurrentVat->g1.Tex2CoordElements, + m_CurrentVat->g1.Tex3CoordElements, m_CurrentVat->g1.Tex4CoordElements, m_CurrentVat->g2.Tex5CoordElements, + m_CurrentVat->g2.Tex6CoordElements, m_CurrentVat->g2.Tex7CoordElements + }; + + const u32 tcFormat[8] = { + m_CurrentVat->g0.Tex0CoordFormat, m_CurrentVat->g1.Tex1CoordFormat, m_CurrentVat->g1.Tex2CoordFormat, + m_CurrentVat->g1.Tex3CoordFormat, m_CurrentVat->g1.Tex4CoordFormat, m_CurrentVat->g2.Tex5CoordFormat, + m_CurrentVat->g2.Tex6CoordFormat, m_CurrentVat->g2.Tex7CoordFormat + }; + + m_VertexSize = 0; + // Reset pipeline m_positionLoader = NULL; - m_normalLoader = NULL; - m_NumAttributeLoaders = 0; + m_normalLoader = NULL; + m_NumAttributeLoaders = 0; - // Reset vertex - // matrix index from xf regs or cp memory? + // Reset vertex + // matrix index from xf regs or cp memory? if (swxfregs.MatrixIndexA.PosNormalMtxIdx != MatrixIndexA.PosNormalMtxIdx || swxfregs.MatrixIndexA.Tex0MtxIdx != MatrixIndexA.Tex0MtxIdx || swxfregs.MatrixIndexA.Tex1MtxIdx != MatrixIndexA.Tex1MtxIdx || @@ -126,39 +128,41 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) } #if(1) - m_Vertex.posMtx = swxfregs.MatrixIndexA.PosNormalMtxIdx; - m_Vertex.texMtx[0] = swxfregs.MatrixIndexA.Tex0MtxIdx; - m_Vertex.texMtx[1] = swxfregs.MatrixIndexA.Tex1MtxIdx; - m_Vertex.texMtx[2] = swxfregs.MatrixIndexA.Tex2MtxIdx; - m_Vertex.texMtx[3] = swxfregs.MatrixIndexA.Tex3MtxIdx; - m_Vertex.texMtx[4] = swxfregs.MatrixIndexB.Tex4MtxIdx; - m_Vertex.texMtx[5] = swxfregs.MatrixIndexB.Tex5MtxIdx; - m_Vertex.texMtx[6] = swxfregs.MatrixIndexB.Tex6MtxIdx; - m_Vertex.texMtx[7] = swxfregs.MatrixIndexB.Tex7MtxIdx; + m_Vertex.posMtx = swxfregs.MatrixIndexA.PosNormalMtxIdx; + m_Vertex.texMtx[0] = swxfregs.MatrixIndexA.Tex0MtxIdx; + m_Vertex.texMtx[1] = swxfregs.MatrixIndexA.Tex1MtxIdx; + m_Vertex.texMtx[2] = swxfregs.MatrixIndexA.Tex2MtxIdx; + m_Vertex.texMtx[3] = swxfregs.MatrixIndexA.Tex3MtxIdx; + m_Vertex.texMtx[4] = swxfregs.MatrixIndexB.Tex4MtxIdx; + m_Vertex.texMtx[5] = swxfregs.MatrixIndexB.Tex5MtxIdx; + m_Vertex.texMtx[6] = swxfregs.MatrixIndexB.Tex6MtxIdx; + m_Vertex.texMtx[7] = swxfregs.MatrixIndexB.Tex7MtxIdx; #else - m_Vertex.posMtx = MatrixIndexA.PosNormalMtxIdx; - m_Vertex.texMtx[0] = MatrixIndexA.Tex0MtxIdx; - m_Vertex.texMtx[1] = MatrixIndexA.Tex1MtxIdx; - m_Vertex.texMtx[2] = MatrixIndexA.Tex2MtxIdx; - m_Vertex.texMtx[3] = MatrixIndexA.Tex3MtxIdx; - m_Vertex.texMtx[4] = MatrixIndexB.Tex4MtxIdx; - m_Vertex.texMtx[5] = MatrixIndexB.Tex5MtxIdx; - m_Vertex.texMtx[6] = MatrixIndexB.Tex6MtxIdx; - m_Vertex.texMtx[7] = MatrixIndexB.Tex7MtxIdx; + m_Vertex.posMtx = MatrixIndexA.PosNormalMtxIdx; + m_Vertex.texMtx[0] = MatrixIndexA.Tex0MtxIdx; + m_Vertex.texMtx[1] = MatrixIndexA.Tex1MtxIdx; + m_Vertex.texMtx[2] = MatrixIndexA.Tex2MtxIdx; + m_Vertex.texMtx[3] = MatrixIndexA.Tex3MtxIdx; + m_Vertex.texMtx[4] = MatrixIndexB.Tex4MtxIdx; + m_Vertex.texMtx[5] = MatrixIndexB.Tex5MtxIdx; + m_Vertex.texMtx[6] = MatrixIndexB.Tex6MtxIdx; + m_Vertex.texMtx[7] = MatrixIndexB.Tex7MtxIdx; #endif - if (g_VtxDesc.PosMatIdx != NOT_PRESENT) { - AddAttributeLoader(LoadPosMtx); - m_VertexSize++; - } + if (g_VtxDesc.PosMatIdx != NOT_PRESENT) + { + AddAttributeLoader(LoadPosMtx); + m_VertexSize++; + } - for (int i = 0; i < 8; ++i) { - if (tmDesc[i] != NOT_PRESENT) - { - AddAttributeLoader(LoadTexMtx, i); - m_VertexSize++; - } - } + for (int i = 0; i < 8; ++i) + { + if (tmDesc[i] != NOT_PRESENT) + { + AddAttributeLoader(LoadTexMtx, i); + m_VertexSize++; + } + } // Write vertex position loader m_positionLoader = VertexLoader_Position::GetFunction(g_VtxDesc.Position, m_CurrentVat->g0.PosFormat, m_CurrentVat->g0.PosElements); @@ -178,14 +182,15 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) { ERROR_LOG(VIDEO, "VertexLoader_Normal::GetFunction returned zero!"); } - AddAttributeLoader(LoadNormal); - } + AddAttributeLoader(LoadNormal); + } - for (int i = 0; i < 2; i++) { + for (int i = 0; i < 2; i++) + { switch (colDesc[i]) { case NOT_PRESENT: - m_colorLoader[i] = NULL; + m_colorLoader[i] = NULL; break; case DIRECT: switch (colComp[i]) @@ -198,7 +203,7 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) case FORMAT_32B_8888: m_VertexSize += 4; m_colorLoader[i] = (Color_ReadDirect_32b_8888); break; default: _assert_(0); break; } - AddAttributeLoader(LoadColor, i); + AddAttributeLoader(LoadColor, i); break; case INDEX8: m_VertexSize += 1; @@ -212,7 +217,7 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) case FORMAT_32B_8888: m_colorLoader[i] = (Color_ReadIndex8_32b_8888); break; default: _assert_(0); break; } - AddAttributeLoader(LoadColor, i); + AddAttributeLoader(LoadColor, i); break; case INDEX16: m_VertexSize += 2; @@ -226,13 +231,14 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) case FORMAT_32B_8888: m_colorLoader[i] = (Color_ReadIndex16_32b_8888); break; default: _assert_(0); break; } - AddAttributeLoader(LoadColor, i); + AddAttributeLoader(LoadColor, i); break; } } // Texture matrix indices (remove if corresponding texture coordinate isn't enabled) - for (int i = 0; i < 8; i++) { + for (int i = 0; i < 8; i++) + { const int desc = tcDesc[i]; const int format = tcFormat[i]; const int elements = tcElements[i]; @@ -244,7 +250,7 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) m_VertexSize += VertexLoader_TextCoord::GetSize(desc, format, elements); if (m_texCoordLoader[i]) AddAttributeLoader(LoadTexCoord, i); - } + } // special case if only pos and tex coord 0 and tex coord input is AB11 m_TexGenSpecialCase = @@ -252,80 +258,79 @@ void SWVertexLoader::SetFormat(u8 attributeIndex, u8 primitiveType) (g_VtxDesc.Tex0Coord != NOT_PRESENT) && (swxfregs.texMtxInfo[0].projection == XF_TEXPROJ_ST); - - m_SetupUnit->Init(primitiveType); + m_SetupUnit->Init(primitiveType); } void SWVertexLoader::LoadVertex() { - for (int i = 0; i < m_NumAttributeLoaders; i++) - m_AttributeLoaders[i].loader(this, &m_Vertex, m_AttributeLoaders[i].index); + for (int i = 0; i < m_NumAttributeLoaders; i++) + m_AttributeLoaders[i].loader(this, &m_Vertex, m_AttributeLoaders[i].index); - OutputVertexData* outVertex = m_SetupUnit->GetVertex(); + OutputVertexData* outVertex = m_SetupUnit->GetVertex(); - // transform input data - TransformUnit::TransformPosition(&m_Vertex, outVertex); + // transform input data + TransformUnit::TransformPosition(&m_Vertex, outVertex); - if (g_VtxDesc.Normal != NOT_PRESENT) - { - TransformUnit::TransformNormal(&m_Vertex, m_CurrentVat->g0.NormalElements, outVertex); - } + if (g_VtxDesc.Normal != NOT_PRESENT) + { + TransformUnit::TransformNormal(&m_Vertex, m_CurrentVat->g0.NormalElements, outVertex); + } - TransformUnit::TransformColor(&m_Vertex, outVertex); + TransformUnit::TransformColor(&m_Vertex, outVertex); - TransformUnit::TransformTexCoord(&m_Vertex, outVertex, m_TexGenSpecialCase); + TransformUnit::TransformTexCoord(&m_Vertex, outVertex, m_TexGenSpecialCase); - m_SetupUnit->SetupVertex(); + m_SetupUnit->SetupVertex(); - INCSTAT(swstats.thisFrame.numVerticesLoaded) + INCSTAT(swstats.thisFrame.numVerticesLoaded) } void SWVertexLoader::AddAttributeLoader(AttributeLoader loader, u8 index) { - _assert_msg_(VIDEO, m_NumAttributeLoaders < 21, "Too many attribute loaders"); - m_AttributeLoaders[m_NumAttributeLoaders].loader = loader; - m_AttributeLoaders[m_NumAttributeLoaders++].index = index; + _assert_msg_(VIDEO, m_NumAttributeLoaders < 21, "Too many attribute loaders"); + m_AttributeLoaders[m_NumAttributeLoaders].loader = loader; + m_AttributeLoaders[m_NumAttributeLoaders++].index = index; } void SWVertexLoader::LoadPosMtx(SWVertexLoader *vertexLoader, InputVertexData *vertex, u8 unused) { - vertex->posMtx = DataReadU8() & 0x3f; + vertex->posMtx = DataReadU8() & 0x3f; } void SWVertexLoader::LoadTexMtx(SWVertexLoader *vertexLoader, InputVertexData *vertex, u8 index) { - vertex->texMtx[index] = DataReadU8() & 0x3f; -} + vertex->texMtx[index] = DataReadU8() & 0x3f; +} void SWVertexLoader::LoadPosition(SWVertexLoader *vertexLoader, InputVertexData *vertex, u8 unused) { - VertexManager::s_pCurBufferPointer = (u8*)&vertex->position; - vertexLoader->m_positionLoader(); + VertexManager::s_pCurBufferPointer = (u8*)&vertex->position; + vertexLoader->m_positionLoader(); } void SWVertexLoader::LoadNormal(SWVertexLoader *vertexLoader, InputVertexData *vertex, u8 unused) { VertexManager::s_pCurBufferPointer = (u8*)&vertex->normal; - vertexLoader->m_normalLoader(); + vertexLoader->m_normalLoader(); } void SWVertexLoader::LoadColor(SWVertexLoader *vertexLoader, InputVertexData *vertex, u8 index) { - u32 color; - VertexManager::s_pCurBufferPointer = (u8*)&color; - colIndex = index; - vertexLoader->m_colorLoader[index](); + u32 color; + VertexManager::s_pCurBufferPointer = (u8*)&color; + colIndex = index; + vertexLoader->m_colorLoader[index](); - // rgba -> abgr - *(u32*)vertex->color[index] = Common::swap32(color); + // rgba -> abgr + *(u32*)vertex->color[index] = Common::swap32(color); } void SWVertexLoader::LoadTexCoord(SWVertexLoader *vertexLoader, InputVertexData *vertex, u8 index) { - VertexManager::s_pCurBufferPointer = (u8*)&vertex->texCoords[index]; - tcIndex = index; - vertexLoader->m_texCoordLoader[index](); + VertexManager::s_pCurBufferPointer = (u8*)&vertex->texCoords[index]; + tcIndex = index; + vertexLoader->m_texCoordLoader[index](); } void SWVertexLoader::DoState(PointerWrap &p) @@ -339,4 +344,4 @@ void SWVertexLoader::DoState(PointerWrap &p) p.Do(m_NumAttributeLoaders); m_SetupUnit->DoState(p); p.Do(m_TexGenSpecialCase); -}
\ No newline at end of file +} |
