mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 22:49:13 +02:00
intel: remove most of the span Get/PutRow code
This commit is contained in:
parent
cb5fa9ea62
commit
41869c4942
2 changed files with 1 additions and 134 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -48,74 +48,6 @@
|
|||
#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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue