Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.  
  2. #ifndef INLINE_SW_HELPER_H
  3. #define INLINE_SW_HELPER_H
  4.  
  5. #include "pipe/p_compiler.h"
  6. #include "util/u_debug.h"
  7. #include "state_tracker/sw_winsys.h"
  8.  
  9.  
  10. /* Helper function to choose and instantiate one of the software rasterizers:
  11.  * llvmpipe, softpipe.
  12.  */
  13.  
  14. #ifdef GALLIUM_SOFTPIPE
  15. #include "softpipe/sp_public.h"
  16. #endif
  17.  
  18. #ifdef GALLIUM_LLVMPIPE
  19. #include "llvmpipe/lp_public.h"
  20. #endif
  21.  
  22.  
  23. static INLINE struct pipe_screen *
  24. sw_screen_create_named(struct sw_winsys *winsys, const char *driver)
  25. {
  26.    struct pipe_screen *screen = NULL;
  27.  
  28. #if defined(GALLIUM_LLVMPIPE)
  29.    if (screen == NULL && strcmp(driver, "llvmpipe") == 0)
  30.       screen = llvmpipe_create_screen(winsys);
  31. #endif
  32.  
  33. #if defined(GALLIUM_SOFTPIPE)
  34.    if (screen == NULL)
  35.       screen = softpipe_create_screen(winsys);
  36. #endif
  37.  
  38.    return screen;
  39. }
  40.  
  41.  
  42. static INLINE struct pipe_screen *
  43. sw_screen_create(struct sw_winsys *winsys)
  44. {
  45.    const char *default_driver;
  46.    const char *driver;
  47.  
  48. #if defined(GALLIUM_LLVMPIPE)
  49.    default_driver = "llvmpipe";
  50. #elif defined(GALLIUM_SOFTPIPE)
  51.    default_driver = "softpipe";
  52. #else
  53.    default_driver = "";
  54. #endif
  55.  
  56.    driver = "softpipe"; // debug_get_option("GALLIUM_DRIVER", default_driver);
  57.    return sw_screen_create_named(winsys, driver);
  58. }
  59.  
  60.  
  61. #endif
  62.