gallium: squash-merge of gallium screen context
[mesa.git] / src / gallium / drivers / softpipe / sp_screen.c
index bd3532de4f445f1b90ad4581c5a3c11619e5714a..87415f434048e97e673a555b7268b5ec1fbf4f2b 100644 (file)
 
 #include "util/u_memory.h"
 #include "util/u_simple_screen.h"
-#include "pipe/internal/p_winsys_screen.h"
+#include "util/u_simple_screen.h"
 #include "pipe/p_defines.h"
 #include "pipe/p_screen.h"
 
 #include "sp_texture.h"
 #include "sp_winsys.h"
 #include "sp_screen.h"
+#include "sp_context.h"
 
 
 static const char *
@@ -91,6 +92,19 @@ softpipe_get_param(struct pipe_screen *screen, int param)
       return 1;
    case PIPE_CAP_BLEND_EQUATION_SEPARATE:
       return 1;
+   case PIPE_CAP_MAX_CONST_BUFFERS:
+      return PIPE_MAX_CONSTANT_BUFFERS;
+   case PIPE_CAP_MAX_CONST_BUFFER_SIZE:
+      return 4096 * 4 * sizeof(float);
+   case PIPE_CAP_INDEP_BLEND_ENABLE:
+      return 1;
+   case PIPE_CAP_INDEP_BLEND_FUNC:
+      return 1;
+   case PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT:
+   case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT:
+   case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER:
+   case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER:
+      return 1;
    default:
       return 0;
    }
@@ -191,6 +205,7 @@ softpipe_create_screen(struct pipe_winsys *winsys)
    screen->base.get_param = softpipe_get_param;
    screen->base.get_paramf = softpipe_get_paramf;
    screen->base.is_format_supported = softpipe_is_format_supported;
+   screen->base.context_create = softpipe_create_context;
 
    softpipe_init_screen_texture_funcs(&screen->base);
    u_simple_screen_init(&screen->base);