summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/ilo/genhw/genhw.h
diff options
context:
space:
mode:
authorChia-I Wu <[email protected]>2014-04-13 00:33:00 +0800
committerChia-I Wu <[email protected]>2014-04-14 20:45:03 +0800
commit01e3e82a56310932667c60bcca9cc9fdfd8b87c4 (patch)
treed298945bbcdd31cae3df0f0b66af715c63f03e05 /src/gallium/drivers/ilo/genhw/genhw.h
parentd75a8799fded5f8cd7ae4b20d935ff8a088dc122 (diff)
ilo: add genhw headers
All except genhw.h are generated by https://github.com/olvaffe/envytools/. intel_chipset.h is deprecated.
Diffstat (limited to 'src/gallium/drivers/ilo/genhw/genhw.h')
-rw-r--r--src/gallium/drivers/ilo/genhw/genhw.h200
1 files changed, 200 insertions, 0 deletions
diff --git a/src/gallium/drivers/ilo/genhw/genhw.h b/src/gallium/drivers/ilo/genhw/genhw.h
new file mode 100644
index 00000000000..b358433ce23
--- /dev/null
+++ b/src/gallium/drivers/ilo/genhw/genhw.h
@@ -0,0 +1,200 @@
+/*
+ * Mesa 3-D graphics library
+ *
+ * Copyright (C) 2014 LunarG, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#ifndef GENHW_H
+#define GENHW_H
+
+#include "pipe/p_compiler.h"
+#include "util/u_debug.h"
+
+#include "intel_reg.h"
+#include "brw_defines.h"
+
+#include "gen_regs.xml.h"
+#include "gen_mi.xml.h"
+#include "gen_blitter.xml.h"
+#include "gen_render_surface.xml.h"
+#include "gen_render_dynamic.xml.h"
+#include "gen_render_3d.xml.h"
+#include "gen_eu_isa.xml.h"
+#include "gen_eu_message.xml.h"
+
+#define GEN_MI_CMD(op) (GEN6_MI_TYPE_MI | GEN6_MI_OPCODE_ ## op)
+
+#define GEN_BLITTER_CMD(op) \
+ (GEN6_BLITTER_TYPE_BLITTER | GEN6_BLITTER_OPCODE_ ## op)
+
+#define GEN_RENDER_CMD(subtype, op) \
+ (GEN6_RENDER_TYPE_RENDER | \
+ GEN6_RENDER_SUBTYPE_ ## subtype | \
+ GEN6_RENDER_OPCODE_ ## op)
+
+static inline bool
+gen_is_snb(int devid)
+{
+ return (devid == 0x0102 || /* GT1 desktop */
+ devid == 0x0112 || /* GT2 desktop */
+ devid == 0x0122 || /* GT2_PLUS desktop */
+ devid == 0x0106 || /* GT1 mobile */
+ devid == 0x0116 || /* GT2 mobile */
+ devid == 0x0126 || /* GT2_PLUS mobile */
+ devid == 0x010a); /* GT1 server */
+}
+
+static inline int
+gen_get_snb_gt(int devid)
+{
+ assert(gen_is_snb(devid));
+ return (devid & 0x30) ? 2 : 1;
+}
+
+static inline bool
+gen_is_ivb(int devid)
+{
+ return (devid == 0x0152 || /* GT1 desktop */
+ devid == 0x0162 || /* GT2 desktop */
+ devid == 0x0156 || /* GT1 mobile */
+ devid == 0x0166 || /* GT2 mobile */
+ devid == 0x015a || /* GT1 server */
+ devid == 0x016a); /* GT2 server */
+}
+
+static inline int
+gen_get_ivb_gt(int devid)
+{
+ assert(gen_is_ivb(devid));
+ return (devid & 0x30) >> 4;
+}
+
+static inline bool
+gen_is_hsw(int devid)
+{
+ return (devid == 0x0402 || /* GT1 desktop */
+ devid == 0x0412 || /* GT2 desktop */
+ devid == 0x0422 || /* GT3 desktop */
+ devid == 0x0406 || /* GT1 mobile */
+ devid == 0x0416 || /* GT2 mobile */
+ devid == 0x0426 || /* GT2 mobile */
+ devid == 0x040a || /* GT1 server */
+ devid == 0x041a || /* GT2 server */
+ devid == 0x042a || /* GT3 server */
+ devid == 0x040b || /* GT1 reserved */
+ devid == 0x041b || /* GT2 reserved */
+ devid == 0x042b || /* GT3 reserved */
+ devid == 0x040e || /* GT1 reserved */
+ devid == 0x041e || /* GT2 reserved */
+ devid == 0x042e || /* GT3 reserved */
+ devid == 0x0c02 || /* SDV */
+ devid == 0x0c12 ||
+ devid == 0x0c22 ||
+ devid == 0x0c06 ||
+ devid == 0x0c16 ||
+ devid == 0x0c26 ||
+ devid == 0x0c0a ||
+ devid == 0x0c1a ||
+ devid == 0x0c2a ||
+ devid == 0x0c0b ||
+ devid == 0x0c1b ||
+ devid == 0x0c2b ||
+ devid == 0x0c0e ||
+ devid == 0x0c1e ||
+ devid == 0x0c2e ||
+ devid == 0x0a02 || /* ULT */
+ devid == 0x0a12 ||
+ devid == 0x0a22 ||
+ devid == 0x0a06 ||
+ devid == 0x0a16 ||
+ devid == 0x0a26 ||
+ devid == 0x0a0a ||
+ devid == 0x0a1a ||
+ devid == 0x0a2a ||
+ devid == 0x0a0b ||
+ devid == 0x0a1b ||
+ devid == 0x0a2b ||
+ devid == 0x0a0e ||
+ devid == 0x0a1e ||
+ devid == 0x0a2e ||
+ devid == 0x0d02 || /* CRW */
+ devid == 0x0d12 ||
+ devid == 0x0d22 ||
+ devid == 0x0d06 ||
+ devid == 0x0d16 ||
+ devid == 0x0d26 ||
+ devid == 0x0d0a ||
+ devid == 0x0d1a ||
+ devid == 0x0d2a ||
+ devid == 0x0d0b ||
+ devid == 0x0d1b ||
+ devid == 0x0d2b ||
+ devid == 0x0d0e ||
+ devid == 0x0d1e ||
+ devid == 0x0d2e);
+}
+
+static inline int
+gen_get_hsw_gt(int devid)
+{
+ assert(gen_is_hsw(devid));
+ return ((devid & 0x30) >> 4) + 1;
+}
+
+static inline bool
+gen_is_vlv(int devid)
+{
+ return (devid == 0x0f30 ||
+ devid == 0x0f31 ||
+ devid == 0x0f32 ||
+ devid == 0x0f33 ||
+ devid == 0x0157 ||
+ devid == 0x0155);
+}
+
+static inline bool
+gen_is_atom(int devid)
+{
+ return gen_is_vlv(devid);
+}
+
+static inline bool
+gen_is_desktop(int devid)
+{
+ assert(!gen_is_atom(devid));
+ return ((devid & 0xf) == 0x2);
+}
+
+static inline bool
+gen_is_mobile(int devid)
+{
+ assert(!gen_is_atom(devid));
+ return ((devid & 0xf) == 0x6);
+}
+
+static inline bool
+gen_is_server(int devid)
+{
+ assert(!gen_is_atom(devid));
+ return ((devid & 0xf) == 0xa);
+}
+
+#endif /* GENHW_H */