~ubuntu-branches/ubuntu/precise/mesa/precise-updates

« back to all changes in this revision

Viewing changes to src/gallium/drivers/svga/svga_state.c

  • Committer: Package Import Robot
  • Author(s): Robert Hooker
  • Date: 2012-02-02 12:05:48 UTC
  • mfrom: (1.7.1) (3.3.27 sid)
  • Revision ID: package-import@ubuntu.com-20120202120548-nvkma85jq0h4coix
Tags: 8.0~rc2-0ubuntu4
Drop drisearchdir handling, it is no longer needed with multiarch
and dri-alternates being removed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
119
119
 
120
120
 
121
121
 
122
 
static int update_state( struct svga_context *svga,
123
 
                         const struct svga_tracked_state *atoms[],
124
 
                         unsigned *state )
 
122
static enum pipe_error
 
123
update_state(struct svga_context *svga,
 
124
             const struct svga_tracked_state *atoms[],
 
125
             unsigned *state)
125
126
{
126
127
   boolean debug = TRUE;
127
 
   enum pipe_error ret = 0;
 
128
   enum pipe_error ret = PIPE_OK;
128
129
   unsigned i;
129
130
 
130
131
   ret = svga_hwtnl_flush( svga->hwtnl );
131
 
   if (ret != 0)
 
132
   if (ret != PIPE_OK)
132
133
      return ret;
133
134
 
134
135
   if (debug) {
151
152
            if (0)
152
153
               debug_printf("update: %s\n", atoms[i]->name);
153
154
            ret = atoms[i]->update( svga, *state );
154
 
            if (ret != 0)
 
155
            if (ret != PIPE_OK)
155
156
               return ret;
156
157
         }
157
158
 
174
175
      for (i = 0; atoms[i] != NULL; i++) {       
175
176
         if (check_state(*state, atoms[i]->dirty)) {
176
177
            ret = atoms[i]->update( svga, *state );
177
 
            if (ret != 0)
 
178
            if (ret != PIPE_OK)
178
179
               return ret;
179
180
         }
180
181
      }
181
182
   }
182
183
 
183
 
   return 0;
 
184
   return PIPE_OK;
184
185
}
185
186
 
186
187
 
187
188
 
188
 
int svga_update_state( struct svga_context *svga,
189
 
                       unsigned max_level )
 
189
enum pipe_error
 
190
svga_update_state(struct svga_context *svga, unsigned max_level)
190
191
{
191
192
   struct svga_screen *screen = svga_screen(svga->pipe.screen);
192
 
   int ret = 0;
 
193
   enum pipe_error ret = PIPE_OK;
193
194
   int i;
194
195
 
195
196
   /* Check for updates to bound textures.  This can't be done in an
208
209
         ret = update_state( svga, 
209
210
                             state_levels[i], 
210
211
                             &svga->dirty );
211
 
         if (ret != 0)
 
212
         if (ret != PIPE_OK)
212
213
            return ret;
213
214
 
214
215
         svga->state.dirty[i] = 0;
219
220
      svga->state.dirty[i] |= svga->dirty;
220
221
 
221
222
   svga->dirty = 0;
222
 
   return 0;
 
223
   return PIPE_OK;
223
224
}
224
225
 
225
226
 
228
229
void svga_update_state_retry( struct svga_context *svga,
229
230
                              unsigned max_level )
230
231
{
231
 
   int ret;
 
232
   enum pipe_error ret;
232
233
 
233
234
   ret = svga_update_state( svga, max_level );
234
235
 
237
238
      ret = svga_update_state( svga, max_level );
238
239
   }
239
240
 
240
 
   assert( ret == 0 );
 
241
   assert( ret == PIPE_OK );
241
242
}
242
243
 
243
244
 
261
262
   enum pipe_error ret;
262
263
 
263
264
   ret = SVGA3D_BeginSetRenderState( svga->swc, &rs, COUNT );
264
 
   if (ret)
 
265
   if (ret != PIPE_OK)
265
266
      return ret;
266
267
 
267
268
   /* Always use D3D style coordinate space as this is the only one
273
274
   assert( COUNT == count );
274
275
   SVGA_FIFOCommitAll( svga->swc );
275
276
 
276
 
   return 0;
277
 
 
 
277
   return PIPE_OK;
278
278
}