radeon: add xRGB span functions
authorDave Airlie <airlied@linux.ie>
Sat, 21 Mar 2009 11:41:25 +0000 (21:41 +1000)
committerDave Airlie <airlied@linux.ie>
Sat, 21 Mar 2009 11:42:54 +0000 (21:42 +1000)
same as ARGB need to add a parameter to get ptr32

src/mesa/drivers/dri/radeon/radeon_span.c

index 096ac2f8949acc060c1ad91915d10f5ae8129236..768a51b51d5e3da5711e8ac8a8fddb2cf892ad31 100644 (file)
@@ -241,6 +241,16 @@ static GLubyte *radeon_ptr(const struct radeon_renderbuffer * rrb,
 #define GET_PTR(X,Y) radeon_ptr16(rrb, (X) + x_off, (Y) + y_off)
 #include "spantmp2.h"
 
+/* 32 bit, xRGB8888 color spanline and pixel functions
+ */
+#define SPANTMP_PIXEL_FMT GL_BGRA
+#define SPANTMP_PIXEL_TYPE GL_UNSIGNED_INT_8_8_8_8_REV
+
+#define TAG(x)    radeon##x##_xRGB8888
+#define TAG2(x,y) radeon##x##_xRGB8888##y
+#define GET_PTR(X,Y) radeon_ptr32(rrb, (X) + x_off, (Y) + y_off)
+#include "spantmp2.h"
+
 /* 32 bit, ARGB8888 color spanline and pixel functions
  */
 #define SPANTMP_PIXEL_FMT GL_BGRA
@@ -468,7 +478,7 @@ static void radeonSetSpanFunctions(struct radeon_renderbuffer *rrb)
        if (rrb->base._ActualFormat == GL_RGB5) {
                radeonInitPointers_RGB565(&rrb->base);
        } else if (rrb->base._ActualFormat == GL_RGB8) {
-               radeonInitPointers_ARGB8888(&rrb->base);
+               radeonInitPointers_xRGB8888(&rrb->base);
        } else if (rrb->base._ActualFormat == GL_RGBA8) {
                radeonInitPointers_ARGB8888(&rrb->base);
        } else if (rrb->base._ActualFormat == GL_DEPTH_COMPONENT16) {