summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/drivers/r300/r300_context.c7
-rw-r--r--src/gallium/drivers/r300/r300_context.h11
-rw-r--r--src/gallium/drivers/r300/r300_surface.h2
-rw-r--r--src/gallium/winsys/drm/amd/amd_context.c6
4 files changed, 14 insertions, 12 deletions
diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c
index 68751dae17f..4050faa74a2 100644
--- a/src/gallium/drivers/r300/r300_context.c
+++ b/src/gallium/drivers/r300/r300_context.c
@@ -41,12 +41,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
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;
diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h
index ae2dab13ffc..83931982006 100644
--- a/src/gallium/drivers/r300/r300_context.h
+++ b/src/gallium/drivers/r300/r300_context.h
@@ -23,9 +23,9 @@
#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 */
@@ -47,4 +47,11 @@ static struct r300_context* r300_context(struct pipe_context* context) {
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
diff --git a/src/gallium/drivers/r300/r300_surface.h b/src/gallium/drivers/r300/r300_surface.h
index 29858eb5417..0b2fd0b32bf 100644
--- a/src/gallium/drivers/r300/r300_surface.h
+++ b/src/gallium/drivers/r300/r300_surface.h
@@ -31,6 +31,4 @@
#include "r300_blit.h"
#include "r300_context.h"
-void r300_init_surface_functions(struct r300_context* r300);
-
#endif /* R300_SURFACE_H */
diff --git a/src/gallium/winsys/drm/amd/amd_context.c b/src/gallium/winsys/drm/amd/amd_context.c
index faca7d0c4b3..5127cdf261a 100644
--- a/src/gallium/winsys/drm/amd/amd_context.c
+++ b/src/gallium/winsys/drm/amd/amd_context.c
@@ -243,8 +243,10 @@ GLboolean amd_context_create(const __GLcontextModes *visual,
}
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);