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

« back to all changes in this revision

Viewing changes to src/gallium/drivers/llvmpipe/lp_state_blend.c

  • 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:
40
40
#include "lp_state.h"
41
41
 
42
42
 
43
 
void *
 
43
static void *
44
44
llvmpipe_create_blend_state(struct pipe_context *pipe,
45
45
                            const struct pipe_blend_state *blend)
46
46
{
47
47
   return mem_dup(blend, sizeof(*blend));
48
48
}
49
49
 
50
 
void llvmpipe_bind_blend_state( struct pipe_context *pipe,
51
 
                                void *blend )
 
50
 
 
51
static void
 
52
llvmpipe_bind_blend_state(struct pipe_context *pipe, void *blend)
52
53
{
53
54
   struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
54
55
 
62
63
   llvmpipe->dirty |= LP_NEW_BLEND;
63
64
}
64
65
 
65
 
void llvmpipe_delete_blend_state(struct pipe_context *pipe,
66
 
                                 void *blend)
 
66
 
 
67
static void
 
68
llvmpipe_delete_blend_state(struct pipe_context *pipe, void *blend)
67
69
{
68
70
   FREE( blend );
69
71
}
70
72
 
71
73
 
72
 
void llvmpipe_set_blend_color( struct pipe_context *pipe,
73
 
                             const struct pipe_blend_color *blend_color )
 
74
static void
 
75
llvmpipe_set_blend_color(struct pipe_context *pipe,
 
76
                         const struct pipe_blend_color *blend_color)
74
77
{
75
78
   struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
76
79
 
93
96
 */
94
97
 
95
98
 
96
 
void *
 
99
static void *
97
100
llvmpipe_create_depth_stencil_state(struct pipe_context *pipe,
98
101
                                    const struct pipe_depth_stencil_alpha_state *depth_stencil)
99
102
{
100
103
   return mem_dup(depth_stencil, sizeof(*depth_stencil));
101
104
}
102
105
 
103
 
void
 
106
 
 
107
static void
104
108
llvmpipe_bind_depth_stencil_state(struct pipe_context *pipe,
105
109
                                  void *depth_stencil)
106
110
{
116
120
   llvmpipe->dirty |= LP_NEW_DEPTH_STENCIL_ALPHA;
117
121
}
118
122
 
119
 
void
 
123
 
 
124
static void
120
125
llvmpipe_delete_depth_stencil_state(struct pipe_context *pipe, void *depth)
121
126
{
122
127
   FREE( depth );
123
128
}
124
129
 
125
 
void llvmpipe_set_stencil_ref( struct pipe_context *pipe,
126
 
                               const struct pipe_stencil_ref *stencil_ref )
 
130
 
 
131
static void
 
132
llvmpipe_set_stencil_ref(struct pipe_context *pipe,
 
133
                         const struct pipe_stencil_ref *stencil_ref)
127
134
{
128
135
   struct llvmpipe_context *llvmpipe = llvmpipe_context(pipe);
129
136
 
141
148
   llvmpipe->dirty |= LP_NEW_DEPTH_STENCIL_ALPHA;
142
149
}
143
150
 
144
 
 
 
151
static void
 
152
llvmpipe_set_sample_mask(struct pipe_context *pipe,
 
153
                         unsigned sample_mask)
 
154
{
 
155
}
 
156
 
 
157
void
 
158
llvmpipe_init_blend_funcs(struct llvmpipe_context *llvmpipe)
 
159
{
 
160
   llvmpipe->pipe.create_blend_state = llvmpipe_create_blend_state;
 
161
   llvmpipe->pipe.bind_blend_state   = llvmpipe_bind_blend_state;
 
162
   llvmpipe->pipe.delete_blend_state = llvmpipe_delete_blend_state;
 
163
 
 
164
   llvmpipe->pipe.create_depth_stencil_alpha_state = llvmpipe_create_depth_stencil_state;
 
165
   llvmpipe->pipe.bind_depth_stencil_alpha_state   = llvmpipe_bind_depth_stencil_state;
 
166
   llvmpipe->pipe.delete_depth_stencil_alpha_state = llvmpipe_delete_depth_stencil_state;
 
167
 
 
168
   llvmpipe->pipe.set_blend_color = llvmpipe_set_blend_color;
 
169
 
 
170
   llvmpipe->pipe.set_stencil_ref = llvmpipe_set_stencil_ref;
 
171
   llvmpipe->pipe.set_sample_mask = llvmpipe_set_sample_mask;
 
172
}