Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. #include "util/u_debug.h"
  2.  
  3. #include "i915_resource.h"
  4. #include "i915_context.h"
  5. #include "i915_screen.h"
  6.  
  7.  
  8. static struct pipe_resource *
  9. i915_resource_create(struct pipe_screen *screen,
  10.                      const struct pipe_resource *template)
  11. {
  12.    if (template->target == PIPE_BUFFER)
  13.       return i915_buffer_create(screen, template);
  14.    else
  15.       return i915_texture_create(screen, template, FALSE);
  16.  
  17. }
  18.  
  19. static struct pipe_resource *
  20. i915_resource_from_handle(struct pipe_screen * screen,
  21.                          const struct pipe_resource *template,
  22.                          struct winsys_handle *whandle)
  23. {
  24.    if (template->target == PIPE_BUFFER)
  25.       return NULL;
  26.    else
  27.       return i915_texture_from_handle(screen, template, whandle);
  28. }
  29.  
  30.  
  31. void
  32. i915_init_resource_functions(struct i915_context *i915 )
  33. {
  34.    i915->base.transfer_map = u_transfer_map_vtbl;
  35.    i915->base.transfer_flush_region = u_transfer_flush_region_vtbl;
  36.    i915->base.transfer_unmap = u_transfer_unmap_vtbl;
  37.    i915->base.transfer_inline_write = u_transfer_inline_write_vtbl;
  38. }
  39.  
  40. void
  41. i915_init_screen_resource_functions(struct i915_screen *is)
  42. {
  43.    is->base.resource_create = i915_resource_create;
  44.    is->base.resource_from_handle = i915_resource_from_handle;
  45.    is->base.resource_get_handle = u_resource_get_handle_vtbl;
  46.    is->base.resource_destroy = u_resource_destroy_vtbl;
  47. }
  48.