blob: c2cd138e235eb1b0a38075e2207002ed20c0505e [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
Courtney Goeltzenleuchtered56abc2014-08-12 14:12:22 -060021 // Do we want to hide/abstract this data?
22// private:
Courtney Goeltzenleuchtere099abd2014-08-12 14:09:50 -060023 XGL_UINT id;
24 XGL_PHYSICAL_GPU gpuObj;
25
26 XGL_PHYSICAL_GPU_PROPERTIES props;
27 XGL_PHYSICAL_GPU_PERFORMANCE perf;
28
29 XGL_UINT queue_count;
30 XGL_PHYSICAL_GPU_QUEUE_PROPERTIES *queue_props;
31 XGL_DEVICE_QUEUE_CREATE_INFO *queue_reqs;
32
33 XGL_PHYSICAL_GPU_MEMORY_PROPERTIES memory_props;
34
35 XGL_UINT extension_count;
36 const XGL_CHAR **extensions;
37
38 // Device info
39 // struct app_dev dev;
40 XGL_DEVICE devObj;
41
42 XGL_UINT heap_count;
43 XGL_MEMORY_HEAP_PROPERTIES *heap_props;
44 XGL_QUEUE queues[MAX_QUEUE_TYPES];
45
46 XGL_FORMAT_PROPERTIES format_props[XGL_MAX_CH_FMT][XGL_MAX_NUM_FMT];
47
48};
49
50#endif // XGLGPU_H