2 * Copyright 2009-2014, Haiku, Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
6 * Alexander von Gluck IV, kallisti5@unixzen.com
12 #include "state_tracker/st_api.h"
13 #include "state_tracker/st_manager.h"
14 #include "pipe/p_compiler.h"
15 #include "pipe/p_screen.h"
16 #include "postprocess/filters.h"
17 #include "os/os_thread.h"
19 #include "bitmap_wrapper.h"
27 #define CONTEXT_MAX 32
29 typedef int64 context_id
;
34 struct st_framebuffer_iface
*stfbi
;
35 struct st_visual
* visual
;
41 struct pipe_screen
* screen
;
42 enum pipe_texture_target target
;
43 struct pipe_resource
* textures
[ST_ATTACHMENT_COUNT
];
47 //struct hgl_buffer *next; /**< next in linked list */
55 struct st_manager
* manager
;
56 // State Tracker Manager
57 struct st_context_iface
* st
;
58 // State Tracker Interface Object
59 struct st_visual
* stVisual
;
60 // State Tracker Visual
62 struct pipe_screen
* screen
;
64 //struct pipe_resource* textures[ST_ATTACHMENT_COUNT];
67 struct pp_queue_t
* postProcess
;
68 unsigned int postProcessEnable
[PP_FILTERS
];
70 // Desired viewport size
75 color_space colorSpace
;
79 struct hgl_buffer
* draw
;
80 struct hgl_buffer
* read
;
84 // hgl state_tracker api
85 struct st_api
* hgl_create_st_api(void);
87 // hgl state_tracker framebuffer
88 struct hgl_buffer
* hgl_create_st_framebuffer(struct hgl_context
* context
);
90 // hgl state_tracker manager
91 struct st_manager
* hgl_create_st_manager(struct hgl_context
* screen
);
92 void hgl_destroy_st_manager(struct st_manager
*manager
);
94 // hgl state_tracker visual
95 struct st_visual
* hgl_create_st_visual(ulong options
);
96 void hgl_destroy_st_visual(struct st_visual
* visual
);
103 #endif /* HGL_CONTEXT_H */