aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/wgl/shared/stw_framebuffer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/state_trackers/wgl/shared/stw_framebuffer.h')
-rw-r--r--src/gallium/state_trackers/wgl/shared/stw_framebuffer.h36
1 files changed, 23 insertions, 13 deletions
diff --git a/src/gallium/state_trackers/wgl/shared/stw_framebuffer.h b/src/gallium/state_trackers/wgl/shared/stw_framebuffer.h
index 5abdf189970..f5b48db048c 100644
--- a/src/gallium/state_trackers/wgl/shared/stw_framebuffer.h
+++ b/src/gallium/state_trackers/wgl/shared/stw_framebuffer.h
@@ -28,39 +28,49 @@
#ifndef STW_FRAMEBUFFER_H
#define STW_FRAMEBUFFER_H
+#include <windows.h>
+
#include "main/mtypes.h"
-/* Windows framebuffer, derived from gl_framebuffer.
+#include "pipe/p_thread.h"
+
+struct stw_pixelformat_info;
+
+/**
+ * Windows framebuffer, derived from gl_framebuffer.
*/
struct stw_framebuffer
{
- struct st_framebuffer *stfb;
HDC hDC;
- BYTE cColorBits;
HWND hWnd;
- WNDPROC WndProc;
+
+ pipe_mutex mutex;
+ struct st_framebuffer *stfb;
+
+ /** This is protected by stw_device::mutex, not the mutex above */
struct stw_framebuffer *next;
};
struct stw_framebuffer *
-framebuffer_create(
+stw_framebuffer_create(
HDC hdc,
GLvisual *visual,
+ const struct stw_pixelformat_info *pfi,
GLuint width,
GLuint height );
void
-framebuffer_destroy(
+stw_framebuffer_destroy(
struct stw_framebuffer *fb );
-void
-framebuffer_resize(
- struct stw_framebuffer *fb,
- GLuint width,
- GLuint height );
-
struct stw_framebuffer *
-framebuffer_from_hdc(
+stw_framebuffer_from_hdc(
HDC hdc );
+boolean
+stw_framebuffer_init_thread(void);
+
+void
+stw_framebuffer_cleanup_thread(void);
+
#endif /* STW_FRAMEBUFFER_H */