blob: 8fcc210db8c3ccb760eb918111497a382f5d1a9c [file] [log] [blame]
Courtney Goeltzenleuchtere099abd2014-08-12 14:09:50 -06001#ifndef XGLGPU_H
2#define XGLGPU_H
3
4#include "test_common.h"
5
6#include <xgl.h>
7
8#define MAX_GPUS 8
9
10#define MAX_QUEUE_TYPES 5
11
12class XglGpu
13{
14public:
15 XglGpu(XGL_UINT id, XGL_PHYSICAL_GPU gpuObj);
16 void init_gpu();
17 void init_extensions();
18 void init_device();
19 void init_formats();
20
21private:
22 XGL_UINT id;
23 XGL_PHYSICAL_GPU gpuObj;
24
25 XGL_PHYSICAL_GPU_PROPERTIES props;
26 XGL_PHYSICAL_GPU_PERFORMANCE perf;
27
28 XGL_UINT queue_count;
29 XGL_PHYSICAL_GPU_QUEUE_PROPERTIES *queue_props;
30 XGL_DEVICE_QUEUE_CREATE_INFO *queue_reqs;
31
32 XGL_PHYSICAL_GPU_MEMORY_PROPERTIES memory_props;
33
34 XGL_UINT extension_count;
35 const XGL_CHAR **extensions;
36
37 // Device info
38 // struct app_dev dev;
39 XGL_DEVICE devObj;
40
41 XGL_UINT heap_count;
42 XGL_MEMORY_HEAP_PROPERTIES *heap_props;
43 XGL_QUEUE queues[MAX_QUEUE_TYPES];
44
45 XGL_FORMAT_PROPERTIES format_props[XGL_MAX_CH_FMT][XGL_MAX_NUM_FMT];
46
47};
48
49#endif // XGLGPU_H