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

« back to all changes in this revision

Viewing changes to src/gallium/drivers/failover/fo_context.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:
47
47
#define FO_NEW_ALPHA_TEST      0x100
48
48
#define FO_NEW_DEPTH_STENCIL   0x200
49
49
#define FO_NEW_SAMPLER         0x400
50
 
#define FO_NEW_TEXTURE         0x800
 
50
#define FO_NEW_SAMPLER_VIEW    0x800
51
51
#define FO_NEW_VERTEX          0x2000
52
52
#define FO_NEW_VERTEX_SHADER   0x4000
53
53
#define FO_NEW_BLEND_COLOR     0x8000
55
55
#define FO_NEW_CLEAR_COLOR     0x20000
56
56
#define FO_NEW_VERTEX_BUFFER   0x40000
57
57
#define FO_NEW_VERTEX_ELEMENT  0x80000
 
58
#define FO_NEW_SAMPLE_MASK     0x100000
 
59
#define FO_NEW_INDEX_BUFFER    0x200000
58
60
 
59
61
 
60
62
 
65
67
   void *sw_state;
66
68
   void *hw_state;
67
69
};
 
70
 
 
71
struct fo_sampler_view {
 
72
   struct pipe_sampler_view base;
 
73
   struct pipe_sampler_view *sw;
 
74
   struct pipe_sampler_view *hw;
 
75
};
 
76
 
68
77
struct failover_context {
69
78
   struct pipe_context pipe;  /**< base class */
70
79
 
78
87
   const struct fo_state     *rasterizer;
79
88
   const struct fo_state     *fragment_shader;
80
89
   const struct fo_state     *vertex_shader;
 
90
   const struct fo_state     *vertex_elements;
81
91
 
82
92
   struct pipe_blend_color blend_color;
83
93
   struct pipe_stencil_ref stencil_ref;
84
94
   struct pipe_clip_state clip;
 
95
   unsigned sample_mask;
85
96
   struct pipe_framebuffer_state framebuffer;
86
97
   struct pipe_poly_stipple poly_stipple;
87
98
   struct pipe_scissor_state scissor;
88
 
   struct pipe_texture *texture[PIPE_MAX_SAMPLERS];
89
 
   struct pipe_texture *vertex_textures[PIPE_MAX_VERTEX_SAMPLERS];
90
99
   struct pipe_viewport_state viewport;
91
100
   struct pipe_vertex_buffer vertex_buffers[PIPE_MAX_ATTRIBS];
92
 
   struct pipe_vertex_element vertex_elements[PIPE_MAX_ATTRIBS];
 
101
   struct pipe_index_buffer index_buffer;
93
102
 
94
103
   uint num_vertex_buffers;
95
 
   uint num_vertex_elements;
96
104
 
97
105
   void *sw_sampler_state[PIPE_MAX_SAMPLERS];
98
106
   void *hw_sampler_state[PIPE_MAX_SAMPLERS];
99
107
   void *sw_vertex_sampler_state[PIPE_MAX_VERTEX_SAMPLERS];
100
108
   void *hw_vertex_sampler_state[PIPE_MAX_VERTEX_SAMPLERS];
101
109
 
 
110
   struct fo_sampler_view *fragment_sampler_views[PIPE_MAX_SAMPLERS];
 
111
   struct fo_sampler_view *vertex_sampler_views[PIPE_MAX_VERTEX_SAMPLERS];
 
112
   unsigned num_fragment_sampler_views;
 
113
   unsigned num_vertex_sampler_views;
 
114
 
102
115
   unsigned dirty;
103
116
 
104
117
   unsigned num_samplers;
105
118
   unsigned num_vertex_samplers;
106
 
   unsigned num_textures;
107
 
   unsigned num_vertex_textures;
108
119
 
109
120
   unsigned mode;
110
121
   struct pipe_context *hw;
127
138
void
128
139
failover_set_constant_buffer(struct pipe_context *pipe,
129
140
                             uint shader, uint index,
130
 
                             struct pipe_buffer *buf);
 
141
                             struct pipe_resource *resource);
131
142
 
132
143
 
133
144
#endif /* FO_CONTEXT_H */