Mesa (master): intel/aubinator: Gracefully handle dynamic state not being available

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Dec 28 18:39:36 UTC 2017


Module: Mesa
Branch: master
Commit: 69fa3fb77f298f717be9a45b3989d039071ffe15
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=69fa3fb77f298f717be9a45b3989d039071ffe15

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Dec 27 08:40:30 2017 -0800

intel/aubinator: Gracefully handle dynamic state not being available

Some older versions of the Vulkan driver didn't properly tag dynamic
state as needing to be captured.  Also, this prevents crashes when
looking at dumps on older kernels.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>

---

 src/intel/tools/gen_batch_decoder.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/intel/tools/gen_batch_decoder.c b/src/intel/tools/gen_batch_decoder.c
index e8dd19b33e..f09b8331f8 100644
--- a/src/intel/tools/gen_batch_decoder.c
+++ b/src/intel/tools/gen_batch_decoder.c
@@ -582,6 +582,11 @@ decode_dynamic_state_pointers(struct gen_batch_decode_ctx *ctx,
                               const char *struct_type, const uint32_t *p,
                               int count)
 {
+   if (ctx->dynamic_base.map == NULL) {
+      fprintf(ctx->fp, "  dynamic %s state unavailable\n", struct_type);
+      return;
+   }
+
    struct gen_group *inst = gen_spec_find_instruction(ctx->spec, p);
    struct gen_group *state = gen_spec_find_struct(ctx->spec, struct_type);
 




More information about the mesa-commit mailing list