1
0

Rendering with material-ui

Signed-off-by: James Ketrenos <james.p.ketrenos@intel.com>
This commit is contained in:
James Ketrenos 2020-04-20 16:27:15 -07:00
parent be7b047862
commit e48856b4bc
21 changed files with 142 additions and 2359 deletions

View File

@ -1,443 +1,3 @@
body {
font-family: 'Droid Sans', 'Arial Narrow', Arial, sans-serif;
}
.Cards {
position: absolute;
right: 0;
bottom: 0;
display: inline-block;
text-align: right;
vertical-align: bottom;
padding: 0.5em;
}
.Stack {
position: relative;
display: inline-block;
}
.Stack:not(:first-child) {
margin-left: -3em;
transition: margin-left 1s ease-in-out 0.25s;
}
.Stack > * {
transition: margin-left 1s ease-in-out 0.25s, margin-right 1s ease-in-out 0.25s;
}
.Development:hover,
.Placard:hover,
.Resource:hover {
filter: brightness(150%);
}
.Stack > *:not(:first-child) {
margin-left: -4.5em;
}
.Hand {
min-height: calc(7.2em + 0.5em);
}
.Hand:hover .Stack:hover > *:not(:first-child) {
margin-left: -2em;
}
.Hand:hover .Stack:hover:not(:last-child) > *:last-child {
margin-right: 3em;
}
.Placard {
position: relative;
width: 9.4em;
height: 11.44em;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin: 0.25em;
display: inline-block;
}
.Development {
position: relative;
display: inline-block;
width: 4.9em;
height: 7.2em;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin: 0.25em;
}
.Resource {
position: relative;
width: 4.9em;
height: 7.2em;
display: inline-block;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin: 0.25em;
}
.Statistics > div:nth-child(2) {
display: flex;
flex-direction: row;
border: 1px solid black;
}
.Statistics div:nth-child(2) div {
padding: 0.25em 0.5em;
}
.MarkdownLoader {
position: relative;
}
.gitlab-banner {
display: inline-block;
position: absolute;
top: 0px;
right: 0px;
overflow: hidden;
background-color: #252525;
box-sizing: border-box;
cursor: pointer;
height: 1.5em;
line-height: 0.9em;
opacity: 0.25;
transition: opacity 0.5s ease-out;
text-decoration: none;
padding: 0.25em 0.5em;
}
.gitlab-banner:hover {
opacity: 1;
}
.gitlab-banner a {
text-decoration: none;
color: #fff;
white-space: nowrap;
font-variant: all-small-caps;
}
.gitlab-banner:hover a {
text-decoration: underline;
}
#spinner {
display: none;
position: fixed;
left: 50%;
top: 50%;
width: 60px;
height: 60px;
margin-left: -30px;
margin-top: -30px;
z-index: 100;
background-image: url(../assets/vtt-logo.png);
background-color: #0071C5;
border-radius: 50%;
}
.Logo {
width: 52px;
height: 52px;
background-image: url(../assets/vtt.svg);
background-color: #252525;
background-repeat: no-repeat;
background-position: center center;
background-size: 95% 95%;
border-radius: 50%;
display: inline-block;
}
#spinner.spin {
display: inline-block;
-webkit-animation:spin 1s linear infinite;
-moz-animation:spin 1s linear infinite;
animation:spin 1s linear infinite;
}
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }
.Header {
background-color: #252525;
color: #ffffff;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 20;
display: flex;
box-sizing: border-box;
flex-direction: column;
user-select: none;
}
.Header .Group {
height: 60px;
display: flex;
padding-left: 1em;
padding-right: calc(1em + 52px);
background-color: #0071C5;
align-items: center;
}
.Header .Group .Subtitle {
font-size: 0.7em;
line-height: 1.5em;
}
.Header .Group .Heading {
margin: 0 auto;
width: calc(100% - 8em);
max-width: 90em;
}
.Header .Pages {
height: 60px;
display: flex;
margin: 0 auto;
width: calc(100% - 8em);
max-width: 90em;
/* justify-content: space-between;*/
font-size: 1.2em;
align-items: center;
}
.Header .Pages .Link {
display: inline-flex;
align-items: center;
height: 100%;
box-sizing: border-box;
padding: 0.5em 1em;
border-bottom: 3px solid transparent;
cursor: pointer;
}
.Header .Pages .Link.Highlight {
border-bottom-color: #0071C5 !important;
}
.Header .Pages .Link.Active,
.Header .Pages .Link:hover {
border-bottom-color: #003663;
/*border-bottom-color: #00A7FF;*/
}
a.Link {
font-family: Oswald;
text-decoration: none;
color: white;
}
.Footer {
position: fixed;
background-color: #252525;
color: #ffffff;
height: 64px;
bottom: 0;
left: 0;
right: 0;
font-size: 0.9em;
font-family: Droid Sans;
z-index: 20;
}
.Footer .Copyright {
position: absolute;
line-height: 64px;
text-align: center;
left: 64px;
right: 64px;
}
.Footer .Lizard {
position: absolute;
width: 100px;
height: 64px;
right: 1em;
background-image: url(../assets/agama.png);
background-repeat: no-repeat;
background-position: 98% center;
background-size: auto 40px;
cursor: pointer;
}
.Body {
position: absolute;
/* .Header's two 60px chunks */
/*
margin-top: 120px;
*/
/* .Footer's 64 px */
/*
margin-bottom: 64px;
*/
top: 0;
bottom: 0;
left: 0;
right: 0;
box-sizing: border-box;
background-image: linear-gradient(#090B1A, #131524);
color: #ffffff;
z-index: 0;
}
.Body > * {
box-sizing: border-box;
}
.popup {
position: fixed;
display: none;
width: 100%;
height: 100%;
z-index: 0;
background: rgba(0, 0, 0, 0.5);
padding: 5em;
z-index: 1000;
}
.popped-up {
display: inline-block;
}
.Board {
position: relative;
display: inline-block;
width: 100%;
height: 100%;
z-index: 0;
pointer-events: none;
opacity: 1;
transition: opacity 1.5s ease-in-out;
}
.Board.NoBackground {
opacity: 0;
}
.Index {
display: none;
position: absolute;
background-color: #fff;
top: 0;
left: 0;
bottom: 0;
width: 12em;
margin-right: 1em;
}
.Index > div {
padding: 0.25em 0.5em;
cursor: pointer;
color: #444;
}
.Index div.story {
font-size: 0.9em;
padding-left: 0.5em;
}
.Index div.topic {
font-size: 1em;
}
.Index .active {
color: black;
font-weight: bold;
}
.Index div.inactive:hover {
text-decoration: underline;
}
.Main {
display: inline-flex;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-image: url(../assets/vtt-logo.png);
background-repeat: no-repeat;
background-position: center;
}
.Main.NoBackground {
background-image: none;
}
.Content {
position: relative;
box-sizing: border-box;
margin: 1em auto;
width: calc(100% - 8em);
max-width: 90em;
color: black;
z-index: 10;
background-color: #fff;
overflow-y: scroll;
scroll-behavior: smooth;
padding: 1.5em 1.5em 0 1.5em;
box-sizing: border-box;
transition: top 1s ease-in-out;
top: -100%;
}
.Content #MinBox {
position: relative;
box-sizing: border-box;
min-height: calc(100% - 2.5em);
padding-bottom: 1.3em;
}
.OnScreen {
top: 0px;
}
.Markdown pre {
max-width: 100ex;
}
.Markdown h1 {
margin-top: 1em;
font-size: 1.0em;
font-weight: bold;
}
.Markdown h2 {
margin-top: 0.8em;
font-size: 1.0em;
font-weight: bold;
}
.Markdown h1:first-child,
.Markdown h2:first-child {
margin-top: 0;
}
.Markdown th {
font-variant-caps: all-small-caps;
font-size: 1.1em;
font-weight: normal;
padding: 0.25em 0.5em;
}
.Markdown table {
border-collapse: collapse;
margin: 0 1em;
}
.Markdown td {
vertical-align: top;
padding: 0.25em 0.5em;
border: 1px solid #f0f0f0;
}

View File

@ -6,60 +6,28 @@ import 'core-js/features/number/is-nan';
/* App starts here */
import React from "react";
import { withRouter, NavLink, Route, Switch } from "react-router-dom";
import Button from '@material-ui/core/Button';
import AppBar from '@material-ui/core/AppBar';
import Box from '@material-ui/core/Box';
import Toolbar from '@material-ui/core/Toolbar';
import IconButton from '@material-ui/core/IconButton';
import Typography from '@material-ui/core/Typography';
import { makeStyles } from '@material-ui/core/styles';
//import 'typeface-roboto';
import Board from "./Board.js";
import './modest.css';
import "./App.css";
function noChange() {};
class App extends React.Component {
constructor(props) {
super(props);
this.props.history.listen((location, action) => {});
}
componentDidMount() {
const location = this.props.history.location.pathname;
console.log(`App.mounted at ${location}`);
}
hidePopup() {
this.setState({
modalShown: false
});
}
render() {
function App() {
return (
<div className="App" ref={ ref => (this.app = ref) }>
<AppBar position="static">
<React.Fragment>
<AppBar position="fixed">
<Toolbar>
<IconButton edge="start" color="inherit" aria-label="menu">
Test
</IconButton>
<Typography variant="h6">
News
</Typography>
<Button color="inherit">Login</Button>
</Toolbar>
</AppBar>
<div className="Body">
<Toolbar/>
<Board/>
</div>
</div>
</React.Fragment>
);
}
}
export default withRouter(App);
export default App;

102
src/Board.css Executable file
View File

@ -0,0 +1,102 @@
.Board {
display: inline-block;
position: absolute;
width: 100%;
overflow: hidden;
height: 100%;
}
.Display {
display: inline-block;
position: absolute;
}
.Cards {
display: inline-block;
position: absolute;
text-align: right;
vertical-align: bottom;
padding: 0.5em;
box-sizing: border-box;
max-height: 100%;
max-width: 100%;
}
.Stack {
position: relative;
display: inline-block;
}
.Stack:not(:first-child) {
margin-left: -3em;
transition: margin-left 1s ease-in-out 0.25s;
}
.Stack > * {
transition: margin-left 1s ease-in-out 0.25s, margin-right 1s ease-in-out 0.25s;
}
.Development:hover,
.Placard:hover,
.Resource:hover {
filter: brightness(150%);
}
.Stack > *:not(:first-child) {
margin-left: -4.5em;
}
.Hand {
min-height: calc(7.2em + 0.5em);
}
.Hand:hover .Stack:hover > *:not(:first-child) {
margin-left: -2em;
}
.Hand:hover .Stack:hover:not(:last-child) > *:last-child {
margin-right: 3em;
}
.Placard {
position: relative;
width: 9.4em;
height: 11.44em;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin: 0.25em;
display: inline-block;
}
.Development {
position: relative;
display: inline-block;
width: 4.9em;
height: 7.2em;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin: 0.25em;
}
.Resource {
position: relative;
width: 4.9em;
height: 7.2em;
display: inline-block;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
margin: 0.25em;
}
.Statistics > div:nth-child(2) {
display: flex;
flex-direction: row;
border: 1px solid black;
}
.Statistics div:nth-child(2) div {
padding: 0.25em 0.5em;
}

View File

@ -1,4 +1,5 @@
import React, { useState, useEffect } from "react";
import "./Board.css";
const hexagonRatio = 1.1547005,
tileHeight = 0.16,
@ -367,6 +368,10 @@ class Board extends React.Component {
y = event.clientY;
}
if (this.offsetY) {
y -= this.offsetY;
}
/* Scale mouse.x and mouse.y relative to board */
this.mouse.x = (x - rect.left) /
(this.minSize / hexagonRatio) - 0.5 - tileHeight * 0.5,
@ -425,10 +430,23 @@ class Board extends React.Component {
}
this.updateSizeTimer = setTimeout(() => {
this.canvas.width = this.canvas.offsetWidth;
this.canvas.height = this.canvas.offsetHeight;
this.width = this.canvas.parentElement.clientWidth;
this.height = this.canvas.parentElement.clientHeight;
const container = document.getElementById("root"),
offset = container.firstChild.offsetHeight,
height = window.innerHeight - offset;
this.offsetY = offset;
this.width = window.innerWidth;
this.height = height;
this.canvas.width = this.width;
this.canvas.height = this.height;
this.canvas.style.top = `${offset}px`;
this.canvas.style.width = `${this.width}px`;
this.canvas.style.height = `${this.height}px`;
this.cards.style.top = `${offset}px`;
this.cards.style.width = `${this.width}px`;
this.cards.style.height = `${this.heigh}tpx`;
this.updateSizeTimer = 0;
this.drawFrame();
}, 250);
@ -814,9 +832,9 @@ class Board extends React.Component {
render() {
return (
<>
<canvas className="Board" ref={el => this.canvas = el}></canvas>
<div className="Cards">
<div className="Board" ref={el => this.el = el}>
<canvas className="Display" ref={el => this.canvas = el}></canvas>
<div className="Cards" ref={el => this.cards = el}>
<div>In hand</div>
<div className="Hand">
<Resource type="wood" count={this.state.wood}/>
@ -858,7 +876,7 @@ class Board extends React.Component {
</div>
</div>
</div>
</>
</div>
);
}
}

View File

@ -1,31 +0,0 @@
import React, { PureComponent } from "react";
import PropTypes from "prop-types";
import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
import { okaidia } from "react-syntax-highlighter/dist/esm/styles/prism";
class CodeBlock extends PureComponent {
/* NOTE: the line-numbers plugin isn't working.
* See https://betterstack.dev/blog/code-highlighting-in-react-using-prismjs/
* for some clues on how to fix it. */
static propTypes = {
value: PropTypes.string.isRequired,
language: PropTypes.string,
plugins: PropTypes.arrayOf(PropTypes.string)
};
static defaultProps = {
language: null,
plugins: [ "line-numbers" ]
};
render() {
const { language, plugins, value } = this.props;
return (
<SyntaxHighlighter className="line-numbers" language={language} style={okaidia} plugins={plugins}>
{value}
</SyntaxHighlighter>
);
}
}
export default CodeBlock;

View File

@ -1,173 +0,0 @@
import React, { useState, useEffect } from "react";
import WaveBalls from "./WaveBalls.js";
import AnimakitExpander from "animakit-expander";
import "./App.css";
const sections = [
"Platforms",
"Drivers",
"Compute",
"Media",
"3D",
"Solutions"
];
class Header extends React.Component {
render() {
return (
<div className="Header">
<Logo/>
<div className="Pages">
{
sections.map((section) =>
<div key={ section }>{ section }</div>
)
}
</div>
</div>
);
}
}
class Logo extends React.Component {
render() {
return <div className="Logo"></div>
}
}
class Footer extends React.Component {
render() {
return (
<div className="Footer">
Copyright 2019 Intel Corporation
</div>
);
}
}
class Body extends React.Component {
static defaultProps = {
topics: [ {
title: "Agama",
stories: [ {
title: "About Agama",
content: "Agama is the quarterly distribution of Intel graphics projects for Linux, packaged, validated, and made available from a single repository."
}]
}, {
title: "Media",
stories: [ {
title: "About Media",
content: "Media capabilities for Intel graphics cards on Linux are provided by Intel's Media packages."
} ]
}, {
title: "Compute",
stories: [ {
title: "About Compute",
content: "Compute capabilities for Intel graphics cards on Linux are provided by Intel's Open CL project: Neo."
} ]
}, {
title: "3D",
stories: [ {
title: "About 3D",
content: "3D capabilities for Intel graphics cards on Linux are provided by Mesa."
} ]
}, {
title: "Solutions",
stories: [ {
title: "About Solutions",
content: "Turn-key containers ready to rock."
} ]
} ]
};
constructor(props) {
super(props);
this.props.topics.forEach((topic) => {
for (var i = 0; i < 10; i++) {
topic.stories.push({
title: "Title #" + (i + 1),
content: "Content for #" + (i + 1)
});
}
});
this.topicClicked = this.topicClicked.bind(this);
this.state = {
topic: 0,
story: 0
}
}
topicClicked(index) {
this.setState({
topic: index,
story: 0
});
}
storyClicked(index) {
this.setState({ story: index });
}
componentDidMount() {
console.log("App.mounted");
sections.forEach((section) => {
});
}
render() {
const topic = this.props.topics[this.state.topic],
story = topic.stories[this.state.story];
console.log(this.state.topic);
return (
<div className="Body">
<div className="Page">
<div className="Index" target="Content">
{
this.props.topics.map((topic, topicIndex) =>
<div key={ "topic-" + topicIndex }>
<div
className={ "topic " + ((this.state.topic == topicIndex) ? "active" : "inactive") }
onClick={() => this.topicClicked(topicIndex)}>{topic.title}</div>
<AnimakitExpander expanded={ (this.state.topic == topicIndex) ? true : false }>
{
topic.stories.map((story, storyIndex) =>
<div
className={ "story " + ((this.state.topic == topicIndex && this.state.story == storyIndex) ? "active" : "inactive") }
onClick={() => this.storyClicked(storyIndex)}
key={ "story-" + topicIndex + "-" + storyIndex }>{story.title}</div>
)
}
</AnimakitExpander>
</div>
)
}
</div>
<div className="Content">
<b>{ story.title }</b><br></br>
<div>{story.content}</div>
</div>
</div>
<WaveBalls/>
</div>
);
}
}
class App extends React.Component {
render() {
return (
<div className="App">
<Header/>
<Body/>
<Footer/>
</div>
);
}
}
export default App;

0
src/WaveBalls.js Executable file → Normal file
View File

View File

@ -1,42 +0,0 @@
.tab-content {
border: 1px solid #d0d0d0;
border-top-color: transparent;
border-bottom-left-radius: 0.25em;
border-bottom-right-radius: 0.25em;
padding: 1em;
padding-bottom: 1.3em;
}
.tab-content p {
margin: 1em 0;
}
.tab-content p:last-child {
margin-bottom: 0em;
}
.tab-content .Markdown table {
min-width: 75%;
margin: 1em 0 1em 0;
}
.tab-content .Markdown table thead {
background-color: #555;
color: white;
vertical-align: middle;
}
.tab-content .Markdown h1,
.tab-content .Markdown h2,
.tab-content .Markdown h3 {
margin-top: 1em;
font-size: 1.1em;
}
.tab-content .Markdown h3 {
color: #333;
}
.nav.nav-tabs {
margin-top: 1em;
}

View File

@ -1,186 +0,0 @@
/* App starts here */
import React, { useState, useEffect } from "react";
import ReactMarkdown from "react-markdown/with-html";
import CodeBlock from "./CodeBlock";
import MarkdownLoader from "./markdown-loader";
import Tabs from "react-bootstrap/Tabs";
import Tab from "react-bootstrap/Tab";
import Col from "react-bootstrap/Col";
import Row from "react-bootstrap/Row";
import { lookupIntelGPU } from "./intel-gpu-info";
import "./drivers.css";
import { intelGPUs } from './intel-gpu-info.js';
class HardwareTable extends React.Component {
constructor(props) {
super(props);
}
render () {
/* const GPUs = intelGPUs.filter((item) => {
return item.
})*/
return (
<>
<Row>
<ReactMarkdown className="Markdown" source="
If you aren't sure which graphics product you have, you can use the [Identify Hardware](#identify-hardware) tool.
"/>
</Row>
{ (this.props.device) && <Row><div> Filtering by { this.props.device } </div></Row> }
<Row>
<Col sm={3}>
Graphics
</Col>
<Col sm={6}>
test two
</Col>
</Row>
</>
)
}
}
class OSPicker extends React.Component {
constructor(props) {
super(props);
console.log("OSPicker: " + props.device);
this.clearFilter = this.clearFilter.bind(this);
}
clearFilter() {
if (window.clearFilter) {
window.clearFilter();
}
}
render() {
const id = parseInt("0x" + (this.props.device || "0")),
device = lookupIntelGPU(id);
let suffix;
if (device) {
switch (device.gen) {
case 1:
suffix = "st";
break;
case 2:
suffix = "nd";
break;
default:
suffix = "th";
break;
}
}
return (
<Tabs id="os-support-table">
<Tab eventKey="linux" title="Linux">
<MarkdownLoader src={ "drivers/overview.md" }/>
<Tabs defaultActiveKey="ubuntu" id="os-distro-table">
{/*<Tab eventKey="centos" title="CentOS">
<Tabs defaultActiveKey="centos-8.0" id="os-distro-table">
<Tab eventKey="centos-8.0" title="8.0">
<MarkdownLoader src={ "drivers/centos-8.0.md" }/>
</Tab>
<Tab eventKey="centos-7.x" title="7.x">
{ (device) &&
<>
<p><b>Hardware selected:</b> PCI device ID 8086:{ device.id.toString(16).replace(/0x/, "") } is
a { device.gen }<sup>{ suffix }</sup> generation { device.name }. <button onClick={clearFilter}>clear</button>
</p>
</>
} {
(device && device.gen > 8) &&
<ReactMarkdown renderers={{ code: CodeBlock }} className="Markdown" source="
Supported by CentOS 7.7.
CentOS should recognize this hardware and install the necessary drivers automatically.
"/>
} {
(device && device.gen <= 8) &&
<ReactMarkdown renderers={{ code: CodeBlock }} className="Markdown" source="
Not supported by CentOS 7.7. To use this hardware with CentOS 7.7 you will need a custom kernel.
**Recommended**: Use CentOS 8 or newer.
"/>
} { (!device) && <MarkdownLoader src={ "drivers/centos-7.md" }/> }
</Tab>
</Tabs>
</Tab>*/}
<Tab eventKey="redhat" title="Red Hat">
<Tabs defaultActiveKey="redhat-8.0" id="os-distro-table">{/*
<Tab eventKey="redhat-8.1" title="8.1">
<MarkdownLoader src={ "drivers/redhat-8.1.md" }/>
</Tab>
*/}<Tab eventKey="redhat-8.0" title="8.0">
<MarkdownLoader src={ "drivers/redhat-8.0.md" }/>
</Tab>
<Tab eventKey="redhat-7.x" title="7.x">
<MarkdownLoader src={ "drivers/redhat-7.md" }/>
</Tab>
</Tabs>
</Tab>
<Tab eventKey="suse" title="SUSE">
<Tabs defaultActiveKey="suse-15-sp1" id="os-distro-table">
<Tab eventKey="suse-15-sp1" title="15 SP1">
<MarkdownLoader src={ "drivers/suse-15-sp1.md" }/>
</Tab>
</Tabs>
</Tab>
<Tab eventKey="ubuntu" title="Ubuntu">
<Tabs defaultActiveKey="ubuntu-19.10" id="os-distro-table">
<Tab eventKey="ubuntu-19.10" title="19.10 (eoan)">
<MarkdownLoader src={ "drivers/ubuntu-eoan.md" }/>
</Tab>
<Tab eventKey="ubuntu-19.04" title="19.04 (disco)">
<MarkdownLoader src={ "drivers/ubuntu-disco.md" }/>
</Tab>
<Tab eventKey="ubuntu-18.04" title="18.04 (bionic)">
<MarkdownLoader src={ "drivers/ubuntu-bionic.md" }/>
</Tab>
</Tabs>
</Tab>
<Tab eventKey="other" title="Other...">
<MarkdownLoader src={ "drivers/other.md" }/>
</Tab>
</Tabs>
</Tab>
<Tab eventKey="windows" title="Windows">
<MarkdownLoader src={ "drivers/windows.md" }/>
</Tab>
{/*<Tab eventKey="hardware" title="Hardware">
<HardwareTable device={ this.props.device }/>
</Tab>*/}
</Tabs>
)
}
}
class Drivers extends React.Component {
constructor(props) {
super(props);
console.log("Drivers: " + props.device);
}
render () {
return (
<div className="Content OnScreen" id="Content">
<ReactMarkdown renderers={{ code: CodeBlock }} className="Markdown" source="
# Drivers for Intel graphics technology
"/>
{/*Select either the operating system you are looking for, or select Hardware to see a table of OS support.*/}
<div id="MinBox">
<OSPicker device={ this.props.device }/>
</div>
</div>
);
}
}
export default Drivers;

View File

@ -1,296 +0,0 @@
"use strict";
/*
* Device ID names derived from Mesa, which are licensed
* under the terms of MIT license:
*
* https://gitlab.freedesktop.org/mesa/mesa/blob/master/docs/license.html
*
*/
var intelGPUs=[];
intelGPUs.push({id: 0x7121, family: "I810", name: "i8xx", gen: 0, gt: 0});
intelGPUs.push({id: 0x7123, family: "I810_DC100", name: "i8xx", gen: 0, gt: 0});
intelGPUs.push({id: 0x7125, family: "I810_E", name: "i8xx", gen: 0, gt: 0});
intelGPUs.push({id: 0x1132, family: "I815", name: "i8xx", gen: 0, gt: 0});
intelGPUs.push({id: 0x3577, family: "I830_M", name: "Intel(R) 830M", gen: 0, gt: 0});
intelGPUs.push({id: 0x2562, family: "845_G", name: "Intel(R) 845G", gen: 0, gt: 0});
intelGPUs.push({id: 0x3582, family: "I855_GM", name: "Intel(R) 852GM/855GM", gen: 0, gt: 0});
intelGPUs.push({id: 0x2572, family: "I865_G", name: "Intel(R) 865G", gen: 0, gt: 0});
intelGPUs.push({id: 0x2582, family: "I915_G", name: "Intel(R) 915G", gen: 0, gt: 0});
intelGPUs.push({id: 0x258A, family: "E7221_G", name: "Intel(R) E7221G (i915)", gen: 0, gt: 0});
intelGPUs.push({id: 0x2592, family: "I915_GM", name: "Intel(R) 915GM", gen: 0, gt: 0});
intelGPUs.push({id: 0x2772, family: "I945_G", name: "Intel(R) 945G", gen: 0, gt: 0});
intelGPUs.push({id: 0x27A2, family: "I945_GM", name: "Intel(R) 945GM", gen: 0, gt: 0});
intelGPUs.push({id: 0x27AE, family: "I945_GME", name: "Intel(R) 945GME", gen: 0, gt: 0});
intelGPUs.push({id: 0x29B2, family: "Q35_G", name: "Intel(R) Q35", gen: 0, gt: 0});
intelGPUs.push({id: 0x29C2, family: "G33_G", name: "Intel(R) G33", gen: 0, gt: 0});
intelGPUs.push({id: 0x29D2, family: "Q33_G", name: "Intel(R) Q33", gen: 0, gt: 0});
intelGPUs.push({id: 0xA011, family: "PNV_GM", name: "Intel(R) Pineview M", gen: 0, gt: 0});
intelGPUs.push({id: 0xA001, family: "PNV_G", name: "Intel(R) Pineview", gen: 0, gt: 0});
intelGPUs.push({id: 0x29A2, family: "i965", name: "Intel(R) 965G", gen: 4, gt: 0});
intelGPUs.push({id: 0x2992, family: "i965", name: "Intel(R) 965Q", gen: 4, gt: 0});
intelGPUs.push({id: 0x2982, family: "i965", name: "Intel(R) 965G", gen: 4, gt: 0});
intelGPUs.push({id: 0x2972, family: "i965", name: "Intel(R) 946GZ", gen: 4, gt: 0});
intelGPUs.push({id: 0x2A02, family: "i965", name: "Intel(R) 965GM", gen: 4, gt: 0});
intelGPUs.push({id: 0x2A12, family: "i965", name: "Intel(R) 965GME/GLE", gen: 4, gt: 0});
intelGPUs.push({id: 0x2A42, family: "g4x", name: "Mobile Intel® GM45 Express Chipset", gen: 4, gt: 0});
intelGPUs.push({id: 0x2E02, family: "g4x", name: "Intel(R) Integrated Graphics Device", gen: 4, gt: 0});
intelGPUs.push({id: 0x2E12, family: "g4x", name: "Intel(R) Q45/Q43", gen: 4, gt: 0});
intelGPUs.push({id: 0x2E22, family: "g4x", name: "Intel(R) G45/G43", gen: 4, gt: 0});
intelGPUs.push({id: 0x2E32, family: "g4x", name: "Intel(R) G41", gen: 4, gt: 0});
intelGPUs.push({id: 0x2E42, family: "g4x", name: "Intel(R) B43", gen: 4, gt: 0});
intelGPUs.push({id: 0x2E92, family: "g4x", name: "Intel(R) B43", gen: 4, gt: 0});
intelGPUs.push({id: 0x0042, family: "ilk", name: "Intel(R) Ironlake Desktop", gen: 5, gt: 0});
intelGPUs.push({id: 0x0046, family: "ilk", name: "Intel(R) Ironlake Mobile", gen: 5, gt: 0});
intelGPUs.push({id: 0x0102, family: "snb_gt1", name: "Intel(R) Sandybridge Desktop", gen: 6, gt: 1});
intelGPUs.push({id: 0x0112, family: "snb_gt2", name: "Intel(R) Sandybridge Desktop", gen: 6, gt: 2});
intelGPUs.push({id: 0x0122, family: "snb_gt2", name: "Intel(R) Sandybridge Desktop", gen: 6, gt: 2});
intelGPUs.push({id: 0x0106, family: "snb_gt1", name: "Intel(R) Sandybridge Mobile", gen: 6, gt: 1});
intelGPUs.push({id: 0x0116, family: "snb_gt2", name: "Intel(R) Sandybridge Mobile", gen: 6, gt: 2});
intelGPUs.push({id: 0x0126, family: "snb_gt2", name: "Intel(R) Sandybridge Mobile", gen: 6, gt: 2});
intelGPUs.push({id: 0x010A, family: "snb_gt1", name: "Intel(R) Sandybridge Server", gen: 6, gt: 1});
intelGPUs.push({id: 0x0152, family: "ivb_gt1", name: "Intel(R) Ivybridge Desktop", gen: 7, gt: 1});
intelGPUs.push({id: 0x0162, family: "ivb_gt2", name: "Intel(R) Ivybridge Desktop", gen: 7, gt: 2});
intelGPUs.push({id: 0x0156, family: "ivb_gt1", name: "Intel(R) Ivybridge Mobile", gen: 7, gt: 1});
intelGPUs.push({id: 0x0166, family: "ivb_gt2", name: "Intel(R) Ivybridge Mobile", gen: 7, gt: 2});
intelGPUs.push({id: 0x015A, family: "ivb_gt1", name: "Intel(R) Ivybridge Server", gen: 7, gt: 1});
intelGPUs.push({id: 0x016A, family: "ivb_gt2", name: "Intel(R) Ivybridge Server", gen: 7, gt: 2});
intelGPUs.push({id: 0x0402, family: "hsw_gt1", name: "Intel(R) Haswell Desktop", gen: 7, gt: 1});
intelGPUs.push({id: 0x0412, family: "hsw_gt2", name: "Intel(R) Haswell Desktop", gen: 7, gt: 2});
intelGPUs.push({id: 0x0422, family: "hsw_gt3", name: "Intel(R) Haswell Desktop", gen: 7, gt: 3});
intelGPUs.push({id: 0x0406, family: "hsw_gt1", name: "Intel(R) Haswell Mobile", gen: 7, gt: 1});
intelGPUs.push({id: 0x0416, family: "hsw_gt2", name: "Intel(R) Haswell Mobile", gen: 7, gt: 2});
intelGPUs.push({id: 0x0426, family: "hsw_gt3", name: "Intel(R) Haswell Mobile", gen: 7, gt: 3});
intelGPUs.push({id: 0x040A, family: "hsw_gt1", name: "Intel(R) Haswell Server", gen: 7, gt: 1});
intelGPUs.push({id: 0x041A, family: "hsw_gt2", name: "Intel(R) Haswell Server", gen: 7, gt: 2});
intelGPUs.push({id: 0x042A, family: "hsw_gt3", name: "Intel(R) Haswell Server", gen: 7, gt: 3});
intelGPUs.push({id: 0x040B, family: "hsw_gt1", name: "Intel(R) Haswell", gen: 7, gt: 1});
intelGPUs.push({id: 0x041B, family: "hsw_gt2", name: "Intel(R) Haswell", gen: 7, gt: 2});
intelGPUs.push({id: 0x042B, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x040E, family: "hsw_gt1", name: "Intel(R) Haswell", gen: 7, gt: 1});
intelGPUs.push({id: 0x041E, family: "hsw_gt2", name: "Intel(R) Haswell", gen: 7, gt: 2});
intelGPUs.push({id: 0x042E, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x0C02, family: "hsw_gt1", name: "Intel(R) Haswell Desktop", gen: 7, gt: 1});
intelGPUs.push({id: 0x0C12, family: "hsw_gt2", name: "Intel(R) Haswell Desktop", gen: 7, gt: 2});
intelGPUs.push({id: 0x0C22, family: "hsw_gt3", name: "Intel(R) Haswell Desktop", gen: 7, gt: 3});
intelGPUs.push({id: 0x0C06, family: "hsw_gt1", name: "Intel(R) Haswell Mobile", gen: 7, gt: 1});
intelGPUs.push({id: 0x0C16, family: "hsw_gt2", name: "Intel(R) Haswell Mobile", gen: 7, gt: 2});
intelGPUs.push({id: 0x0C26, family: "hsw_gt3", name: "Intel(R) Haswell Mobile", gen: 7, gt: 3});
intelGPUs.push({id: 0x0C0A, family: "hsw_gt1", name: "Intel(R) Haswell Server", gen: 7, gt: 1});
intelGPUs.push({id: 0x0C1A, family: "hsw_gt2", name: "Intel(R) Haswell Server", gen: 7, gt: 2});
intelGPUs.push({id: 0x0C2A, family: "hsw_gt3", name: "Intel(R) Haswell Server", gen: 7, gt: 3});
intelGPUs.push({id: 0x0C0B, family: "hsw_gt1", name: "Intel(R) Haswell", gen: 7, gt: 1});
intelGPUs.push({id: 0x0C1B, family: "hsw_gt2", name: "Intel(R) Haswell", gen: 7, gt: 2});
intelGPUs.push({id: 0x0C2B, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x0C0E, family: "hsw_gt1", name: "Intel(R) Haswell", gen: 7, gt: 1});
intelGPUs.push({id: 0x0C1E, family: "hsw_gt2", name: "Intel(R) Haswell", gen: 7, gt: 2});
intelGPUs.push({id: 0x0C2E, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x0A02, family: "hsw_gt1", name: "Intel(R) Haswell Desktop", gen: 7, gt: 1});
intelGPUs.push({id: 0x0A12, family: "hsw_gt2", name: "Intel(R) Haswell Desktop", gen: 7, gt: 2});
intelGPUs.push({id: 0x0A22, family: "hsw_gt3", name: "Intel(R) Haswell Desktop", gen: 7, gt: 3});
intelGPUs.push({id: 0x0A06, family: "hsw_gt1", name: "Intel(R) Haswell Mobile", gen: 7, gt: 1});
intelGPUs.push({id: 0x0A16, family: "hsw_gt2", name: "Intel(R) Haswell Mobile", gen: 7, gt: 2});
intelGPUs.push({id: 0x0A26, family: "hsw_gt3", name: "Intel(R) Haswell Mobile", gen: 7, gt: 3});
intelGPUs.push({id: 0x0A0A, family: "hsw_gt1", name: "Intel(R) Haswell Server", gen: 7, gt: 1});
intelGPUs.push({id: 0x0A1A, family: "hsw_gt2", name: "Intel(R) Haswell Server", gen: 7, gt: 2});
intelGPUs.push({id: 0x0A2A, family: "hsw_gt3", name: "Intel(R) Haswell Server", gen: 7, gt: 3});
intelGPUs.push({id: 0x0A0B, family: "hsw_gt1", name: "Intel(R) Haswell", gen: 7, gt: 1});
intelGPUs.push({id: 0x0A1B, family: "hsw_gt2", name: "Intel(R) Haswell", gen: 7, gt: 2});
intelGPUs.push({id: 0x0A2B, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x0A0E, family: "hsw_gt1", name: "Intel(R) Haswell", gen: 7, gt: 1});
intelGPUs.push({id: 0x0A1E, family: "hsw_gt2", name: "Intel(R) Haswell", gen: 7, gt: 2});
intelGPUs.push({id: 0x0A2E, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x0D02, family: "hsw_gt1", name: "Intel(R) Haswell Desktop", gen: 7, gt: 1});
intelGPUs.push({id: 0x0D12, family: "hsw_gt2", name: "Intel(R) Haswell Desktop", gen: 7, gt: 2});
intelGPUs.push({id: 0x0D22, family: "hsw_gt3", name: "Intel(R) Haswell Desktop", gen: 7, gt: 3});
intelGPUs.push({id: 0x0D06, family: "hsw_gt1", name: "Intel(R) Haswell Mobile", gen: 7, gt: 1});
intelGPUs.push({id: 0x0D16, family: "hsw_gt2", name: "Intel(R) Haswell Mobile", gen: 7, gt: 2});
intelGPUs.push({id: 0x0D26, family: "hsw_gt3", name: "Intel(R) Haswell Mobile", gen: 7, gt: 3});
intelGPUs.push({id: 0x0D0A, family: "hsw_gt1", name: "Intel(R) Haswell Server", gen: 7, gt: 1});
intelGPUs.push({id: 0x0D1A, family: "hsw_gt2", name: "Intel(R) Haswell Server", gen: 7, gt: 2});
intelGPUs.push({id: 0x0D2A, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x0D0B, family: "hsw_gt1", name: "Intel(R) Haswell", gen: 7, gt: 1});
intelGPUs.push({id: 0x0D1B, family: "hsw_gt2", name: "Intel(R) Haswell", gen: 7, gt: 2});
intelGPUs.push({id: 0x0D2B, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x0D0E, family: "hsw_gt1", name: "Intel(R) Haswell", gen: 7, gt: 1});
intelGPUs.push({id: 0x0D1E, family: "hsw_gt2", name: "Intel(R) Haswell", gen: 7, gt: 2});
intelGPUs.push({id: 0x0D2E, family: "hsw_gt3", name: "Intel(R) Haswell", gen: 7, gt: 3});
intelGPUs.push({id: 0x0F31, family: "byt", name: "Intel(R) Bay Trail", gen: 7, gt: 1});
intelGPUs.push({id: 0x0F32, family: "byt", name: "Intel(R) Bay Trail", gen: 7, gt: 1});
intelGPUs.push({id: 0x0F33, family: "byt", name: "Intel(R) Bay Trail", gen: 7, gt: 1});
intelGPUs.push({id: 0x0157, family: "byt", name: "Intel(R) Bay Trail", gen: 7, gt: 1});
intelGPUs.push({id: 0x0155, family: "byt", name: "Intel(R) Bay Trail", gen: 7, gt: 1});
intelGPUs.push({id: 0x22B0, family: "chv", name: "Intel(R) HD Graphics (Cherrytrail)", gen: 8, gt: 1});
intelGPUs.push({id: 0x22B1, family: "chv", name: "Intel(R) HD Graphics XXX (Braswell)", gen: 8, gt: 1});
intelGPUs.push({id: 0x22B2, family: "chv", name: "Intel(R) HD Graphics (Cherryview)", gen: 8, gt: 1});
intelGPUs.push({id: 0x22B3, family: "chv", name: "Intel(R) HD Graphics (Cherryview)", gen: 8, gt: 1});
intelGPUs.push({id: 0x1602, family: "bdw_gt1", name: "Intel(R) Broadwell GT1", gen: 8, gt: 1});
intelGPUs.push({id: 0x1606, family: "bdw_gt1", name: "Intel(R) Broadwell GT1", gen: 8, gt: 1});
intelGPUs.push({id: 0x160A, family: "bdw_gt1", name: "Intel(R) Broadwell GT1", gen: 8, gt: 1});
intelGPUs.push({id: 0x160B, family: "bdw_gt1", name: "Intel(R) Broadwell GT1", gen: 8, gt: 1});
intelGPUs.push({id: 0x160D, family: "bdw_gt1", name: "Intel(R) Broadwell GT1", gen: 8, gt: 1});
intelGPUs.push({id: 0x160E, family: "bdw_gt1", name: "Intel(R) Broadwell GT1", gen: 8, gt: 1});
intelGPUs.push({id: 0x1612, family: "bdw_gt2", name: "Intel(R) HD Graphics 5600 (Broadwell GT2)", gen: 8, gt: 2});
intelGPUs.push({id: 0x1616, family: "bdw_gt2", name: "Intel(R) HD Graphics 5500 (Broadwell GT2)", gen: 8, gt: 2});
intelGPUs.push({id: 0x161A, family: "bdw_gt2", name: "Intel(R) Broadwell GT2", gen: 8, gt: 2});
intelGPUs.push({id: 0x161B, family: "bdw_gt2", name: "Intel(R) Broadwell GT2", gen: 8, gt: 2});
intelGPUs.push({id: 0x161D, family: "bdw_gt2", name: "Intel(R) Broadwell GT2", gen: 8, gt: 2});
intelGPUs.push({id: 0x161E, family: "bdw_gt2", name: "Intel(R) HD Graphics 5300 (Broadwell GT2)", gen: 8, gt: 2});
intelGPUs.push({id: 0x1622, family: "bdw_gt3", name: "Intel(R) Iris Pro 6200 (Broadwell GT3e)", gen: 8, gt: 3});
intelGPUs.push({id: 0x1626, family: "bdw_gt3", name: "Intel(R) HD Graphics 6000 (Broadwell GT3)", gen: 8, gt: 3});
intelGPUs.push({id: 0x162A, family: "bdw_gt3", name: "Intel(R) Iris Pro P6300 (Broadwell GT3e)", gen: 8, gt: 3});
intelGPUs.push({id: 0x162B, family: "bdw_gt3", name: "Intel(R) Iris 6100 (Broadwell GT3)", gen: 8, gt: 3});
intelGPUs.push({id: 0x162D, family: "bdw_gt3", name: "Intel(R) Broadwell GT3", gen: 8, gt: 3});
intelGPUs.push({id: 0x162E, family: "bdw_gt3", name: "Intel(R) Broadwell GT3", gen: 8, gt: 3});
intelGPUs.push({id: 0x1902, family: "skl_gt1", name: "Intel(R) HD Graphics 510 (Skylake GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x1906, family: "skl_gt1", name: "Intel(R) HD Graphics 510 (Skylake GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x190A, family: "skl_gt1", name: "Intel(R) Skylake GT1", gen: 9, gt: 1});
intelGPUs.push({id: 0x190B, family: "skl_gt1", name: "Intel(R) HD Graphics 510 (Skylake GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x190E, family: "skl_gt1", name: "Intel(R) Skylake GT1", gen: 9, gt: 1});
intelGPUs.push({id: 0x1912, family: "skl_gt2", name: "Intel(R) HD Graphics 530 (Skylake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x1913, family: "skl_gt2", name: "Intel(R) Skylake GT2f", gen: 9, gt: 2});
intelGPUs.push({id: 0x1915, family: "skl_gt2", name: "Intel(R) Skylake GT2f", gen: 9, gt: 2});
intelGPUs.push({id: 0x1916, family: "skl_gt2", name: "Intel(R) HD Graphics 520 (Skylake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x1917, family: "skl_gt2", name: "Intel(R) Skylake GT2f", gen: 9, gt: 2});
intelGPUs.push({id: 0x191A, family: "skl_gt2", name: "Intel(R) Skylake GT2", gen: 9, gt: 2});
intelGPUs.push({id: 0x191B, family: "skl_gt2", name: "Intel(R) HD Graphics 530 (Skylake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x191D, family: "skl_gt2", name: "Intel(R) HD Graphics P530 (Skylake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x191E, family: "skl_gt2", name: "Intel(R) HD Graphics 515 (Skylake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x1921, family: "skl_gt2", name: "Intel(R) HD Graphics 520 (Skylake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x1923, family: "skl_gt3", name: "Intel(R) Skylake GT3e", gen: 9, gt: 3});
intelGPUs.push({id: 0x1926, family: "skl_gt3", name: "Intel(R) Iris Graphics 540 (Skylake GT3e)", gen: 9, gt: 3});
intelGPUs.push({id: 0x1927, family: "skl_gt3", name: "Intel(R) Iris Graphics 550 (Skylake GT3e)", gen: 9, gt: 3});
intelGPUs.push({id: 0x192A, family: "skl_gt4", name: "Intel(R) Skylake GT4", gen: 9, gt: 4});
intelGPUs.push({id: 0x192B, family: "skl_gt3", name: "Intel(R) Iris Graphics 555 (Skylake GT3e)", gen: 9, gt: 3});
intelGPUs.push({id: 0x192D, family: "skl_gt3", name: "Intel(R) Iris Graphics P555 (Skylake GT3e)", gen: 9, gt: 3});
intelGPUs.push({id: 0x1932, family: "skl_gt4", name: "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)", gen: 9, gt: 4});
intelGPUs.push({id: 0x193A, family: "skl_gt4", name: "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)", gen: 9, gt: 4});
intelGPUs.push({id: 0x193B, family: "skl_gt4", name: "Intel(R) Iris Pro Graphics 580 (Skylake GT4e)", gen: 9, gt: 4});
intelGPUs.push({id: 0x193D, family: "skl_gt4", name: "Intel(R) Iris Pro Graphics P580 (Skylake GT4e)", gen: 9, gt: 4});
intelGPUs.push({id: 0x0A84, family: "bxt", name: "Intel(R) HD Graphics (Broxton)", gen: 9, gt: 1});
intelGPUs.push({id: 0x1A84, family: "bxt", name: "Intel(R) HD Graphics (Broxton)", gen: 9, gt: 1});
intelGPUs.push({id: 0x1A85, family: "bxt_2x6", name: "Intel(R) HD Graphics (Broxton 2x6)", gen: 9, gt: 1});
intelGPUs.push({id: 0x5A84, family: "bxt", name: "Intel(R) HD Graphics 505 (Broxton)", gen: 9, gt: 1});
intelGPUs.push({id: 0x5A85, family: "bxt_2x6", name: "Intel(R) HD Graphics 500 (Broxton 2x6)", gen: 9, gt: 1});
intelGPUs.push({id: 0x5902, family: "kbl_gt1", name: "Intel(R) HD Graphics 610 (Kaby Lake GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x5906, family: "kbl_gt1", name: "Intel(R) HD Graphics 610 (Kaby Lake GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x590A, family: "kbl_gt1", name: "Intel(R) Kabylake GT1", gen: 9, gt: 1});
intelGPUs.push({id: 0x5908, family: "kbl_gt1", name: "Intel(R) Kabylake GT1", gen: 9, gt: 1});
intelGPUs.push({id: 0x590B, family: "kbl_gt1", name: "Intel(R) Kabylake GT1", gen: 9, gt: 1});
intelGPUs.push({id: 0x590E, family: "kbl_gt1", name: "Intel(R) Kabylake GT1", gen: 9, gt: 1});
intelGPUs.push({id: 0x5913, family: "kbl_gt1_5", name: "Intel(R) Kabylake GT1.5", gen: 9, gt: 1});
intelGPUs.push({id: 0x5915, family: "kbl_gt1_5", name: "Intel(R) Kabylake GT1.5", gen: 9, gt: 1});
intelGPUs.push({id: 0x5917, family: "kbl_gt2", name: "Intel(R) UHD Graphics 620 (Kabylake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x5912, family: "kbl_gt2", name: "Intel(R) HD Graphics 630 (Kaby Lake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x5916, family: "kbl_gt2", name: "Intel(R) HD Graphics 620 (Kaby Lake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x591A, family: "kbl_gt2", name: "Intel(R) HD Graphics P630 (Kaby Lake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x591B, family: "kbl_gt2", name: "Intel(R) HD Graphics 630 (Kaby Lake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x591D, family: "kbl_gt2", name: "Intel(R) HD Graphics P630 (Kaby Lake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x591E, family: "kbl_gt2", name: "Intel(R) HD Graphics 615 (Kaby Lake GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x5921, family: "kbl_gt2", name: "Intel(R) Kabylake GT2F", gen: 9, gt: 2});
intelGPUs.push({id: 0x5923, family: "kbl_gt3", name: "Intel(R) Kabylake GT3", gen: 9, gt: 3});
intelGPUs.push({id: 0x5926, family: "kbl_gt3", name: "Intel(R) Iris Plus Graphics 640 (Kaby Lake GT3e)", gen: 9, gt: 3});
intelGPUs.push({id: 0x5927, family: "kbl_gt3", name: "Intel(R) Iris Plus Graphics 650 (Kaby Lake GT3e)", gen: 9, gt: 3});
intelGPUs.push({id: 0x593B, family: "kbl_gt4", name: "Intel(R) Kabylake GT4", gen: 9, gt: 4});
intelGPUs.push({id: 0x591C, family: "kbl_gt2", name: "Intel(R) Amber Lake (Kabylake) GT2", gen: 9, gt: 2});
intelGPUs.push({id: 0x87C0, family: "kbl_gt2", name: "Intel(R) Amber Lake (Kabylake) GT2", gen: 9, gt: 2});
intelGPUs.push({id: 0x87CA, family: "cfl_gt2", name: "Intel(R) Amber Lake (Coffeelake) GT2", gen: 9, gt: 2});
intelGPUs.push({id: 0x3184, family: "glk", name: "Intel(R) UHD Graphics 605 (Geminilake)", gen: 9, gt: 1});
intelGPUs.push({id: 0x3185, family: "glk_2x6", name: "Intel(R) UHD Graphics 600 (Geminilake 2x6)", gen: 9, gt: 1});
intelGPUs.push({id: 0x3E90, family: "cfl_gt1", name: "Intel(R) UHD Graphics 610 (Coffeelake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x3E93, family: "cfl_gt1", name: "Intel(R) UHD Graphics 610 (Coffeelake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x3E99, family: "cfl_gt1", name: "Intel(R) HD Graphics (Coffeelake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x3E9C, family: "cfl_gt1", name: "Intel(R) HD Graphics (Coffeelake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x3E91, family: "cfl_gt2", name: "Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3E92, family: "cfl_gt2", name: "Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3E96, family: "cfl_gt2", name: "Intel(R) HD Graphics (Coffeelake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3E98, family: "cfl_gt2", name: "Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3E9A, family: "cfl_gt2", name: "Intel(R) HD Graphics (Coffeelake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3E9B, family: "cfl_gt2", name: "Intel(R) UHD Graphics 630 (Coffeelake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3E94, family: "cfl_gt2", name: "Intel(R) HD Graphics (Coffeelake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3EA9, family: "cfl_gt2", name: "Intel(R) HD Graphics (Coffeelake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3EA5, family: "cfl_gt3", name: "Intel(R) HD Graphics (Coffeelake 3x8 GT3)", gen: 9, gt: 3});
intelGPUs.push({id: 0x3EA6, family: "cfl_gt3", name: "Intel(R) HD Graphics (Coffeelake 3x8 GT3)", gen: 9, gt: 3});
intelGPUs.push({id: 0x3EA7, family: "cfl_gt3", name: "Intel(R) HD Graphics (Coffeelake 3x8 GT3)", gen: 9, gt: 3});
intelGPUs.push({id: 0x3EA8, family: "cfl_gt3", name: "Intel(R) HD Graphics (Coffeelake 3x8 GT3)", gen: 9, gt: 3});
intelGPUs.push({id: 0x3EA1, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Whiskey Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x3EA4, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Whiskey Lake 3x8 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x3EA0, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Whiskey Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3EA3, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Whiskey Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x3EA2, family: "cfl_gt3", name: "Intel(R) UHD Graphics (Whiskey Lake 3x8 GT3)", gen: 9, gt: 3});
intelGPUs.push({id: 0x9B21, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9BA0, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9BA2, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9BA4, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9BA5, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9BA8, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9BAA, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9BAB, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9BAC, family: "cfl_gt1", name: "Intel(R) UHD Graphics (Comet Lake 2x6 GT1)", gen: 9, gt: 1});
intelGPUs.push({id: 0x9B41, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BC0, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BC2, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BC4, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BC5, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BC6, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BC8, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BCA, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BCB, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BCC, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BE6, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x9BF6, family: "cfl_gt2", name: "Intel(R) UHD Graphics (Comet Lake 3x8 GT2)", gen: 9, gt: 2});
intelGPUs.push({id: 0x5A49, family: "cnl_2x8", name: "Intel(R) HD Graphics (Cannonlake 2x8 GT0.5)", gen: 10, gt: 1});
intelGPUs.push({id: 0x5A4A, family: "cnl_2x8", name: "Intel(R) HD Graphics (Cannonlake 2x8 GT0.5)", gen: 10, gt: 1});
intelGPUs.push({id: 0x5A41, family: "cnl_3x8", name: "Intel(R) HD Graphics (Cannonlake 3x8 GT1)", gen: 10, gt: 1});
intelGPUs.push({id: 0x5A42, family: "cnl_3x8", name: "Intel(R) HD Graphics (Cannonlake 3x8 GT1)", gen: 10, gt: 1});
intelGPUs.push({id: 0x5A44, family: "cnl_3x8", name: "Intel(R) HD Graphics (Cannonlake 3x8 GT1)", gen: 10, gt: 1});
intelGPUs.push({id: 0x5A59, family: "cnl_4x8", name: "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)", gen: 10, gt: 1});
intelGPUs.push({id: 0x5A5A, family: "cnl_4x8", name: "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)", gen: 10, gt: 1});
intelGPUs.push({id: 0x5A5C, family: "cnl_4x8", name: "Intel(R) HD Graphics (Cannonlake 4x8 GT1.5)", gen: 10, gt: 1});
intelGPUs.push({id: 0x5A50, family: "cnl_5x8", name: "Intel(R) HD Graphics (Cannonlake 5x8 GT2)", gen: 10, gt: 2});
intelGPUs.push({id: 0x5A51, family: "cnl_5x8", name: "Intel(R) HD Graphics (Cannonlake 5x8 GT2)", gen: 10, gt: 2});
intelGPUs.push({id: 0x5A52, family: "cnl_5x8", name: "Intel(R) HD Graphics (Cannonlake 5x8 GT2)", gen: 10, gt: 2});
intelGPUs.push({id: 0x5A54, family: "cnl_5x8", name: "Intel(R) HD Graphics (Cannonlake 5x8 GT2)", gen: 10, gt: 2});
intelGPUs.push({id: 0x8A50, family: "icl_8x8", name: "Intel(R) HD Graphics (Ice Lake 8x8 GT2)", gen: 11, gt: 2});
intelGPUs.push({id: 0x8A51, family: "icl_8x8", name: "Intel(R) Iris(R) Plus Graphics (Ice Lake 8x8 GT2)", gen: 11, gt: 2});
intelGPUs.push({id: 0x8A52, family: "icl_8x8", name: "Intel(R) Iris(R) Plus Graphics (Ice Lake 8x8 GT2)", gen: 11, gt: 2});
intelGPUs.push({id: 0x8A53, family: "icl_8x8", name: "Intel(R) Iris(R) Plus Graphics (Ice Lake 8x8 GT2)", gen: 11, gt: 2});
intelGPUs.push({id: 0x8A54, family: "icl_6x8", name: "Intel(R) Iris(R) Plus Graphics (Ice Lake 6x8 GT1.5)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A56, family: "icl_4x8", name: "Intel(R) UHD Graphics (Ice Lake 4x8 GT1)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A57, family: "icl_6x8", name: "Intel(R) HD Graphics (Ice Lake 6x8 GT1.5)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A58, family: "icl_4x8", name: "Intel(R) UHD Graphics (Ice Lake 4x8 GT1)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A59, family: "icl_6x8", name: "Intel(R) HD Graphics (Ice Lake 6x8 GT1.5)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A5A, family: "icl_6x8", name: "Intel(R) Iris(R) Plus Graphics (Ice Lake 6x8 GT1.5)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A5B, family: "icl_4x8", name: "Intel(R) HD Graphics (Ice Lake 4x8 GT1)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A5C, family: "icl_6x8", name: "Intel(R) Iris(R) Plus Graphics (Ice Lake 6x8 GT1.5)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A5D, family: "icl_4x8", name: "Intel(R) HD Graphics (Ice Lake 4x8 GT1)", gen: 11, gt: 1});
intelGPUs.push({id: 0x8A71, family: "icl_1x8", name: "Intel(R) HD Graphics (Ice Lake 1x8 GT0.5)", gen: 11, gt: 1});
intelGPUs.push({id: 0x4500, family: "ehl_4x8", name: "Intel(R) HD Graphics (Elkhart Lake 4x8)", gen: 11, gt: 1});
intelGPUs.push({id: 0x4571, family: "ehl_4x8", name: "Intel(R) HD Graphics (Elkhart Lake 4x8)", gen: 11, gt: 1});
intelGPUs.push({id: 0x4551, family: "ehl_4x4", name: "Intel(R) HD Graphics (Elkhart Lake 4x4)", gen: 11, gt: 1});
intelGPUs.push({id: 0x4541, family: "ehl_2x4", name: "Intel(R) HD Graphics (Elkhart Lake 2x4)", gen: 11, gt: 1});
intelGPUs.push({id: 0x4E51, family: "ehl_4x4", name: "Intel(R) HD Graphics (Jasper Lake 4x4)", gen: 11, gt: 1});
intelGPUs.push({id: 0x4E61, family: "ehl_4x6", name: "Intel(R) HD Graphics (Jasper Lake 4x6)", gen: 11, gt: 1});
intelGPUs.push({id: 0x4E71, family: "ehl_4x8", name: "Intel(R) HD Graphics (Jasper Lake 4x8)", gen: 11, gt: 1});
intelGPUs.push({id: 0x9A40, family: "tgl_1x6x16", name: "Intel(R) Graphics (TGL GT2)", gen: 12, gt: 2});
intelGPUs.push({id: 0x9A49, family: "tgl_1x6x16", name: "Intel(R) Graphics (TGL GT2)", gen: 12, gt: 2});
intelGPUs.push({id: 0x9A59, family: "tgl_1x6x16", name: "Intel(R) Graphics (TGL GT2)", gen: 12, gt: 2});
intelGPUs.push({id: 0x9A60, family: "tgl_1x2x16", name: "Intel(R) Graphics (TGL GT1)", gen: 12, gt: 1});
intelGPUs.push({id: 0x9A68, family: "tgl_1x2x16", name: "Intel(R) Graphics (TGL GT1)", gen: 12, gt: 1});
intelGPUs.push({id: 0x9A70, family: "tgl_1x2x16", name: "Intel(R) Graphics (TGL GT1)", gen: 12, gt: 1});
intelGPUs.push({id: 0x9A78, family: "tgl_1x2x16", name: "Intel(R) Graphics (TGL GT1)", gen: 12, gt: 1});
function lookupIntelGPU(id) {
var index = intelGPUs.findIndex(function(device) {
return (id == device.id);
});
if (index) {
return intelGPUs[index];
}
return null;
}
export {
lookupIntelGPU,
intelGPUs
};

View File

@ -1,61 +0,0 @@
"use strict";
/* Convert a Date object to a work-week #, following Intel's
* methodology with the exception that we list WW53'(xx) for
* December dates that would be in WW01'(xx+1) */
function intelDateToWW(date) {
if (!(date instanceof Date)) {
return "N/A: " + date;
}
var jan1 = new Date(date);
jan1.setMonth(0, 1);
var day = jan1.getDay();
/* 0 = Sunday */
/* Determine the start of WW01 in # of seconds since
* Jan 1, 1970 00:00 GMT */
var time = (jan1.getTime() / 1000) - (24 * 60 * 60) * (day + 1);
/* Determine how far into the year the requested time
* is with WW01 00:00 as the base. */
var delta = (date.getTime() / 1000) - time;
var weeks = Math.ceil(delta / (24 * 60 * 60 * 7)),
year = date.getFullYear();
if (weeks > 52) {
weeks -= 52;
year++;
}
return "WW" + (weeks < 10 ? "0" : "") + weeks + "'" + (year % 100);
}
/* Convert an Intel WW to the date of Friday of that work week */
function intelWWToDate(workweek, startOfWeek) {
if (!/^ww/i.exec(workweek)) {
workweek = "ww" + workweek;
}
/* 1 2 3 */
var parts = ("" + workweek).match(/^ww([0-9]+)\s*('([0-9]+))?$/i);
if (!parts) {
return "N/A: " + workweek;
}
var year = parseInt(parts[3] || new Date().getFullYear()),
week = parseInt(parts[1].replace(/^0/, ""));
if (year < 1000) {
year += 2000;
}
var jan1 = new Date(year, 0, 1, 0, 0, 0, 0);
/* Rebase the returned date to Friday in the target WW */
jan1.setDate((week * 7) - (jan1.getDay() + (startOfWeek ? 5 : 1)));
return jan1;
}
export default {
intelDateToWW,
intelWWToDate
};

View File

@ -1,49 +0,0 @@
#technologies-content .tab-content {
border: 1px solid #d0d0d0;
border-radius: 0.25em;
padding: 1em;
padding-bottom: 1.3em;
}
.tab-content {
border: 1px solid #d0d0d0;
border-top-color: transparent;
border-bottom-left-radius: 0.25em;
border-bottom-right-radius: 0.25em;
padding: 1em;
padding-bottom: 1.3em;
}
.tab-content p {
margin: 1em 0;
}
.tab-content p:last-child {
margin-bottom: 0em;
}
.tab-content .Markdown table {
min-width: 75%;
margin: 1em 0 1em 0;
}
.tab-content .Markdown table thead {
background-color: #555;
color: white;
vertical-align: middle;
}
.tab-content .Markdown h1,
.tab-content .Markdown h2,
.tab-content .Markdown h3 {
margin-top: 1em;
font-size: 1.1em;
}
.tab-content .Markdown h3 {
color: #333;
}
.nav.nav-tabs {
margin-top: 1em;
}

View File

@ -1,82 +0,0 @@
/* App starts here */
import React, { useState, useEffect } from "react";
import Markdown from "react-markdown/with-html";
import Nav from "react-bootstrap/Nav";
import Col from "react-bootstrap/Col";
import Row from "react-bootstrap/Row";
import Tab from "react-bootstrap/Tab";
import MarkdownLoader from "./markdown-loader.js";
import "./internal.css";
class TopicsPicker extends React.Component {
constructor(props) {
super(props);
}
render () {
return (
<Tab.Container id="topics-table" defaultActiveKey="running-internal">
<Row>
<Col sm={3}>
<Nav variant="pills" className="flex-column">
<Nav.Item>
<Nav.Link eventKey="running-internal">Running internal...</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="what-is-agama">What is Agama?</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="os-support-dates">OS Support Dates</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="zero-to-hero">'Web: Zero to Hero' slides</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="additional-info">Additional information</Nav.Link>
</Nav.Item>
</Nav>
</Col>
<Col sm={9} id="topics-content">
<Tab.Content>
<Tab.Pane eventKey="running-internal">
<MarkdownLoader src="topics/running-internal.md"/>
</Tab.Pane>
<Tab.Pane eventKey="what-is-agama">
<MarkdownLoader src="topics/what-is-agama.md"/>
</Tab.Pane>
<Tab.Pane eventKey="os-support-dates">
<MarkdownLoader src="topics/os-support-dates.md"/>
</Tab.Pane>
<Tab.Pane eventKey="zero-to-hero">
<MarkdownLoader src="topics/zero-to-hero.md"/>
</Tab.Pane>
<Tab.Pane eventKey="additional-info">
<MarkdownLoader src="topics/support.md"/>
</Tab.Pane>
</Tab.Content>
</Col>
</Row>
</Tab.Container>
)
}
}
class Internal extends React.Component {
constructor(props) {
super(props);
}
render () {
return (
<div className="Content OnScreen" id="Content">
<div id="MinBox">
<TopicsPicker/>
</div>
</div>
);
}
}
export default Internal;

View File

@ -1,83 +0,0 @@
/* App starts here */
import React from "react";
import ReactMarkdown from "react-markdown/with-html";
import CodeBlock from "./CodeBlock";
class MarkdownLoader extends React.Component {
constructor(props) {
super(props);
this.state= {
src: props.src,
loaded: "",
loading: "",
markdown: props.markdown ? props.markdown : "Loading..."
};
this.loadContent = this.loadContent.bind(this);
}
componentDidMount() {
this.loadContent();
}
componentDidUpdate(previous) {
if (this.props.src != previous.src) {
this.state.src = this.props.src;
this.loadContent();
}
}
loadContent() {
if (!this.state.src) {
return;
}
console.log("Loading " + this.state.src, this.props.src);
this.state.loading = this.state.src;
fetch(this.state.src.match(/^https?:\/\//) ? this.state.src : "./docs/" + this.state.src)
.then((response) => {
if (response.ok) {
return response.text();
} else {
throw Error(response.statusText)
}
}).then((result) => {
/* If 'result' doesn't already contain a link to the GitLab page, add it
* to the end of the content. */
this.setState({
loading: null,
loaded: this.state.loading,
markdown: result
});
}, (error) => {
this.setState({
markdown: this.props.fallback ? this.props.fallback : [
"# Error loading " + this.state.src,
"",
error.message
].join("\n")
});
});
}
render() {
const isDebug = window.location.search.match(/debug(=(y|t|1).*)?/);
return (
<div className="MarkdownLoader">
<ReactMarkdown
className="Markdown"
escapeHtml={false}
source={ this.state.markdown }
renderers={{ code: CodeBlock }}
/>
{ (isDebug) &&
<div className='gitlab-banner'>
<a target="_new" href={"https://gitlab.devtools.intel.com/vtt/sws/osgc/agama-website/edit/master/docs/" + this.state.src }>edit on gitlab</a>
</div>
}
</div>
)
}
}
export default MarkdownLoader;

View File

@ -1,200 +0,0 @@
@media print {
*,
*:before,
*:after {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
a[href^="#"]:after,
a[href^="javascript:"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}
pre,
code {
font-family: Menlo, Monaco, "Courier New", monospace;
}
pre {
padding: .5rem;
line-height: 1.25;
overflow-x: scroll;
}
a,
a:visited {
color: #3498db;
}
a:hover,
a:focus,
a:active {
color: #2980b9;
}
.modest-no-decoration {
text-decoration: none;
}
html {
font-size: 12px;
}
@media screen and (min-width: 32rem) and (max-width: 48rem) {
html {
font-size: 15px;
}
}
@media screen and (min-width: 48rem) {
html {
font-size: 16px;
}
}
p,
.modest-p {
font-size: 1rem;
margin-bottom: 1.3rem;
}
h1,
.modest-h1,
h2,
.modest-h2,
h3,
.modest-h3,
h4,
.modest-h4 {
margin: 1.414rem 0 .5rem;
font-weight: inherit;
line-height: 1.42;
}
h1,
.modest-h1 {
margin-top: 0;
font-size: 3.998rem;
}
h2,
.modest-h2 {
font-size: 2.827rem;
}
h3,
.modest-h3 {
font-size: 1.999rem;
}
h4,
.modest-h4 {
font-size: 1.414rem;
}
h5,
.modest-h5 {
font-size: 1.121rem;
}
h6,
.modest-h6 {
font-size: .88rem;
}
small,
.modest-small {
font-size: .707em;
}
/* https://github.com/mrmrs/fluidity */
img,
canvas,
iframe,
video,
svg,
select,
textarea {
max-width: 100%;
}
@import url(https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,300italic,700);
@import url(https://fonts.googleapis.com/css?family=Arimo:700,700italic);
h1,
h2,
h3,
h4,
h5,
h6 {
font-family: Arimo, Helvetica, sans-serif;
}
h1,
h2,
h3 {
border-bottom: 2px solid #fafafa;
margin-bottom: 1.15rem;
padding-bottom: .5rem;
text-align: left;
}
blockquote {
border-left: 8px solid #fafafa;
padding: 1rem;
}
pre,
code {
background-color: #fafafa;
}

View File

@ -1,6 +0,0 @@
#releases-content .tab-content {
border: 1px solid #d0d0d0;
border-radius: 0.25em;
padding: 1em;
padding-bottom: 1.3em;
}

View File

@ -1,73 +0,0 @@
/* App starts here */
import React, { useState, useEffect } from "react";
import Markdown from "react-markdown/with-html";
import Nav from "react-bootstrap/Nav";
import Col from "react-bootstrap/Col";
import Row from "react-bootstrap/Row";
import Tab from "react-bootstrap/Tab";
import MarkdownLoader from "./markdown-loader.js";
import "./releases.css";
class ReleasePicker extends React.Component {
constructor(props) {
super(props);
}
render () {
return (
<Tab.Container id="releases-table" defaultActiveKey="20q1.06">
<Row>
<Col sm={3}>
<Nav variant="pills" className="flex-column">
<Nav.Item>
<Nav.Link eventKey="20q1.06">2020-02-07</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="19q4.52">2019-12-14</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="19q4">2019-11-11</Nav.Link>
</Nav.Item>
</Nav>
</Col>
<Col sm={9} id="releases-content">
<Tab.Content>
<Tab.Pane eventKey="20q1.06">
<MarkdownLoader src="releases/releases-20Q1.06.md"/>
</Tab.Pane>
<Tab.Pane eventKey="19q4.52">
<MarkdownLoader src="releases/releases-19Q4.52.md"/>
</Tab.Pane>
<Tab.Pane eventKey="19q4">
<MarkdownLoader src="releases/releases-19Q4.md"/>
</Tab.Pane>
</Tab.Content>
</Col>
</Row>
</Tab.Container>
)
}
}
class Releases extends React.Component {
constructor(props) {
super(props);
}
render () {
return (
<div className="Content OnScreen" id="Content">
<div id="MinBox">
<Markdown source="
Select the release below for information about the packages published.
"/>
<ReleasePicker/>
</div>
</div>
);
}
}
export default Releases;

View File

@ -1,197 +0,0 @@
.solution {
display: flex;
flex-direction: column;
max-width: 90ex;
margin: 0 auto;
}
.solution-details {
display: flex;
flex-direction: column;
position: relative;
}
.solution-details .solution-categories {
position: absolute;
right: 0;
top: 0;
}
.solution .Markdown {
margin-top: 0.5em;
}
.solution-field {
display: flex;
flex-direction: row;
}
.solution-field :first-child {
width: 10em;
}
.solution-field :last-child {
flex-grow: 1
}
.solution-back {
cursor: pointer;
font-weight: bold;
line-height: 1.1em;
height: 1.1em;
margin-bottom: 0.5em;
border-bottom: 1px solid #eee;
}
.solution-back:hover {
text-decoration: underline;
}
.solutions-picker {
display: flex;
flex-wrap: wrap;
flex-direction: row;
overflow: auto;
}
.solution-card {
display: flex;
flex-direction: column;
width: 12em;
height: 8em;
border: 1px solid black;
margin: 1em;
box-sizing: border-box;
overflow: hidden;
cursor: pointer;
}
.solution-marque {
display: flex;
}
.solution-clone .Markdown {
font-size: 0.8em;
}
.solution-overview {
flex-grow: 10;
}
.solution-image {
flex-grow: 1;
width: 10em;
height: 6em;
background: white;
background-size: contain;
background-repeat: no-repeat;
background-position: left 50%;
}
.solution-info {
display: flex;
flex-direction: column;
height: 5em;
padding: 0.5em;
overflow: hidden;
font-size: 0.8em;
line-height: 1em;
}
.solution-title {
text-overflow: ellipsis;
overflow: hidden;
padding-bottom: 0.25em;
}
.solution-summary {
flex-grow: 1;
font-size: 0.9em;
text-overflow: ellipsis;
overflow: hidden;
line-height: 1.1em;
}
.solution-card:hover {
box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.5);
}
.solution-category {
border: 3px solid green;
}
.solution-category-tab > .nav-item {
display: flex;
/*
width: 8em;
height: 8em;
*/
text-align: left;
flex-direction: column;
justify-content: flex-end;
background-size: auto 50%;
background-repeat: no-repeat;
background-position: 0.5em 0.5em;
padding-left: 2em;
min-width: 8em;
}
.solution-category-tab .nav-item[data-rb-event-key=media] {
background-image: url(../assets/solutions-media.png);
}
.solution-category-tab .nav-item[data-rb-event-key=compute] {
background-image: url(../assets/solutions-compute.png);
}
.solution-category-tab .nav-item[data-rb-event-key=render] {
background-image: url(../assets/solutions-render.png);
}
.solution-category-tab .nav-item[data-rb-event-key=all] {
background-image: url(../assets/solutions-all.png);
}
.tab-content {
border: 1px solid #d0d0d0;
border-top-color: transparent;
border-bottom-left-radius: 0.25em;
border-bottom-right-radius: 0.25em;
padding: 1em;
padding-bottom: 1.3em;
}
p {
margin: 1em 0;
}
p:last-child {
margin-bottom: 0em;
}
.Markdown table {
min-width: 75%;
margin: 1em 0 1em 0;
}
.Markdown table thead {
background-color: #555;
color: white;
vertical-align: middle;
}
.Markdown h1,
.Markdown h2,
.Markdown h3 {
margin-top: 1em;
font-size: 1.1em;
}
.Markdown h3 {
color: #333;
}
.nav.nav-tabs {
margin-top: 1em;
}

View File

@ -1,247 +0,0 @@
/* App starts here */
import React, { useState, useEffect } from "react";
import ReactMarkdown from "react-markdown/with-html";
import CodeBlock from "./CodeBlock";
import MarkdownLoader from "./markdown-loader";
import Tab from "react-bootstrap/Tab";
import Tabs from "react-bootstrap/Tabs";
import Col from "react-bootstrap/Col";
import Row from "react-bootstrap/Row";
import "./solutions.css";
const solutions = [ {
category: "HPC",
title: "intel-hpc-bench",
asset: "hpc.png",
summary: "HPC Benchmark workloads",
git: "https://gitlab.devtools.intel.com/vtt/sws/osgc/solutions/intel-hcp-bench"
}, {
category: "AI/ML",
title: "intel-pytorch",
asset: "intel-pytorch.png",
summary: "basic pytorch container",
git: "https://gitlab.devtools.intel.com/vtt/sws/osgc/solutions/intel-pytorch"
},/*
{
category: "compute",
title: "intel-efficientnet",
summary: "No summary provided",
git: "https://gitlab.devtools.intel.com/vtt/sws/osgc/solutions/intel-efficientnet"
},
{
category: "compute",
title: "intel-deepspeech",
summary: "Container featuring the Mozilla DeepSpeech speech-to-text implementation in tensorflow.",
git: "https://gitlab.devtools.intel.com/vtt/sws/osgc/solutions/intel-deepspeech"
},*/
/*{
category: "compute",
title: "intel-deepvoice3",
summary: "Deepvoice3 text to speech container using Intel GPU and deepspeech3 pytorch.",
git: "https://gitlab.devtools.intel.com/vtt/sws/osgc/solutions/intel-deepvoice3"
},*/
/*{
category: "compute",
title: "intel-rl",
summary: "Intel reinforcement learning container",
git: "https://gitlab.devtools.intel.com/vtt/sws/osgc/solutions/intel-rl"
},*/
{
category: "AI/ML,HPC",
title: "intel-compute-clinfo",
asset: "intel-compute-clinfo.png",
summary: "Basic container installing OpenCL runtime; testing packages",
git: "https://gitlab.devtools.intel.com/vtt/sws/osgc/solutions/intel-compute-clinfo"
},
{
category: "Media",
title: "intel-media-ffmpeg",
asset: "intel-media-ffmpeg.svg",
summary: "Perform various media tests using ffmpeg",
git: "https://gitlab.devtools.intel.com/vtt/sws/osgc/solutions/intel-media-ffmpeg"
}
];
class CategoryPicker extends React.Component {
constructor(props) {
super(props);
console.log("CategoryPicker");
this.clearFilter = this.clearFilter.bind(this);
}
clearFilter() {
if (window.clearFilter) {
window.clearFilter();
}
}
render() {
const categories = [];
solutions.forEach(solution => {
solution.category.split(",").forEach(category => {
if (categories.indexOf(category) != -1) {
return;
}
categories.push(category);
})
});
const tabs = categories.sort().map(category => (
<Tab eventKey={category} key={category} title={category.replace(/^(.)/, "$1".toUpperCase())}>
<SolutionsPicker onSolutionChanged={this.props.onSolutionChanged} filter={category}/>
</Tab>
));
return (
<Tabs id="solution-category-table" className="solution-category-tab" >
{ tabs }
<Tab eventKey="all" title="All" key="all">
<SolutionsPicker onSolutionChanged={this.props.onSolutionChanged} filter="*"/>
</Tab>
<Tab eventKey="about" title="About" key="about">
<MarkdownLoader className="Markdown" src="solutions/about.md"/>
</Tab>
</Tabs>
);
}
}
class SolutionsPicker extends React.Component {
constructor(props) {
super(props);
console.log("SolutionsPicker");
}
render () {
const solutionsContent = solutions
.filter(solution => this.props.filter == "*" || solution.category == this.props.filter)
.sort((A, B) => { return A.title.localeCompare(B.title) })
.map((solution, i) => {
return (
<div key={"solution-" + i} className="solution-card"
onClick={this.props.onSolutionChanged.bind(this, solution)}>
<div className="solution-image"
style={{backgroundImage:"url(./docs/solutions/" + solution.asset + ")"}}>
</div>
<div className="solution-info">
<div className="solution-title">{solution.title}</div>
<div className="solution-summary">{solution.summary}</div>
</div>
</div>
)});
return (
<div className="solutions-picker">
{ solutionsContent }
</div>
);
}
}
class Solution extends React.Component {
constructor(props) {
super(props);
console.log("Solution: ", this.props.solution);
}
formatString(string) {
if (/^https?:\/\//.exec(string)) {
return (<a href={string}>{string}</a>);
} else {
return string;
}
}
solutionContent(solution) {
let markdownPath = "", basename = "";
if (solution.git) {
basename = solution.git.replace(/^.*\/([^/]+)$/, "$1");
if (basename) {
markdownPath = "solutions/" + basename + ".md";
}
}
if (!basename) {
return (<ReactMarkdown
className="Markdown"
escapeHtml={false}
source="# git path must be provided"
renderers={{ code: CodeBlock }} />);
}
return (<MarkdownLoader src={markdownPath} fallback={
"# " + solution.title + " \n" +
"Solution instructions not found. You can [file an issue](https://gitlab.devtools.intel.com/vtt/sws/osgc/agama-website/issues/new?" +
"issue[title]=Content%20needed%20for%20docs%2F" + markdownPath +") to request it be created."
}/>);
}
render() {
const solution = this.props.solution;
return (
<div className="solution">
<div className="solution-back" onClick={this.props.onBack}>Back</div>
<div className="solution-details">
<div className="solution-marque">
<div className="solution-image"
style={{backgroundImage:"url(./docs/solutions/" + solution.asset + ")"}}></div>
<div className="solution-overview">
<div className="solution-categories">{solution.category}</div>
<div className="solution-title">{solution.title}</div>
<div className="solution-summary">{solution.summary}</div>
</div>
</div>
<div className="solution-clone">
<ReactMarkdown
className="Markdown"
renderers={{ code: CodeBlock }}
source={[
"## Clone",
"```bash",
"git clone " + solution.git,
"```",
"## Pull",
"```bash",
"docker pull amr-registry.caas.intel.com/vtt-osgc/solutions/" + solution.title,
"```"
].join("\n")}/>
</div>
</div>
{ this.solutionContent(this.props.solution) }
</div>
)
}
}
class Solutions extends React.Component {
constructor(props) {
super(props);
console.log("Solutions");
this.state = {
activeSolution: null
};
this.onSolutionChanged = this.onSolutionChanged.bind(this);
}
onSolutionChanged(solution) {
console.log("onSolutionChanged: " + solution);
this.setState({
activeSolution: solution
});
}
render () {
return (
<div className="Content OnScreen" id="Content">
<div id="MinBox">
<div>This site is a work in progress and under active development.</div>
{
this.state.activeSolution ?
<Solution solution={this.state.activeSolution} onBack={this.onSolutionChanged.bind(this, null)}/> :
<CategoryPicker onSolutionChanged={this.onSolutionChanged}/>
}
</div>
</div>
);
}
}
export default Solutions;

View File

@ -1,49 +0,0 @@
#technologies-content .tab-content {
border: 1px solid #d0d0d0;
border-radius: 0.25em;
padding: 1em;
padding-bottom: 1.3em;
}
.tab-content {
border: 1px solid #d0d0d0;
border-top-color: transparent;
border-bottom-left-radius: 0.25em;
border-bottom-right-radius: 0.25em;
padding: 1em;
padding-bottom: 1.3em;
}
.tab-content p {
margin: 1em 0;
}
.tab-content p:last-child {
margin-bottom: 0em;
}
.tab-content .Markdown table {
min-width: 75%;
margin: 1em 0 1em 0;
}
.tab-content .Markdown table thead {
background-color: #555;
color: white;
vertical-align: middle;
}
.tab-content .Markdown h1,
.tab-content .Markdown h2,
.tab-content .Markdown h3 {
margin-top: 1em;
font-size: 1.1em;
}
.tab-content .Markdown h3 {
color: #333;
}
.nav.nav-tabs {
margin-top: 1em;
}

View File

@ -1,90 +0,0 @@
/* App starts here */
import React, { useState, useEffect } from "react";
import Markdown from "react-markdown/with-html";
import Nav from "react-bootstrap/Nav";
import Col from "react-bootstrap/Col";
import Row from "react-bootstrap/Row";
import Tab from "react-bootstrap/Tab";
import MarkdownLoader from "./markdown-loader.js";
import "./technologies.css";
class TechnologyPicker extends React.Component {
constructor(props) {
super(props);
}
render () {
return (
<Tab.Container id="technologies-table" defaultActiveKey="level-zero">
<Row>
<Col sm={3}>
<Nav variant="pills" className="flex-column">
<Nav.Item>
<Nav.Link eventKey="level-zero">Level-Zero</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="mediadriver">Media Driver</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="mediasdk">Media SDK</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="mesa">Mesa</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="opencl">Open CL</Nav.Link>
</Nav.Item>
</Nav>
</Col>
<Col sm={9} id="technologies-content">
<Tab.Content>
<Tab.Pane eventKey="default">
<Markdown className="Markdown" source={[
"# Technologies",
"",
"Providing the latest innovations on Intel graphics hardware requires coordination",
"with several projects."
].join("\n")}/>
</Tab.Pane>
<Tab.Pane eventKey="level-zero">
<MarkdownLoader src="technologies/level-zero.md"/>
</Tab.Pane>
<Tab.Pane eventKey="mediasdk">
<MarkdownLoader src="technologies/mediasdk.md"/>
</Tab.Pane>
<Tab.Pane eventKey="mediadriver">
<MarkdownLoader src="technologies/mediadriver.md"/>
</Tab.Pane>
<Tab.Pane eventKey="mesa">
<MarkdownLoader src="technologies/mesa.md"/>
</Tab.Pane>
<Tab.Pane eventKey="opencl">
<MarkdownLoader src="technologies/opencl.md"/>
</Tab.Pane>
</Tab.Content>
</Col>
</Row>
</Tab.Container>
)
}
}
class Technologies extends React.Component {
constructor(props) {
super(props);
}
render () {
return (
<div className="Content OnScreen" id="Content">
<div id="MinBox">
<TechnologyPicker/>
</div>
</div>
);
}
}
export default Technologies;