r300g: fix warnings
[mesa.git] / src / gallium / drivers / i915 / i915_screen.c
index 0897a863dbd2ba01597b03b139006d5223853cc5..77345d5f7117fe3d369984245188bdd71aab3767 100644 (file)
 #include "util/u_string.h"
 
 #include "i915_reg.h"
+#include "i915_debug.h"
 #include "i915_context.h"
 #include "i915_screen.h"
 #include "i915_surface.h"
 #include "i915_resource.h"
 #include "i915_winsys.h"
+#include "i915_public.h"
 
 
 /*
@@ -55,7 +57,7 @@ i915_get_name(struct pipe_screen *screen)
    static char buffer[128];
    const char *chipset;
 
-   switch (i915_screen(screen)->pci_id) {
+   switch (i915_screen(screen)->iws->pci_id) {
    case PCI_CHIP_I915_G:
       chipset = "915G";
       break;
@@ -129,6 +131,9 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_TGSI_FS_COORD_ORIGIN_LOWER_LEFT:
    case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER:
       return 0;
+   case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE:
+      /* disable for now */
+      return 0;
    default:
       return 0;
    }
@@ -181,6 +186,9 @@ i915_is_format_supported(struct pipe_screen *screen,
       PIPE_FORMAT_L8A8_UNORM,
       PIPE_FORMAT_UYVY,
       PIPE_FORMAT_YUYV,
+      /* XXX why not?
+      PIPE_FORMAT_Z16_UNORM, */
+      PIPE_FORMAT_Z24X8_UNORM,
       PIPE_FORMAT_Z24_UNORM_S8_USCALED,
       PIPE_FORMAT_NONE  /* list terminator */
    };
@@ -190,6 +198,9 @@ i915_is_format_supported(struct pipe_screen *screen,
       PIPE_FORMAT_NONE  /* list terminator */
    };
    static const enum pipe_format depth_supported[] = {
+      /* XXX why not?
+      PIPE_FORMAT_Z16_UNORM, */
+      PIPE_FORMAT_Z24X8_UNORM,
       PIPE_FORMAT_Z24_UNORM_S8_USCALED,
       PIPE_FORMAT_NONE  /* list terminator */
    };
@@ -271,14 +282,14 @@ i915_destroy_screen(struct pipe_screen *screen)
  * Create a new i915_screen object
  */
 struct pipe_screen *
-i915_create_screen(struct i915_winsys *iws, uint pci_id)
+i915_screen_create(struct i915_winsys *iws)
 {
    struct i915_screen *is = CALLOC_STRUCT(i915_screen);
 
    if (!is)
       return NULL;
 
-   switch (pci_id) {
+   switch (iws->pci_id) {
    case PCI_CHIP_I915_G:
    case PCI_CHIP_I915_GM:
       is->is_i945 = FALSE;
@@ -295,12 +306,11 @@ i915_create_screen(struct i915_winsys *iws, uint pci_id)
 
    default:
       debug_printf("%s: unknown pci id 0x%x, cannot create screen\n", 
-                   __FUNCTION__, pci_id);
+                   __FUNCTION__, iws->pci_id);
       FREE(is);
       return NULL;
    }
 
-   is->pci_id = pci_id;
    is->iws = iws;
 
    is->base.winsys = NULL;
@@ -322,5 +332,7 @@ i915_create_screen(struct i915_winsys *iws, uint pci_id)
    i915_init_screen_resource_functions(is);
    i915_init_screen_surface_functions(is);
 
+   i915_debug_init(is);
+
    return &is->base;
 }