]> git.cworth.org Git - apitrace/blobdiff - gui/apitracecall.cpp
Add a state tab that list uniforms.
[apitrace] / gui / apitracecall.cpp
index 865f9ae5254133f3b42cdd4327c08baa687d980c..c3f883147fe9f743a8135e08421229e3d93ef301 100644 (file)
@@ -164,8 +164,8 @@ void ApiBitmask::init(const Trace::Bitmask *bitmask)
         return;
 
     m_value = bitmask->value;
-    for (const Trace::BitmaskVal *it = bitmask->sig->values;
-         it != bitmask->sig->values + bitmask->sig->count; ++it) {
+    for (const Trace::BitmaskFlag *it = bitmask->sig->flags;
+         it != bitmask->sig->flags + bitmask->sig->num_flags; ++it) {
         assert(it->value);
         QPair<QString, unsigned long long> pair;
 
@@ -230,7 +230,7 @@ void ApiStruct::init(const Trace::Struct *s)
         return;
 
     m_sig.name = QString::fromStdString(s->sig->name);
-    for (unsigned i = 0; i < s->members.size(); ++i) {
+    for (unsigned i = 0; i < s->sig->num_members; ++i) {
         VariantVisitor vis;
         m_sig.memberNames.append(
             QString::fromStdString(s->sig->member_names[i]));
@@ -271,13 +271,10 @@ void VariantVisitor::visit(Trace::String *node)
 
 void VariantVisitor::visit(Trace::Enum *e)
 {
-    VariantVisitor vis;
-    e->sig->second->visit(vis);
-
-    QVariant val = vis.variant();
+    QVariant val = QVariant(e->sig->value);
 
     m_variant = QVariant::fromValue(
-        ApiEnum(QString::fromStdString(e->sig->first), val));
+        ApiEnum(QString::fromStdString(e->sig->name), val));
 }
 
 void VariantVisitor::visit(Trace::Bitmask *bitmask)
@@ -610,6 +607,8 @@ ApiTraceState::ApiTraceState(const QVariantMap &parsedJson)
         m_shaderSources[type] = source;
     }
 
+    m_uniforms = parsedJson[QLatin1String("uniforms")].toMap();
+
     QVariantMap textures =
         parsedJson[QLatin1String("textures")].toMap();
     for (itr = textures.constBegin(); itr != textures.constEnd(); ++itr) {
@@ -664,27 +663,32 @@ ApiTraceState::ApiTraceState(const QVariantMap &parsedJson)
     }
 }
 
-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;
 }
 
+const QVariantMap & ApiTraceState::uniforms() const
+{
+    return m_uniforms;
+}
+
 bool ApiTraceState::isEmpty() const
 {
     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;
 }
@@ -736,7 +740,7 @@ ApiTraceCall::ApiTraceCall(const Trace::Call *call)
     m_index = call->no;
 
     QString argumentsText;
-    for (int i = 0; i < call->sig->arg_names.size(); ++i) {
+    for (int i = 0; i < call->sig->num_args; ++i) {
         m_argNames +=
             QString::fromStdString(call->sig->arg_names[i]);
     }