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
15 #include "state_tracker/st_api.h"
16 #include "state_tracker/st_manager.h"
17 #include "pipe/p_compiler.h"
18 #include "pipe/p_screen.h"
19 #include "postprocess/filters.h"
20 #include "os/os_thread.h"
22 #include "bitmap_wrapper.h"
28 #define CONTEXT_MAX 32
30 typedef int64 context_id
;
35 struct st_framebuffer_iface
*stfbi
;
36 struct st_visual
* visual
;
42 struct pipe_screen
* screen
;
43 enum pipe_texture_target target
;
44 struct pipe_resource
* textures
[ST_ATTACHMENT_COUNT
];
48 //struct hgl_buffer *next; /**< next in linked list */
56 struct st_manager
* manager
;
57 // State Tracker Manager
58 struct st_context_iface
* st
;
59 // State Tracker Interface Object
60 struct st_visual
* stVisual
;
61 // State Tracker Visual
63 struct pipe_screen
* screen
;
65 //struct pipe_resource* textures[ST_ATTACHMENT_COUNT];
68 struct pp_queue_t
* postProcess
;
69 unsigned int postProcessEnable
[PP_FILTERS
];
71 // Desired viewport size
76 color_space colorSpace
;
80 struct hgl_buffer
* draw
;
81 struct hgl_buffer
* read
;
85 // hgl state_tracker framebuffer
86 struct hgl_buffer
* hgl_create_st_framebuffer(struct hgl_context
* context
);
88 // hgl state_tracker manager
89 struct st_manager
* hgl_create_st_manager(struct hgl_context
* screen
);
90 void hgl_destroy_st_manager(struct st_manager
*manager
);
92 // hgl state_tracker visual
93 struct st_visual
* hgl_create_st_visual(ulong options
);
94 void hgl_destroy_st_visual(struct st_visual
* visual
);
97 #endif /* HGL_CONTEXT_H */