Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. #include "dri_query_renderer.h"
  2.  
  3. #include "util/u_inlines.h"
  4. #include "state_tracker/drm_driver.h"
  5.  
  6. #include "utils.h"
  7. #include "dri_screen.h"
  8. #include "dri_query_renderer.h"
  9.  
  10. static int
  11. dri2_query_renderer_integer(__DRIscreen *_screen, int param,
  12.                             unsigned int *value)
  13. {
  14.    struct dri_screen *screen = dri_screen(_screen);
  15.  
  16.    switch (param) {
  17.    case __DRI2_RENDERER_VENDOR_ID:
  18.       value[0] =
  19.          (unsigned int)screen->base.screen->get_param(screen->base.screen,
  20.                                                       PIPE_CAP_VENDOR_ID);
  21.       return 0;
  22.    case __DRI2_RENDERER_DEVICE_ID:
  23.       value[0] =
  24.          (unsigned int)screen->base.screen->get_param(screen->base.screen,
  25.                                                       PIPE_CAP_DEVICE_ID);
  26.       return 0;
  27.    case __DRI2_RENDERER_ACCELERATED:
  28.       value[0] =
  29.          (unsigned int)screen->base.screen->get_param(screen->base.screen,
  30.                                                       PIPE_CAP_ACCELERATED);
  31.       return 0;
  32.  
  33.    case __DRI2_RENDERER_VIDEO_MEMORY:
  34.       value[0] =
  35.          (unsigned int)screen->base.screen->get_param(screen->base.screen,
  36.                                                       PIPE_CAP_VIDEO_MEMORY);
  37.       return 0;
  38.  
  39.    case __DRI2_RENDERER_UNIFIED_MEMORY_ARCHITECTURE:
  40.       value[0] =
  41.          (unsigned int)screen->base.screen->get_param(screen->base.screen,
  42.                                                       PIPE_CAP_UMA);
  43.       return 0;
  44.  
  45.    default:
  46.       return driQueryRendererIntegerCommon(_screen, param, value);
  47.    }
  48. }
  49.  
  50. static int
  51. dri2_query_renderer_string(__DRIscreen *_screen, int param,
  52.                            const char **value)
  53. {
  54.    struct dri_screen *screen = dri_screen(_screen);
  55.  
  56.    switch (param) {
  57.    case __DRI2_RENDERER_VENDOR_ID:
  58.       value[0] = screen->base.screen->get_vendor(screen->base.screen);
  59.       return 0;
  60.    case __DRI2_RENDERER_DEVICE_ID:
  61.       value[0] = screen->base.screen->get_name(screen->base.screen);
  62.       return 0;
  63.    default:
  64.       return -1;
  65.    }
  66. }
  67.  
  68. const __DRI2rendererQueryExtension dri2RendererQueryExtension = {
  69.     .base = { __DRI2_RENDERER_QUERY, 1 },
  70.  
  71.     .queryInteger         = dri2_query_renderer_integer,
  72.     .queryString          = dri2_query_renderer_string
  73. };
  74.