i965: Move device info initialization to common code
[mesa.git] / src / mesa / drivers / dri / r200 / r200_ioctl.c
index e548fac32837eee4b52d6bcde6aa8000771602b3..90232d45e9eb338244375e047362ce0e0829c0aa 100644 (file)
@@ -29,7 +29,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 /*
  * Authors:
- *   Keith Whitwell <keith@tungstengraphics.com>
+ *   Keith Whitwell <keithw@vmware.com>
  */
 
 #include <sched.h>
@@ -56,77 +56,28 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 static void r200Clear( struct gl_context *ctx, GLbitfield mask )
 {
-   r200ContextPtr rmesa = R200_CONTEXT(ctx);
-   GLuint flags = 0;
-   GLuint orig_mask = mask;
-
-   if ( R200_DEBUG & RADEON_IOCTL ) {
-          if (rmesa->radeon.sarea)
-              fprintf( stderr, "r200Clear %x %d\n", mask, rmesa->radeon.sarea->pfCurrentPage);
-          else
-              fprintf( stderr, "r200Clear %x radeon->sarea is NULL\n", mask);
-   }
+   GLuint hwmask, swmask;
+   GLuint hwbits = BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT |
+                   BUFFER_BIT_DEPTH | BUFFER_BIT_STENCIL |
+                   BUFFER_BIT_COLOR0;
 
    radeonFlush( ctx );
 
-   if ( mask & BUFFER_BIT_FRONT_LEFT ) {
-      flags |= RADEON_FRONT;
-      mask &= ~BUFFER_BIT_FRONT_LEFT;
-   }
-
-   if ( mask & BUFFER_BIT_BACK_LEFT ) {
-      flags |= RADEON_BACK;
-      mask &= ~BUFFER_BIT_BACK_LEFT;
-   }
-
-   if ( mask & BUFFER_BIT_DEPTH ) {
-      flags |= RADEON_DEPTH;
-      mask &= ~BUFFER_BIT_DEPTH;
-   }
-
-   if ( (mask & BUFFER_BIT_STENCIL) ) {
-      flags |= RADEON_STENCIL;
-      mask &= ~BUFFER_BIT_STENCIL;
-   }
+   hwmask = mask & hwbits;
+   swmask = mask & ~hwbits;
 
-   if ( mask ) {
+   if ( swmask ) {
       if (R200_DEBUG & RADEON_FALLBACKS)
-        fprintf(stderr, "%s: swrast clear, mask: %x\n", __FUNCTION__, mask);
-      _swrast_Clear( ctx, mask );
+        fprintf(stderr, "%s: swrast clear, mask: %x\n", __func__, swmask);
+      _swrast_Clear( ctx, swmask );
    }
 
-   if ( !flags )
+   if ( !hwmask )
       return;
 
-   radeonUserClear(ctx, orig_mask);
+   radeonUserClear(ctx, hwmask);
 }
 
-GLboolean r200IsGartMemory( r200ContextPtr rmesa, const GLvoid *pointer,
-                          GLint size )
-{
-   ptrdiff_t offset = (char *)pointer - (char *)rmesa->radeon.radeonScreen->gartTextures.map;
-   int valid = (size >= 0 &&
-               offset >= 0 &&
-               offset + size < rmesa->radeon.radeonScreen->gartTextures.size);
-
-   if (R200_DEBUG & RADEON_IOCTL)
-      fprintf(stderr, "r200IsGartMemory( %p ) : %d\n", pointer, valid );
-
-   return valid;
-}
-
-
-GLuint r200GartOffsetFromVirtual( r200ContextPtr rmesa, const GLvoid *pointer )
-{
-   ptrdiff_t offset = (char *)pointer - (char *)rmesa->radeon.radeonScreen->gartTextures.map;
-
-   if (offset < 0 || offset > rmesa->radeon.radeonScreen->gartTextures.size)
-      return ~0;
-   else
-      return rmesa->radeon.radeonScreen->gart_texture_offset + offset;
-}
-
-
 
 void r200InitIoctlFuncs( struct dd_function_table *functions )
 {