}
 }
 
-QVariantMap ApiTraceState::parameters() const
+const QVariantMap & ApiTraceState::parameters() const
 {
     return m_parameters;
 }
 
-QMap<QString, QString> ApiTraceState::shaderSources() const
+const QMap<QString, QString> & ApiTraceState::shaderSources() const
 {
     return m_shaderSources;
 }
     return m_parameters.isEmpty();
 }
 
-QList<ApiTexture> ApiTraceState::textures() const
+const QList<ApiTexture> & ApiTraceState::textures() const
 {
     return m_textures;
 }
 
-QList<ApiFramebuffer> ApiTraceState::framebuffers() const
+const QList<ApiFramebuffer> & ApiTraceState::framebuffers() const
 {
     return m_framebuffers;
 }
 
     explicit ApiTraceState(const QVariantMap &parseJson);
 
     bool isEmpty() const;
-    QVariantMap parameters() const;
-    QMap<QString, QString> shaderSources() const;
-    QList<ApiTexture> textures() const;
-    QList<ApiFramebuffer> framebuffers() const;
+    const QVariantMap & parameters() const;
+    const QMap<QString, QString> & shaderSources() const;
+    const QList<ApiTexture> & textures() const;
+    const QList<ApiFramebuffer> & framebuffers() const;
 
 private:
     QVariantMap m_parameters;
 
 
 void MainWindow::fillStateForFrame()
 {
-    QVariantMap params;
-
     if (!m_selectedEvent || m_selectedEvent->state().isEmpty())
         return;
 
 
     const ApiTraceState &state = m_selectedEvent->state();
     m_ui.stateTreeWidget->clear();
-    params = state.parameters();
     QList<QTreeWidgetItem *> items;
-    variantMapToItems(params, defaultParams, items);
+    variantMapToItems(state.parameters(), defaultParams, items);
     m_ui.stateTreeWidget->insertTopLevelItems(0, items);
 
     QMap<QString, QString> shaderSources = state.shaderSources();
         m_sourcesWidget->setShaders(shaderSources);
     }
 
+    m_ui.uniformsTreeWidget->clear();
+    QList<QTreeWidgetItem *> uniformsItems;
+    variantMapToItems(state.uniforms, QVariantMap(), uniformsItems);
+    m_ui.uniformsTreeWidget->insertTopLevelItems(0, uniformsItems);
+
     const QList<ApiTexture> &textures =
         state.textures();
     const QList<ApiFramebuffer> &fbos =