intel/decoder: tools: Use engine for decoding batch instructions

The engine to which the batch was sent to is now set to the decoder context when
decoding the batch. This is needed so that we can distinguish between
instructions as the render and video pipe share some of the instruction opcodes.

v2: The engine is now in the decoder context and the batch decoder uses a local
function for finding the instruction for an engine.

v3: Spec uses engine_mask now instead of engine, replaced engine class enums
with the definitions from UAPI.

v4: Fix up aubinator_viewer (Lionel)

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
Toni Lönnberg
2018-11-07 16:50:32 +02:00
committed by Lionel Landwerlin
parent a6aab7e436
commit 102dadec81
8 changed files with 69 additions and 53 deletions
+5 -1
View File
@@ -56,7 +56,9 @@ struct gen_spec *gen_spec_load_from_path(const struct gen_device_info *devinfo,
const char *path);
void gen_spec_destroy(struct gen_spec *spec);
uint32_t gen_spec_get_gen(struct gen_spec *spec);
struct gen_group *gen_spec_find_instruction(struct gen_spec *spec, const uint32_t *p);
struct gen_group *gen_spec_find_instruction(struct gen_spec *spec,
enum drm_i915_gem_engine_class engine,
const uint32_t *p);
struct gen_group *gen_spec_find_register(struct gen_spec *spec, uint32_t offset);
struct gen_group *gen_spec_find_register_by_name(struct gen_spec *spec, const char *name);
struct gen_enum *gen_spec_find_enum(struct gen_spec *spec, const char *name);
@@ -233,6 +235,8 @@ struct gen_batch_decode_ctx {
uint64_t instruction_base;
int max_vbo_decoded_lines;
enum drm_i915_gem_engine_class engine;
};
void gen_batch_decode_ctx_init(struct gen_batch_decode_ctx *ctx,