Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1.  
  2. #include "i915_sw_winsys.h"
  3. #include "i915_sw_public.h"
  4. #include "util/u_memory.h"
  5.  
  6.  
  7. /*
  8.  * Helper functions
  9.  */
  10.  
  11.  
  12. static void
  13. i915_sw_get_device_id(unsigned int *device_id)
  14. {
  15.    /* just pick a i945 hw id */
  16.    *device_id = 0x27A2;
  17. }
  18.  
  19. static void
  20. i915_sw_destroy(struct i915_winsys *iws)
  21. {
  22.    struct i915_sw_winsys *isws = i915_sw_winsys(iws);
  23.    FREE(isws);
  24. }
  25.  
  26.  
  27. /*
  28.  * Exported functions
  29.  */
  30.  
  31.  
  32. struct i915_winsys *
  33. i915_sw_winsys_create()
  34. {
  35.    struct i915_sw_winsys *isws;
  36.    unsigned int deviceID;
  37.  
  38.    isws = CALLOC_STRUCT(i915_sw_winsys);
  39.    if (!isws)
  40.       return NULL;
  41.  
  42.    i915_sw_get_device_id(&deviceID);
  43.  
  44.    i915_sw_winsys_init_batchbuffer_functions(isws);
  45.    i915_sw_winsys_init_buffer_functions(isws);
  46.    i915_sw_winsys_init_fence_functions(isws);
  47.  
  48.    isws->base.destroy = i915_sw_destroy;
  49.  
  50.    isws->base.pci_id = deviceID;
  51.    isws->max_batch_size = 16 * 4096;
  52.  
  53.    isws->dump_cmd = debug_get_bool_option("I915_DUMP_CMD", FALSE);
  54.  
  55.    return &isws->base;
  56. }
  57.