Mercurial > hg > Game > Cerium
comparison TaskManager/Gpu/GpuScheduler.h @ 1960:273de551f726 draft
use multiple command_queue
author | Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 11 Feb 2014 16:28:22 +0900 |
parents | 5238ca826d6e |
children | fdb3ed0bc51d |
comparison
equal
deleted
inserted
replaced
1959:6d343611bb03 | 1960:273de551f726 |
---|---|
12 #else | 12 #else |
13 #include <CL/cl.h> | 13 #include <CL/cl.h> |
14 #endif | 14 #endif |
15 | 15 |
16 extern TaskObject gpu_task_list[MAX_TASK_OBJECT]; | 16 extern TaskObject gpu_task_list[MAX_TASK_OBJECT]; |
17 | |
18 #define STAGE 8 | |
17 | 19 |
18 class GpuScheduler : public MainScheduler { | 20 class GpuScheduler : public MainScheduler { |
19 public: | 21 public: |
20 typedef struct gpubuffer { | 22 typedef struct gpubuffer { |
21 cl_int allocate_size; | 23 cl_int allocate_size; |
32 cl_platform_id platform_id; | 34 cl_platform_id platform_id; |
33 cl_device_id device_id; | 35 cl_device_id device_id; |
34 cl_uint ret_num_platforms; | 36 cl_uint ret_num_platforms; |
35 cl_uint ret_num_devices; | 37 cl_uint ret_num_devices; |
36 cl_context context; | 38 cl_context context; |
37 cl_command_queue command_queue; | 39 cl_command_queue command_queue[STAGE]; |
38 cl_int ret; | 40 cl_int ret; |
39 memaddr reply; | 41 memaddr reply; |
40 cl_kernel kernel[2]; | 42 cl_kernel kernel[STAGE]; |
41 cl_event kernel_event[2]; | 43 cl_event kernel_event[STAGE]; |
42 GpuBuffer memin[2]; | 44 GpuBuffer memin[STAGE]; |
43 GpuBuffer memout[2]; | 45 GpuBuffer memout[STAGE]; |
44 HTask::htask_flag flag[2]; | 46 HTask::htask_flag flag[STAGE]; |
45 private: | 47 private: |
46 int load_kernel(int cmd); | 48 int load_kernel(int cmd); |
47 cl_mem createBuffer(GpuBufferPtr m, int i, cl_context context, cl_mem_flags flags, size_t size, cl_int *error); | 49 cl_mem createBuffer(GpuBufferPtr m, int i, cl_context context, cl_mem_flags flags, size_t size, cl_int *error); |
48 void initGpuBuffer(GpuBufferPtr m); | 50 void initGpuBuffer(GpuBufferPtr m); |
49 void destroyGpuBuffer(GpuBufferPtr m); | 51 void destroyGpuBuffer(GpuBufferPtr m); |