1 #include "dri_query_renderer.h"
3 #include "util/u_inlines.h"
4 #include "state_tracker/drm_driver.h"
7 #include "dri_screen.h"
8 #include "dri_query_renderer.h"
11 dri2_query_renderer_integer(__DRIscreen
*_screen
, int param
,
14 struct dri_screen
*screen
= dri_screen(_screen
);
17 case __DRI2_RENDERER_VENDOR_ID
:
19 (unsigned int)screen
->base
.screen
->get_param(screen
->base
.screen
,
22 case __DRI2_RENDERER_DEVICE_ID
:
24 (unsigned int)screen
->base
.screen
->get_param(screen
->base
.screen
,
27 case __DRI2_RENDERER_ACCELERATED
:
29 (unsigned int)screen
->base
.screen
->get_param(screen
->base
.screen
,
30 PIPE_CAP_ACCELERATED
);
33 case __DRI2_RENDERER_VIDEO_MEMORY
:
35 (unsigned int)screen
->base
.screen
->get_param(screen
->base
.screen
,
36 PIPE_CAP_VIDEO_MEMORY
);
39 case __DRI2_RENDERER_UNIFIED_MEMORY_ARCHITECTURE
:
41 (unsigned int)screen
->base
.screen
->get_param(screen
->base
.screen
,
46 return driQueryRendererIntegerCommon(_screen
, param
, value
);
51 dri2_query_renderer_string(__DRIscreen
*_screen
, int param
,
54 struct dri_screen
*screen
= dri_screen(_screen
);
57 case __DRI2_RENDERER_VENDOR_ID
:
58 value
[0] = screen
->base
.screen
->get_vendor(screen
->base
.screen
);
60 case __DRI2_RENDERER_DEVICE_ID
:
61 value
[0] = screen
->base
.screen
->get_name(screen
->base
.screen
);
68 const __DRI2rendererQueryExtension dri2RendererQueryExtension
= {
69 .base
= { __DRI2_RENDERER_QUERY
, 1 },
71 .queryInteger
= dri2_query_renderer_integer
,
72 .queryString
= dri2_query_renderer_string