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
11 #include "util/u_thread.h"
12 #include "util/format/u_formats.h"
13 #include "pipe/p_compiler.h"
14 #include "pipe/p_screen.h"
15 #include "postprocess/filters.h"
17 #include "frontend/api.h"
19 #include "bitmap_wrapper.h"
27 #define CONTEXT_MAX 32
29 typedef int64 context_id;
34 struct pipe_frontend_drawable *drawable;
35 struct st_visual* visual;
41 struct pipe_screen* screen;
44 enum pipe_texture_target target;
45 struct pipe_resource* textures[ST_ATTACHMENT_COUNT];
55 struct pipe_frontend_screen *fscreen;
61 struct hgl_display* display;
62 struct st_context* st;
63 struct st_visual* stVisual;
66 struct pp_queue_t* postProcess;
67 unsigned int postProcessEnable[PP_FILTERS];
69 // Desired viewport size
75 struct hgl_buffer* buffer;
78 // hgl_buffer from statetracker interface
79 struct hgl_buffer* hgl_st_framebuffer(struct pipe_frontend_drawable *drawable);
82 struct hgl_buffer* hgl_create_st_framebuffer(struct hgl_context* context, void *winsysContext);
83 void hgl_destroy_st_framebuffer(struct hgl_buffer *buffer);
86 struct pipe_frontend_screen* hgl_create_st_manager(struct hgl_context* screen);
87 void hgl_destroy_st_manager(struct pipe_frontend_screen *fscreen);
90 struct st_visual* hgl_create_st_visual(ulong options);
91 void hgl_destroy_st_visual(struct st_visual* visual);
94 struct hgl_display* hgl_create_display(struct pipe_screen* screen);
95 void hgl_destroy_display(struct hgl_display *display);
102 #endif /* HGL_CONTEXT_H */