intel: remove most of the span Get/PutRow code
authorBrian Paul <brianp@vmware.com>
Mon, 16 Jan 2012 18:29:35 +0000 (11:29 -0700)
committerBrian Paul <brianp@vmware.com>
Tue, 24 Jan 2012 21:12:21 +0000 (14:12 -0700)
src/mesa/drivers/dri/intel/intel_fbo.c
src/mesa/drivers/dri/intel/intel_span.c

index 45a6827..d3c2924 100644 (file)
@@ -194,19 +194,6 @@ intel_unmap_renderbuffer(struct gl_context *ctx,
    intel_miptree_unmap(intel, irb->mt, irb->mt_level, irb->mt_layer);
 }
 
-/**
- * Return a pointer to a specific pixel in a renderbuffer.
- */
-static void *
-intel_get_pointer(struct gl_context * ctx, struct gl_renderbuffer *rb,
-                  GLint x, GLint y)
-{
-   /* By returning NULL we force all software rendering to go through
-    * the span routines.
-    */
-   return NULL;
-}
-
 
 /**
  * Called via glRenderbufferStorageEXT() to set the format and allocate
@@ -403,7 +390,6 @@ intel_create_renderbuffer(gl_format format)
    /* intel-specific methods */
    irb->Base.Delete = intel_delete_renderbuffer;
    irb->Base.AllocStorage = intel_alloc_window_storage;
-   irb->Base.GetPointer = intel_get_pointer;
 
    return irb;
 }
@@ -430,7 +416,6 @@ intel_new_renderbuffer(struct gl_context * ctx, GLuint name)
    /* intel-specific methods */
    irb->Base.Delete = intel_delete_renderbuffer;
    irb->Base.AllocStorage = intel_alloc_renderbuffer_storage;
-   irb->Base.GetPointer = intel_get_pointer;
    /* span routines set in alloc_storage function */
 
    return &irb->Base;
index 506c295..d6b4d0f 100644 (file)
 #include "swrast/swrast.h"
 #include "swrast/s_renderbuffer.h"
 
-static void
-intel_set_span_functions(struct intel_context *intel,
-                        struct gl_renderbuffer *rb);
-
-#undef DBG
-#define DBG 0
-
-#define LOCAL_VARS                                                     \
-   struct intel_renderbuffer *irb = intel_renderbuffer(rb);            \
-   int minx = 0, miny = 0;                                             \
-   int maxx = rb->Width;                                               \
-   int maxy = rb->Height;                                              \
-   int pitch = rb->RowStrideBytes;                                      \
-   void *buf = rb->Map;                                                 \
-   GLuint p;                                                           \
-   (void) p;
-
-#define HW_CLIPLOOP()
-#define HW_ENDCLIPLOOP()
-
-#define Y_FLIP(_y) (_y)
-
-#define HW_LOCK()
-
-#define HW_UNLOCK()
-
-/* r5g6b5 color span and pixel functions */
-#define SPANTMP_PIXEL_FMT GL_RGB
-#define SPANTMP_PIXEL_TYPE GL_UNSIGNED_SHORT_5_6_5
-#define TAG(x) intel_##x##_RGB565
-#define TAG2(x,y) intel_##x##y_RGB565
-#include "spantmp2.h"
-
-/* a4r4g4b4 color span and pixel functions */
-#define SPANTMP_PIXEL_FMT GL_BGRA
-#define SPANTMP_PIXEL_TYPE GL_UNSIGNED_SHORT_4_4_4_4_REV
-#define TAG(x) intel_##x##_ARGB4444
-#define TAG2(x,y) intel_##x##y_ARGB4444
-#include "spantmp2.h"
-
-/* a1r5g5b5 color span and pixel functions */
-#define SPANTMP_PIXEL_FMT GL_BGRA
-#define SPANTMP_PIXEL_TYPE GL_UNSIGNED_SHORT_1_5_5_5_REV
-#define TAG(x) intel_##x##_ARGB1555
-#define TAG2(x,y) intel_##x##y##_ARGB1555
-#include "spantmp2.h"
-
-/* a8r8g8b8 color span and pixel functions */
-#define SPANTMP_PIXEL_FMT GL_BGRA
-#define SPANTMP_PIXEL_TYPE GL_UNSIGNED_INT_8_8_8_8_REV
-#define TAG(x) intel_##x##_ARGB8888
-#define TAG2(x,y) intel_##x##y##_ARGB8888
-#include "spantmp2.h"
-
-/* x8r8g8b8 color span and pixel functions */
-#define SPANTMP_PIXEL_FMT GL_BGR
-#define SPANTMP_PIXEL_TYPE GL_UNSIGNED_INT_8_8_8_8_REV
-#define TAG(x) intel_##x##_xRGB8888
-#define TAG2(x,y) intel_##x##y##_xRGB8888
-#include "spantmp2.h"
-
-/* a8 color span and pixel functions */
-#define SPANTMP_PIXEL_FMT GL_ALPHA
-#define SPANTMP_PIXEL_TYPE GL_UNSIGNED_BYTE
-#define TAG(x) intel_##x##_A8
-#define TAG2(x,y) intel_##x##y##_A8
-#include "spantmp2.h"
-
 /**
  * \brief Get pointer offset into stencil buffer.
  *
@@ -203,8 +135,6 @@ intel_renderbuffer_map(struct intel_context *intel, struct gl_renderbuffer *rb)
    rb->Map = map;
    rb->RowStride = stride / _mesa_get_format_bytes(rb->Format);
    rb->RowStrideBytes = stride;
-
-   intel_set_span_functions(intel, rb);
 }
 
 static void
@@ -227,8 +157,6 @@ intel_renderbuffer_unmap(struct intel_context *intel,
 
    ctx->Driver.UnmapRenderbuffer(ctx, rb);
 
-   rb->GetRow = NULL;
-   rb->PutRow = NULL;
    rb->Map = NULL;
    rb->RowStride = 0;
    rb->RowStrideBytes = 0;
@@ -407,31 +335,6 @@ intel_unmap_vertex_shader_textures(struct gl_context *ctx)
    }
 }
 
-typedef void (*span_init_func)(struct gl_renderbuffer *rb);
-
-static span_init_func intel_span_init_funcs[MESA_FORMAT_COUNT] =
-{
-   [MESA_FORMAT_A8] = intel_InitPointers_A8,
-   [MESA_FORMAT_RGB565] = intel_InitPointers_RGB565,
-   [MESA_FORMAT_ARGB4444] = intel_InitPointers_ARGB4444,
-   [MESA_FORMAT_ARGB1555] = intel_InitPointers_ARGB1555,
-   [MESA_FORMAT_XRGB8888] = intel_InitPointers_xRGB8888,
-   [MESA_FORMAT_ARGB8888] = intel_InitPointers_ARGB8888,
-   [MESA_FORMAT_SARGB8] = intel_InitPointers_ARGB8888,
-   [MESA_FORMAT_Z16] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_X8_Z24] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_S8_Z24] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_S8] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_R8] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_GR88] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_R16] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_RG1616] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_RGBA_FLOAT32] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_RG_FLOAT32] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_R_FLOAT32] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_INTENSITY_FLOAT32] = _swrast_set_renderbuffer_accessors,
-   [MESA_FORMAT_LUMINANCE_FLOAT32] = _swrast_set_renderbuffer_accessors,
-};
 
 bool
 intel_span_supports_format(gl_format format)
@@ -440,27 +343,6 @@ intel_span_supports_format(gl_format format)
     * rather than coding up new paths through GetRow/PutRow(), so claim support
     * for those formats in here for now.
     */
-   return (intel_span_init_funcs[format] != NULL ||
-          _mesa_is_format_integer_color(format));
+   return true;
 }
 
-/**
- * Plug in appropriate span read/write functions for the given renderbuffer.
- * These are used for the software fallbacks.
- */
-static void
-intel_set_span_functions(struct intel_context *intel,
-                        struct gl_renderbuffer *rb)
-{
-   struct intel_renderbuffer *irb = (struct intel_renderbuffer *) rb;
-
-   assert(intel_span_init_funcs[irb->Base.Format]);
-   intel_span_init_funcs[irb->Base.Format](rb);
-
-   if (rb->DataType == GL_NONE) {
-      _mesa_problem(NULL,
-                   "renderbuffer format %s is missing "
-                   "intel_mesa_format_to_rb_datatype() support.",
-                   _mesa_get_format_name(rb->Format));
-   }
-}