diff options
Diffstat (limited to 'Source/Core/VideoCommon/VertexShaderManager.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/VertexShaderManager.cpp | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/Source/Core/VideoCommon/VertexShaderManager.cpp b/Source/Core/VideoCommon/VertexShaderManager.cpp index 2408281da6..276b400ab3 100644 --- a/Source/Core/VideoCommon/VertexShaderManager.cpp +++ b/Source/Core/VideoCommon/VertexShaderManager.cpp @@ -621,44 +621,6 @@ void VertexShaderManager::SetMaterialColorChanged(int index) m_materials_changed[index] = true; } -static void UpdateValue(bool* dirty, u32* old_value, u32 new_value) -{ - if (*old_value == new_value) - return; - *old_value = new_value; - *dirty = true; -} - -static void UpdateOffset(bool* dirty, bool include_components, u32* old_value, - const AttributeFormat& attribute) -{ - if (!attribute.enable) - return; - u32 new_value = attribute.offset / 4; // GPU uses uint offsets - if (include_components) - new_value |= attribute.components << 16; - UpdateValue(dirty, old_value, new_value); -} - -template <size_t N> -static void UpdateOffsets(bool* dirty, bool include_components, std::array<u32, N>* old_value, - const std::array<AttributeFormat, N>& attribute) -{ - for (size_t i = 0; i < N; i++) - UpdateOffset(dirty, include_components, &(*old_value)[i], attribute[i]); -} - -void VertexShaderManager::SetVertexFormat(u32 components, const PortableVertexDeclaration& format) -{ - UpdateValue(&dirty, &constants.components, components); - UpdateValue(&dirty, &constants.vertex_stride, format.stride / 4); - UpdateOffset(&dirty, true, &constants.vertex_offset_position, format.position); - UpdateOffset(&dirty, false, &constants.vertex_offset_posmtx, format.posmtx); - UpdateOffsets(&dirty, true, &constants.vertex_offset_texcoords, format.texcoords); - UpdateOffsets(&dirty, false, &constants.vertex_offset_colors, format.colors); - UpdateOffsets(&dirty, false, &constants.vertex_offset_normals, format.normals); -} - void VertexShaderManager::SetTexMatrixInfoChanged(int index) { // TODO: Should we track this with more precision, like which indices changed? |
