~ubuntu-branches/ubuntu/natty/mesa/natty-proposed

« back to all changes in this revision

Viewing changes to src/gallium/include/state_tracker/swrast_screen_create.h

  • Committer: Bazaar Package Importer
  • Author(s): Robert Hooker, Robert Hooker, Christopher James Halse Rogers
  • Date: 2010-09-14 08:55:40 UTC
  • mfrom: (1.2.28 upstream)
  • Revision ID: james.westby@ubuntu.com-20100914085540-m4fpl0hdjlfd4jgz
Tags: 7.9~git20100909-0ubuntu1
[ Robert Hooker ]
* New upstream git snapshot up to commit 94118fe2d4b1e5 (LP: #631413)
* New features include ATI HD5xxx series support in r600, and a vastly
  improved glsl compiler.
* Remove pre-generated .pc's, use the ones generated at build time
  instead.
* Remove all references to mesa-utils now that its no longer shipped
  with the mesa source.
* Disable the experimental ARB_fragment_shader option by default on
  i915, it exposes incomplete functionality that breaks KDE compositing
  among other things. It can be enabled via driconf still. (LP: #628930).

[ Christopher James Halse Rogers ]
* debian/patches/04_osmesa_version.diff:
  - Refresh for new upstream
* Bugs fixed in this release:
  - Fixes severe rendering corruption in Unity on radeon (LP: #628727,
    LP: #596292, LP: #599741, LP: #630315, LP: #613694, LP: #599741).
  - Also fixes rendering in gnome-shell (LP: #578619).
  - Flickering in OpenGL apps on radeon (LP: #626943, LP: #610541).
  - Provides preliminary support for new intel chips (LP: #601052).
* debian/rules:
  - Update configure flags to match upstream reshuffling.
  - Explicitly remove gallium DRI drivers that we don't want to ship.
* Update debian/gbp.conf for this Maverick-specific packaging
* libegl1-mesa-dri-x11,kms: There are no longer separate kms or x11 drivers
  for EGL, libegl1-mesa-drivers now contains a single driver that provides
  both backends.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "pipe/p_compiler.h"
 
2
#include "util/u_debug.h"
 
3
#include "target-helpers/wrap_screen.h"
 
4
 
 
5
struct sw_winsys;
 
6
 
 
7
#ifdef GALLIUM_SOFTPIPE
 
8
#include "softpipe/sp_public.h"
 
9
#endif
 
10
 
 
11
#ifdef GALLIUM_LLVMPIPE
 
12
#include "llvmpipe/lp_public.h"
 
13
#endif
 
14
 
 
15
#ifdef GALLIUM_CELL
 
16
#include "cell/ppu/cell_public.h"
 
17
#endif
 
18
 
 
19
/*
 
20
 * Helper function to choose and instantiate one of the software rasterizers:
 
21
 * cell, llvmpipe, softpipe.
 
22
 *
 
23
 * This function could be shared, but currently causes headaches for
 
24
 * the build systems, particularly scons if we try.  Long term, want
 
25
 * to avoid having global #defines for things like GALLIUM_LLVMPIPE,
 
26
 * GALLIUM_CELL, etc.  Scons already eliminates those #defines, so
 
27
 * things that are painful for it now are likely to be painful for
 
28
 * other build systems in the future.
 
29
 */
 
30
 
 
31
static INLINE struct pipe_screen *
 
32
swrast_screen_create(struct sw_winsys *winsys)
 
33
{
 
34
   const char *default_driver;
 
35
   const char *driver;
 
36
   struct pipe_screen *screen = NULL;
 
37
 
 
38
#if defined(GALLIUM_CELL)
 
39
   default_driver = "cell";
 
40
#elif defined(GALLIUM_LLVMPIPE)
 
41
   default_driver = "llvmpipe";
 
42
#elif defined(GALLIUM_SOFTPIPE)
 
43
   default_driver = "softpipe";
 
44
#else
 
45
   default_driver = "";
 
46
#endif
 
47
 
 
48
   driver = debug_get_option("GALLIUM_DRIVER", default_driver);
 
49
 
 
50
#if defined(GALLIUM_CELL)
 
51
   if (screen == NULL && strcmp(driver, "cell") == 0)
 
52
      screen = cell_create_screen( winsys );
 
53
#endif
 
54
 
 
55
#if defined(GALLIUM_LLVMPIPE)
 
56
   if (screen == NULL && strcmp(driver, "llvmpipe") == 0)
 
57
      screen = llvmpipe_create_screen( winsys );
 
58
#endif
 
59
 
 
60
#if defined(GALLIUM_SOFTPIPE)
 
61
   if (screen == NULL)
 
62
      screen = softpipe_create_screen( winsys );
 
63
#endif
 
64
 
 
65
   return gallium_wrap_screen( screen );
 
66
}
 
67