Seems I screwed up with the engine for video and accidentally left *_RENDER as the engine. Will follow up with v3.
On Wed, Oct 31, 2018 at 03:12:48PM +0200, Toni Lönnberg wrote: > Removed the gen_engine enum and changed the involved functions to use the > drm_i915_gem_engine_class enum from UAPI instead. > --- > src/intel/tools/aub_read.c | 22 +++++++++++----------- > src/intel/tools/aub_read.h | 11 +++-------- > src/intel/tools/aubinator.c | 5 ++--- > 3 files changed, 16 insertions(+), 22 deletions(-) > > diff --git a/src/intel/tools/aub_read.c b/src/intel/tools/aub_read.c > index d83e88ddced..f5044a7869d 100644 > --- a/src/intel/tools/aub_read.c > +++ b/src/intel/tools/aub_read.c > @@ -136,7 +136,7 @@ handle_trace_block(struct aub_read *read, const uint32_t > *p) > int type = p[1] & AUB_TRACE_TYPE_MASK; > int address_space = p[1] & AUB_TRACE_ADDRESS_SPACE_MASK; > int header_length = p[0] & 0xffff; > - int engine = GEN_ENGINE_RENDER; > + enum drm_i915_gem_engine_class engine = I915_ENGINE_CLASS_RENDER; > const void *data = p + header_length + 2; > uint64_t address = gen_48b_address((read->devinfo.gen >= 8 ? ((uint64_t) > p[5] << 32) : 0) | > ((uint64_t) p[3])); > @@ -151,13 +151,13 @@ handle_trace_block(struct aub_read *read, const > uint32_t *p) > case AUB_TRACE_OP_COMMAND_WRITE: > switch (type) { > case AUB_TRACE_TYPE_RING_PRB0: > - engine = GEN_ENGINE_RENDER; > + engine = I915_ENGINE_CLASS_RENDER; > break; > case AUB_TRACE_TYPE_RING_PRB1: > - engine = GEN_ENGINE_VIDEO; > + engine = I915_ENGINE_CLASS_RENDER; > break; > case AUB_TRACE_TYPE_RING_PRB2: > - engine = GEN_ENGINE_BLITTER; > + engine = I915_ENGINE_CLASS_COPY; > break; > default: > parse_error(read, p, "command write to unknown ring %d\n", type); > @@ -182,7 +182,7 @@ handle_memtrace_reg_write(struct aub_read *read, const > uint32_t *p) > if (read->reg_write) > read->reg_write(read->user_data, offset, value); > > - int engine; > + enum drm_i915_gem_engine_class engine; > uint64_t context_descriptor; > > switch (offset) { > @@ -192,7 +192,7 @@ handle_memtrace_reg_write(struct aub_read *read, const > uint32_t *p) > return; > > read->render_elsp_index = 0; > - engine = GEN_ENGINE_RENDER; > + engine = I915_ENGINE_CLASS_RENDER; > context_descriptor = (uint64_t)read->render_elsp[2] << 32 | > read->render_elsp[3]; > break; > @@ -202,7 +202,7 @@ handle_memtrace_reg_write(struct aub_read *read, const > uint32_t *p) > return; > > read->video_elsp_index = 0; > - engine = GEN_ENGINE_VIDEO; > + engine = I915_ENGINE_CLASS_VIDEO; > context_descriptor = (uint64_t)read->video_elsp[2] << 32 | > read->video_elsp[3]; > break; > @@ -212,7 +212,7 @@ handle_memtrace_reg_write(struct aub_read *read, const > uint32_t *p) > return; > > read->blitter_elsp_index = 0; > - engine = GEN_ENGINE_BLITTER; > + engine = I915_ENGINE_CLASS_COPY; > context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 | > read->blitter_elsp[3]; > break; > @@ -241,17 +241,17 @@ handle_memtrace_reg_write(struct aub_read *read, const > uint32_t *p) > return; > break; > case 0x2550: /* render elsc */ > - engine = GEN_ENGINE_RENDER; > + engine = I915_ENGINE_CLASS_RENDER; > context_descriptor = (uint64_t)read->render_elsp[2] << 32 | > read->render_elsp[3]; > break; > case 0x12550: /* video_elsc */ > - engine = GEN_ENGINE_VIDEO; > + engine = I915_ENGINE_CLASS_VIDEO; > context_descriptor = (uint64_t)read->video_elsp[2] << 32 | > read->video_elsp[3]; > break; > case 0x22550: /* blitter elsc */ > - engine = GEN_ENGINE_BLITTER; > + engine = I915_ENGINE_CLASS_COPY; > context_descriptor = (uint64_t)read->blitter_elsp[2] << 32 | > read->blitter_elsp[3]; > break; > diff --git a/src/intel/tools/aub_read.h b/src/intel/tools/aub_read.h > index e48ac3164bc..1e788332dcb 100644 > --- a/src/intel/tools/aub_read.h > +++ b/src/intel/tools/aub_read.h > @@ -28,17 +28,12 @@ > #include <stdint.h> > > #include "dev/gen_device_info.h" > +#include "drm-uapi/i915_drm.h" > > #ifdef __cplusplus > extern "C" { > #endif > > -enum gen_engine { > - GEN_ENGINE_RENDER = 1, > - GEN_ENGINE_VIDEO = 2, > - GEN_ENGINE_BLITTER = 3, > -}; > - > struct aub_read { > /* Caller's data */ > void *user_data; > @@ -55,9 +50,9 @@ struct aub_read { > > void (*reg_write)(void *user_data, uint32_t reg_offset, uint32_t > reg_value); > > - void (*ring_write)(void *user_data, enum gen_engine engine, > + void (*ring_write)(void *user_data, enum drm_i915_gem_engine_class engine, > const void *data, uint32_t data_len); > - void (*execlist_write)(void *user_data, enum gen_engine engine, > + void (*execlist_write)(void *user_data, enum drm_i915_gem_engine_class > engine, > uint64_t context_descriptor); > > /* Reader's data */ > diff --git a/src/intel/tools/aubinator.c b/src/intel/tools/aubinator.c > index 1458875a313..ed758a62503 100644 > --- a/src/intel/tools/aubinator.c > +++ b/src/intel/tools/aubinator.c > @@ -40,7 +40,6 @@ > > #include "util/macros.h" > > -#include "common/gen_decoder.h" > #include "aub_read.h" > #include "aub_mem.h" > > @@ -131,7 +130,7 @@ aubinator_init(void *user_data, int aub_pci_id, const > char *app_name) > } > > static void > -handle_execlist_write(void *user_data, enum gen_engine engine, uint64_t > context_descriptor) > +handle_execlist_write(void *user_data, enum drm_i915_gem_engine_class > engine, uint64_t context_descriptor) > { > const uint32_t pphwsp_size = 4096; > uint32_t pphwsp_addr = context_descriptor & 0xfffff000; > @@ -165,7 +164,7 @@ handle_execlist_write(void *user_data, enum gen_engine > engine, uint64_t context_ > } > > static void > -handle_ring_write(void *user_data, enum gen_engine engine, > +handle_ring_write(void *user_data, enum drm_i915_gem_engine_class engine, > const void *data, uint32_t data_len) > { > batch_ctx.user_data = &mem; > -- > 2.17.1 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev