intel: implement command buffer create/begin/end/reset
diff --git a/icd/intel/cmd.h b/icd/intel/cmd.h
index 45bbaf3..f466609 100644
--- a/icd/intel/cmd.h
+++ b/icd/intel/cmd.h
@@ -28,6 +28,41 @@
#include "intel.h"
#include "obj.h"
+struct intel_cmd {
+ struct intel_obj obj;
+
+ struct intel_dev *dev;
+
+ XGL_FLAGS flags;
+
+ XGL_SIZE bo_size;
+ struct intel_bo *bo;
+ uint32_t *ptr;
+
+ XGL_UINT used, size;
+ bool grow_failed;
+};
+
+static inline struct intel_cmd *intel_cmd(XGL_CMD_BUFFER cmd)
+{
+ return (struct intel_cmd *) cmd;
+}
+
+static inline struct intel_cmd *intel_cmd_from_obj(struct intel_obj *obj)
+{
+ return (struct intel_cmd *) obj;
+}
+
+XGL_RESULT intel_cmd_create(struct intel_dev *dev,
+ const XGL_CMD_BUFFER_CREATE_INFO *info,
+ struct intel_cmd **cmd_ret);
+void intel_cmd_destroy(struct intel_cmd *cmd);
+
+XGL_RESULT intel_cmd_begin(struct intel_cmd *cmd, XGL_FLAGS flags);
+XGL_RESULT intel_cmd_end(struct intel_cmd *cmd);
+
+void intel_cmd_grow(struct intel_cmd *cmd);
+
XGL_RESULT XGLAPI intelCreateCommandBuffer(
XGL_DEVICE device,
const XGL_CMD_BUFFER_CREATE_INFO* pCreateInfo,