r300->winsys = amd_winsys;
r300->context.winsys = winsys;
- if (screen) {
- r300->context.screen = screen;
- } else {
- /* XXX second arg should be pciid, find a way to get it from winsys */
- r300->context.screen = r300_create_screen(winsys, 0x0);
- }
+ r300->context.screen = screen;
r300->context.destroy = r300_destroy_context;
#ifndef R300_CONTEXT_H
#define R300_CONTEXT_H
+#include "draw/draw_context.h"
#include "pipe/p_context.h"
-
-#include "r300_surface.h"
+#include "util/u_memory.h"
struct r300_context {
/* Parent class */
return (struct r300_context*)context;
}
+/* Context initialization. */
+void r300_init_surface_functions(struct r300_context* r300);
+
+struct pipe_context* r300_create_context(struct pipe_screen* screen,
+ struct pipe_winsys* winsys,
+ struct amd_winsys* amd_winsys);
+
#endif /* R300_CONTEXT_H */
\ No newline at end of file
#include "r300_blit.h"
#include "r300_context.h"
-void r300_init_surface_functions(struct r300_context* r300);
-
#endif /* R300_SURFACE_H */
}
if (GL_TRUE) {
- /* XXX "NULL" is a struct pipe_screen* just in case we ever need it... */
- pipe = r300_create_context(NULL, amd_context->pipe_winsys,
+ amd_context->pipe_screen = r300_create_screen(amd_context->pipe_winsys,
+ 0x0);
+ pipe = r300_create_context(amd_context->pipe_screen,
+ amd_context->pipe_winsys,
(struct amd_pipe_winsys*)amd_context->pipe_winsys);
} else {
pipe = amd_create_softpipe(amd_context);