[Mesa-dev] [PATCH v3] intel/decoder: tools: gen_engine to drm_i915_gem_engine_class

Lionel Landwerlin lionel.g.landwerlin at intel.com
Thu Nov 8 10:42:14 UTC 2018


Actually I take that back. Could you update 
src/intel/tools/aubinator_viewer.cpp too?
To compile it with meson just pass the -Dtools=intel-ui option.

Thanks,

-
Lionel

On 06/11/2018 12:17, Lionel Landwerlin wrote:
> Looks good, thanks!
>
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
>
> On 31/10/2018 13:57, 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.
>>
>> v3: Wrong engine was being used for blocks in video ring
>> ---
>>   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..1b6787d4a97 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_VIDEO;
>>            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;
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev




More information about the mesa-dev mailing list