Clone of mesa.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

pipe_msm.c 923B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include "target-helpers/inline_debug_helper.h"
  2. #include "state_tracker/drm_driver.h"
  3. #include "freedreno/drm/freedreno_drm_public.h"
  4. static struct pipe_screen *
  5. create_screen(int fd, const struct pipe_screen_config *config)
  6. {
  7. struct pipe_screen *screen;
  8. screen = fd_drm_screen_create(fd);
  9. if (!screen)
  10. return NULL;
  11. screen = debug_screen_wrap(screen);
  12. return screen;
  13. }
  14. static const struct drm_conf_ret throttle_ret = {
  15. .type = DRM_CONF_INT,
  16. .val.val_int = 2,
  17. };
  18. static const struct drm_conf_ret share_fd_ret = {
  19. .type = DRM_CONF_BOOL,
  20. .val.val_bool = true,
  21. };
  22. static const struct drm_conf_ret *drm_configuration(enum drm_conf conf)
  23. {
  24. switch (conf) {
  25. case DRM_CONF_THROTTLE:
  26. return &throttle_ret;
  27. case DRM_CONF_SHARE_FD:
  28. return &share_fd_ret;
  29. default:
  30. break;
  31. }
  32. return NULL;
  33. }
  34. PUBLIC
  35. DRM_DRIVER_DESCRIPTOR("msm", create_screen, drm_configuration)