intel: add intel_rmap for shader resource mapping

It will be used to parse XGL_DESCRIPTOR_SET_MAPPING and
XGL_DYNAMIC_MEMORY_VIEW_SLOT_INFO.
diff --git a/icd/intel/pipeline.h b/icd/intel/pipeline.h
index b133fc2..a7a8916 100644
--- a/icd/intel/pipeline.h
+++ b/icd/intel/pipeline.h
@@ -29,6 +29,46 @@
 #include "obj.h"
 #include "dev.h"
 
+#define INTEL_RMAP_SLOT_RT ((XGL_UINT) -1)
+#define INTEL_RMAP_SLOT_DYN ((XGL_UINT) -2)
+struct intel_rmap_slot {
+    /*
+     *
+     * When path_len is 0, the slot is unused.
+     * When path_len is 1, the slot uses descriptor "index".
+     * When path_len is INTEL_RMAP_SLOT_RT, the slot uses RT "index".
+     * When path_len is INTEL_RMAP_SLOT_DYN, the slot uses the dynamic view.
+     * Otherwise, the slot uses "path" to find the descriptor.
+     */
+    XGL_UINT path_len;
+
+    union {
+        XGL_UINT index;
+        XGL_UINT *path;
+    } u;
+};
+
+/**
+ * Shader resource mapping.
+ */
+struct intel_rmap {
+    /* this is not an intel_obj */
+
+    XGL_UINT rt_count;
+    XGL_UINT resource_count;
+    XGL_UINT uav_count;
+    XGL_UINT sampler_count;
+
+    /*
+     * rt_count slots +
+     * resource_count slots +
+     * uav_count slots +
+     * sampler_count slots
+     */
+    struct intel_rmap_slot *slots;
+    XGL_UINT slot_count;
+};
+
 #define INTEL_MAX_DRAW_BUFFERS    8
 #define INTEL_MAX_CONST_BUFFERS   (1 + 12)
 #define INTEL_MAX_SAMPLER_VIEWS   16