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

« back to all changes in this revision

Viewing changes to src/mesa/drivers/dri/r200/r200_cmdbuf.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:
145
145
                          R200_VF_COLOR_ORDER_RGBA | 
146
146
                          ((vertex_count + 0) << 16) |
147
147
                          type);
148
 
                
149
 
                if (!rmesa->radeon.radeonScreen->kernel_mm) {
150
 
                        OUT_BATCH_PACKET3(R200_CP_CMD_INDX_BUFFER, 2);
151
 
                        OUT_BATCH((0x80 << 24) | (0 << 16) | 0x810);
152
 
                        OUT_BATCH_RELOC(rmesa->radeon.tcl.elt_dma_offset,
153
 
                                        rmesa->radeon.tcl.elt_dma_bo,
154
 
                                        rmesa->radeon.tcl.elt_dma_offset,
155
 
                                        RADEON_GEM_DOMAIN_GTT, 0, 0);
156
 
                        OUT_BATCH((vertex_count + 1)/2);
157
 
                } else {
158
 
                        OUT_BATCH_PACKET3(R200_CP_CMD_INDX_BUFFER, 2);
159
 
                        OUT_BATCH((0x80 << 24) | (0 << 16) | 0x810);
160
 
                        OUT_BATCH(rmesa->radeon.tcl.elt_dma_offset);
161
 
                        OUT_BATCH((vertex_count + 1)/2);
162
 
                        radeon_cs_write_reloc(rmesa->radeon.cmdbuf.cs,
163
 
                                              rmesa->radeon.tcl.elt_dma_bo,
164
 
                                              RADEON_GEM_DOMAIN_GTT, 0, 0);
165
 
                }
 
148
 
 
149
                OUT_BATCH_PACKET3(R200_CP_CMD_INDX_BUFFER, 2);
 
150
                OUT_BATCH((0x80 << 24) | (0 << 16) | 0x810);
 
151
                OUT_BATCH(rmesa->radeon.tcl.elt_dma_offset);
 
152
                OUT_BATCH((vertex_count + 1)/2);
 
153
                radeon_cs_write_reloc(rmesa->radeon.cmdbuf.cs,
 
154
                                      rmesa->radeon.tcl.elt_dma_bo,
 
155
                                      RADEON_GEM_DOMAIN_GTT, 0, 0);
166
156
                END_BATCH();
167
157
        }
168
158
}
188
178
 
189
179
   if (R200_ELT_BUF_SZ > elt_used)
190
180
     radeonReturnDmaRegion(&rmesa->radeon, R200_ELT_BUF_SZ - elt_used);
191
 
 
192
 
   if (radeon_is_debug_enabled(RADEON_SYNC, RADEON_CRITICAL)
193
 
         && !rmesa->radeon.radeonScreen->kernel_mm) {
194
 
      radeon_print(RADEON_SYNC, RADEON_NORMAL, "%s: Syncing\n", __FUNCTION__);
195
 
      radeonFinish( rmesa->radeon.glCtx );
196
 
   }
197
181
}
198
182
 
199
183
 
227
211
{
228
212
   BATCH_LOCALS(&rmesa->radeon);
229
213
 
230
 
   if (rmesa->radeon.radeonScreen->kernel_mm) {
231
 
           BEGIN_BATCH_NO_AUTOSTATE(2);
232
 
           OUT_BATCH(CP_PACKET0(R200_SE_VF_MAX_VTX_INDX, 0));
233
 
           OUT_BATCH(count);
234
 
           END_BATCH();
235
 
   }
 
214
   BEGIN_BATCH_NO_AUTOSTATE(2);
 
215
   OUT_BATCH(CP_PACKET0(R200_SE_VF_MAX_VTX_INDX, 0));
 
216
   OUT_BATCH(count);
 
217
   END_BATCH();
236
218
}
237
219
 
238
220
void r200EmitVertexAOS( r200ContextPtr rmesa,
269
251
   OUT_BATCH_PACKET3(R200_CP_CMD_3D_LOAD_VBPNTR, sz - 1);
270
252
   OUT_BATCH(nr);
271
253
 
272
 
    
273
 
   if (!rmesa->radeon.radeonScreen->kernel_mm) {
274
 
      for (i = 0; i + 1 < nr; i += 2) {
275
 
         OUT_BATCH((rmesa->radeon.tcl.aos[i].components << 0) |
276
 
                   (rmesa->radeon.tcl.aos[i].stride << 8) |
277
 
                   (rmesa->radeon.tcl.aos[i + 1].components << 16) |
278
 
                   (rmesa->radeon.tcl.aos[i + 1].stride << 24));
279
 
                        
280
 
         voffset =  rmesa->radeon.tcl.aos[i + 0].offset +
281
 
            offset * 4 * rmesa->radeon.tcl.aos[i + 0].stride;
282
 
         OUT_BATCH_RELOC(voffset,
283
 
                         rmesa->radeon.tcl.aos[i].bo,
284
 
                         voffset,
285
 
                         RADEON_GEM_DOMAIN_GTT,
286
 
                         0, 0);
287
 
         voffset =  rmesa->radeon.tcl.aos[i + 1].offset +
288
 
            offset * 4 * rmesa->radeon.tcl.aos[i + 1].stride;
289
 
         OUT_BATCH_RELOC(voffset,
290
 
                         rmesa->radeon.tcl.aos[i+1].bo,
291
 
                         voffset,
292
 
                         RADEON_GEM_DOMAIN_GTT,
293
 
                         0, 0);
294
 
      }
295
 
      
296
 
      if (nr & 1) {
297
 
         OUT_BATCH((rmesa->radeon.tcl.aos[nr - 1].components << 0) |
298
 
                   (rmesa->radeon.tcl.aos[nr - 1].stride << 8));
299
 
         voffset =  rmesa->radeon.tcl.aos[nr - 1].offset +
300
 
            offset * 4 * rmesa->radeon.tcl.aos[nr - 1].stride;
301
 
         OUT_BATCH_RELOC(voffset,
302
 
                         rmesa->radeon.tcl.aos[nr - 1].bo,
303
 
                         voffset,
304
 
                         RADEON_GEM_DOMAIN_GTT,
305
 
                         0, 0);
306
 
      }
307
 
   } else {
 
254
   {
308
255
      for (i = 0; i + 1 < nr; i += 2) {
309
256
         OUT_BATCH((rmesa->radeon.tcl.aos[i].components << 0) |
310
257
                   (rmesa->radeon.tcl.aos[i].stride << 8) |