summaryrefslogtreecommitdiff
path: root/tools/null_state_gen/intel_batchbuffer.h
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@intel.com>2014-09-08 10:41:38 +0300
committerMika Kuoppala <mika.kuoppala@intel.com>2014-10-09 19:47:47 +0300
commitb69659c3f5ed285bd218350deeff52761aec3d10 (patch)
treeb4e1443ffb9451cc577175a7e71cb9fecf62dd3b /tools/null_state_gen/intel_batchbuffer.h
parenta1f847cba91b9e542e37bb80895d8f8909319dd3 (diff)
tools/null_state_gen: Add macro to emit commands with null state
In null/golden context there are multiple state commands where the actual state is always zero. For more compact batch representation add a macro which just emits command and the rest of the state as zero. v2: - Be more verbose about length bias (Bradley Volkin) - strip out unrelated state_offset declaration (Bradley Volkin) Cc: Volkin, Bradley D <bradley.d.volkin@intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
Diffstat (limited to 'tools/null_state_gen/intel_batchbuffer.h')
-rw-r--r--tools/null_state_gen/intel_batchbuffer.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/tools/null_state_gen/intel_batchbuffer.h b/tools/null_state_gen/intel_batchbuffer.h
index f10831cb..f85f31db 100644
--- a/tools/null_state_gen/intel_batchbuffer.h
+++ b/tools/null_state_gen/intel_batchbuffer.h
@@ -69,6 +69,9 @@ struct intel_batchbuffer {
struct intel_batchbuffer *intel_batchbuffer_create(void);
+#define OUT_CMD_B(cmd, len, bias) intel_batch_cmd_emit_null(batch, (cmd), (len), (bias), #cmd " " #len)
+#define OUT_CMD(cmd, len) OUT_CMD_B(cmd, len, 2)
+
#define OUT_BATCH(d) bb_area_emit(batch->cmds, d, CMD, #d)
#define OUT_BATCH_STATE_OFFSET(d) bb_area_emit(batch->cmds, d, STATE_OFFSET, #d)
#define OUT_RELOC(batch, read_domain, write_domain, d) bb_area_emit(batch->cmds, d, RELOC, #d)
@@ -94,4 +97,8 @@ const char *intel_batch_type_as_str(const struct bb_item *item);
void bb_area_emit(struct bb_area *a, uint32_t dword, item_type type, const char *str);
void bb_area_emit_offset(struct bb_area *a, unsigned i, uint32_t dword, item_type type, const char *str);
+void intel_batch_cmd_emit_null(struct intel_batchbuffer *batch,
+ const int cmd,
+ const int len, const int len_bias,
+ const char *str);
#endif