#define HW_WRITE_CLIPLOOP() HW_CLIPLOOP()
#endif
+/* Whether GET_PTR(x, y) + cpp != GET_PTR(x+1, y) */
+#ifndef GET_PTR_NONLINEAR
+#define GET_PTR_NONLINEAR 0
+#endif
#if (SPANTMP_PIXEL_FMT == GL_RGB) && (SPANTMP_PIXEL_TYPE == GL_UNSIGNED_SHORT_5_6_5)
}
-#if defined(USE_MMX_ASM) && \
+#if !GET_PTR_NONLINEAR && \
+ defined(USE_MMX_ASM) && \
(((SPANTMP_PIXEL_FMT == GL_BGRA) && \
(SPANTMP_PIXEL_TYPE == GL_UNSIGNED_INT_8_8_8_8_REV)) || \
((SPANTMP_PIXEL_FMT == GL_RGB) && \
#endif
-#if defined(USE_SSE_ASM) && \
+#if !GET_PTR_NONLINEAR && \
+ defined(USE_SSE_ASM) && \
(SPANTMP_PIXEL_FMT == GL_BGRA) && \
(SPANTMP_PIXEL_TYPE == GL_UNSIGNED_INT_8_8_8_8_REV)
static void TAG2(ReadRGBASpan,_SSE2)( GLcontext *ctx,
}
#endif
-#if defined(USE_SSE_ASM) && \
+#if !GET_PTR_NONLINEAR && \
+ defined(USE_SSE_ASM) && \
(SPANTMP_PIXEL_FMT == GL_BGRA) && \
(SPANTMP_PIXEL_TYPE == GL_UNSIGNED_INT_8_8_8_8_REV)
static void TAG2(ReadRGBASpan,_SSE)( GLcontext *ctx,
rb->PutMonoValues = TAG(WriteMonoRGBAPixels);
rb->GetValues = TAG(ReadRGBAPixels);
+#if !GET_PTR_NONLINEAR
#if defined(USE_SSE_ASM) && \
(SPANTMP_PIXEL_FMT == GL_BGRA) && \
(SPANTMP_PIXEL_TYPE == GL_UNSIGNED_INT_8_8_8_8_REV)
}
else
#endif
+#endif /* GET_PTR_NONLINEAR */
{
if (DBG) fprintf( stderr, "Using %s version of GetRow\n", "C" );
rb->GetRow = TAG(ReadRGBASpan);
#undef TAG
#undef TAG2
#undef GET_PTR
+#undef GET_PTR_NONLINEAR
#undef SPANTMP_PIXEL_FMT
#undef SPANTMP_PIXEL_TYPE
#define TAG(x) intel_XTile_##x##_RGB565
#define TAG2(x,y) intel_XTile_##x##_RGB565##y
#define GET_PTR(X,Y) x_tile_swizzle(irb, intel, X, Y)
+#define GET_PTR_NONLINEAR 1
#include "spantmp2.h"
#define SPANTMP_PIXEL_FMT GL_RGB
#define TAG(x) intel_YTile_##x##_RGB565
#define TAG2(x,y) intel_YTile_##x##_RGB565##y
#define GET_PTR(X,Y) y_tile_swizzle(irb, intel, X, Y)
+#define GET_PTR_NONLINEAR 1
#include "spantmp2.h"
/* 32 bit ARGB888 color tile spanline and pixel functions
#define TAG(x) intel_XTile_##x##_ARGB8888
#define TAG2(x,y) intel_XTile_##x##_ARGB8888##y
#define GET_PTR(X,Y) x_tile_swizzle(irb, intel, X, Y)
+#define GET_PTR_NONLINEAR 1
#include "spantmp2.h"
#define SPANTMP_PIXEL_FMT GL_BGRA
#define TAG(x) intel_YTile_##x##_ARGB8888
#define TAG2(x,y) intel_YTile_##x##_ARGB8888##y
#define GET_PTR(X,Y) y_tile_swizzle(irb, intel, X, Y)
+#define GET_PTR_NONLINEAR 1
#include "spantmp2.h"
#define LOCAL_DEPTH_VARS \