histogram code move, remove s_histogram.[ch] from Makefiles
authorBrian Paul <brian.paul@tungstengraphics.com>
Tue, 25 Mar 2003 02:26:28 +0000 (02:26 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Tue, 25 Mar 2003 02:26:28 +0000 (02:26 +0000)
src/mesa/Makefile.X11
src/mesa/drivers/x11/xm_dd.c
src/mesa/main/Makefile.BeOS-R5
src/mesa/main/Makefile.DJ
src/mesa/main/Makefile.OSMesa16
src/mesa/main/Makefile.X11
src/mesa/main/Makefile.ugl
src/mesa/main/Makefile.win
src/mesa/main/descrip.mms
src/mesa/main/histogram.c
src/mesa/main/histogram.h

index 7a8e8f0b415536e0844d3b1107cd8484208ba15d..d95a565a16e86ce6eb1c0bccbeb79b00cd1bf9e6 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.X11,v 1.74 2003/03/01 01:50:20 brianp Exp $
+# $Id: Makefile.X11,v 1.75 2003/03/25 02:26:29 brianp Exp $
 
 # Mesa 3-D graphics library
 # Version:  5.0
@@ -102,7 +102,6 @@ CORE_SOURCES = \
        swrast/s_drawpix.c \
        swrast/s_feedback.c \
        swrast/s_fog.c \
-       swrast/s_histogram.c \
        swrast/s_imaging.c \
        swrast/s_lines.c \
        swrast/s_logic.c \
index 0d29481e321dd54d3c7f37ac13d4aa2144232040..bdf0b66886def6daf22c735c2775ed5704c4dcfd 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: xm_dd.c,v 1.42 2003/01/16 19:10:46 alanh Exp $ */
+/* $Id: xm_dd.c,v 1.43 2003/03/25 02:26:30 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
@@ -35,6 +35,7 @@
 #include "imports.h"
 #include "mtypes.h"
 #include "state.h"
+#include "texobj.h"
 #include "texstore.h"
 #include "texformat.h"
 #include "xmesaP.h"
@@ -705,7 +706,7 @@ clear_buffers( GLcontext *ctx, GLbitfield mask,
    if ((mask & (DD_FRONT_LEFT_BIT | DD_BACK_LEFT_BIT)) &&
        xmesa->xm_draw_buffer->mesa_buffer.UseSoftwareAlphaBuffers &&
        ctx->Color.ColorMask[ACOMP]) {
-      _mesa_clear_alpha_buffers(ctx);
+      _swrast_clear_alpha_buffers(ctx);
    }
 
    /* we can't handle color or index masking */
@@ -963,6 +964,9 @@ void xmesa_init_pointers( GLcontext *ctx )
    ctx->Driver.CopyTexSubImage2D = _swrast_copy_texsubimage2d;
    ctx->Driver.CopyTexSubImage3D = _swrast_copy_texsubimage3d;
 
+   ctx->Driver.NewTextureObject = _mesa_alloc_texture_object;
+   ctx->Driver.DeleteTexture = _mesa_free_texture_object;
+
    ctx->Driver.CompressedTexImage1D = _mesa_store_compressed_teximage1d;
    ctx->Driver.CompressedTexImage2D = _mesa_store_compressed_teximage2d;
    ctx->Driver.CompressedTexImage3D = _mesa_store_compressed_teximage3d;
index 8ae0efcf1da326f46ee153a892a8d7367cdf95b3..c1da7f3f07209d3d57da16cdd5b4d6a52767c1c8 100644 (file)
@@ -132,7 +132,6 @@ MESA_CORE_SRCS = \
        swrast/s_drawpix.c \
        swrast/s_feedback.c \
        swrast/s_fog.c \
-       swrast/s_histogram.c \
        swrast/s_imaging.c \
        swrast/s_lines.c \
        swrast/s_logic.c \
index 33e6ca5d4488dcef5184358aa0ffe0c4dfce75f2..971769d779f5c851c94b8917670738022a25306b 100644 (file)
@@ -173,7 +173,6 @@ CORE_SOURCES = \
        swrast/s_drawpix.c \\r
        swrast/s_feedback.c \\r
        swrast/s_fog.c \\r
-       swrast/s_histogram.c \\r
        swrast/s_imaging.c \\r
        swrast/s_lines.c \\r
        swrast/s_logic.c \\r
index 7a7b0f11bfbd9741058f5ab35e8a167e3cfef5a5..3ed54c4969addbdcb832cc7e41f43fb66153014e 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.OSMesa16,v 1.12 2003/03/01 01:50:20 brianp Exp $
+# $Id: Makefile.OSMesa16,v 1.13 2003/03/25 02:26:29 brianp Exp $
 
 # Mesa 3-D graphics library
 # Version:  5.0
@@ -103,7 +103,6 @@ CORE_SOURCES = \
        swrast/s_drawpix.c \
        swrast/s_feedback.c \
        swrast/s_fog.c \
-       swrast/s_histogram.c \
        swrast/s_imaging.c \
        swrast/s_lines.c \
        swrast/s_logic.c \
index 7a8e8f0b415536e0844d3b1107cd8484208ba15d..d95a565a16e86ce6eb1c0bccbeb79b00cd1bf9e6 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.X11,v 1.74 2003/03/01 01:50:20 brianp Exp $
+# $Id: Makefile.X11,v 1.75 2003/03/25 02:26:29 brianp Exp $
 
 # Mesa 3-D graphics library
 # Version:  5.0
@@ -102,7 +102,6 @@ CORE_SOURCES = \
        swrast/s_drawpix.c \
        swrast/s_feedback.c \
        swrast/s_fog.c \
-       swrast/s_histogram.c \
        swrast/s_imaging.c \
        swrast/s_lines.c \
        swrast/s_logic.c \
index bcecd7afb7c029c7f57fc8ed34f2b6388f329312..20452e44a434c17fbe30804cf5b12ff81c8ff2c4 100644 (file)
@@ -130,7 +130,6 @@ GL_SOURCES = \
        swrast/s_drawpix.c \
        swrast/s_feedback.c \
        swrast/s_fog.c \
-       swrast/s_histogram.c \
        swrast/s_imaging.c \
        swrast/s_lines.c \
        swrast/s_logic.c \
index 2acbce0ced13bfa91f6cd3ab55731193ca70fe2e..d4a45547c6ca1611e0a40646ba58aef8cdb2f2b3 100644 (file)
@@ -91,7 +91,6 @@ CORE_SRCS = \
        swrast\s_drawpix.c \
        swrast\s_feedback.c \
        swrast\s_fog.c \
-       swrast\s_histogram.c \
        swrast\s_imaging.c \
        swrast\s_lines.c \
        swrast\s_logic.c \
index f0c8a1c34ec84629d471e2ff601f8398741f3c66..345c3e6130195d936c8c1669289c7601a38ffb21 100644 (file)
@@ -97,7 +97,6 @@ RASTER_SOURCES = [.swrast]s_aatriangle.c \
 [.swrast]s_drawpix.c \
 [.swrast]s_fog.c \
 [.swrast]s_feedback.c \
-[.swrast]s_histogram.c \
 [.swrast]s_imaging.c \
 [.swrast]s_lines.c \
 [.swrast]s_logic.c \
@@ -239,7 +238,6 @@ OBJECTS8=[.swrast]s_aatriangle.obj,\
 
 OBJECTS9=[.swrast]s_drawpix.obj,\
 [.swrast]s_fog.obj,\
-[.swrast]s_histogram.obj,\
 [.swrast]s_imaging.obj,\
 [.swrast]s_lines.obj,\
 [.swrast]s_logic.obj,\
@@ -435,8 +433,6 @@ imports.obj : imports.c
        $(CC) $(CFLAGS) /obj=[.swrast]s_feedback.obj [.swrast]s_feedback.c
 [.swrast]s_fog.obj : [.swrast]s_fog.c
        $(CC) $(CFLAGS) /obj=[.swrast]s_fog.obj [.swrast]s_fog.c
-[.swrast]s_histogram.obj : [.swrast]s_histogram.c
-       $(CC) $(CFLAGS) /obj=[.swrast]s_histogram.obj [.swrast]s_histogram.c
 [.swrast]s_imaging.obj : [.swrast]s_imaging.c
        $(CC) $(CFLAGS) /obj=[.swrast]s_imaging.obj [.swrast]s_imaging.c
 [.swrast]s_lines.obj : [.swrast]s_lines.c
index 2eca44f02ff85e3241684c200bc96b19b8e8e013..e96c990f584938989d71b9c63c40fa5c767a710c 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: histogram.c,v 1.12 2003/03/01 01:50:21 brianp Exp $ */
+/* $Id: histogram.c,v 1.13 2003/03/25 02:26:29 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
 #include "histogram.h"
 
 
+/**********************************************************************
+ * Internal functions
+ */
+
+
+/*
+ * Update the min/max values from an array of fragment colors.
+ */
+void
+_mesa_update_minmax(GLcontext *ctx, GLuint n, const GLfloat rgba[][4])
+{
+   GLuint i;
+   for (i = 0; i < n; i++) {
+      /* update mins */
+      if (rgba[i][RCOMP] < ctx->MinMax.Min[RCOMP])
+         ctx->MinMax.Min[RCOMP] = rgba[i][RCOMP];
+      if (rgba[i][GCOMP] < ctx->MinMax.Min[GCOMP])
+         ctx->MinMax.Min[GCOMP] = rgba[i][GCOMP];
+      if (rgba[i][BCOMP] < ctx->MinMax.Min[BCOMP])
+         ctx->MinMax.Min[BCOMP] = rgba[i][BCOMP];
+      if (rgba[i][ACOMP] < ctx->MinMax.Min[ACOMP])
+         ctx->MinMax.Min[ACOMP] = rgba[i][ACOMP];
+
+      /* update maxs */
+      if (rgba[i][RCOMP] > ctx->MinMax.Max[RCOMP])
+         ctx->MinMax.Max[RCOMP] = rgba[i][RCOMP];
+      if (rgba[i][GCOMP] > ctx->MinMax.Max[GCOMP])
+         ctx->MinMax.Max[GCOMP] = rgba[i][GCOMP];
+      if (rgba[i][BCOMP] > ctx->MinMax.Max[BCOMP])
+         ctx->MinMax.Max[BCOMP] = rgba[i][BCOMP];
+      if (rgba[i][ACOMP] > ctx->MinMax.Max[ACOMP])
+         ctx->MinMax.Max[ACOMP] = rgba[i][ACOMP];
+   }
+}
+
+
+/*
+ * Update the histogram values from an array of fragment colors.
+ */
+void
+_mesa_update_histogram(GLcontext *ctx, GLuint n, const GLfloat rgba[][4])
+{
+   const GLint max = ctx->Histogram.Width - 1;
+   GLfloat w = (GLfloat) max;
+   GLuint i;
+
+   if (ctx->Histogram.Width == 0)
+      return;
+
+   for (i = 0; i < n; i++) {
+      GLint ri = IROUND(rgba[i][RCOMP] * w);
+      GLint gi = IROUND(rgba[i][GCOMP] * w);
+      GLint bi = IROUND(rgba[i][BCOMP] * w);
+      GLint ai = IROUND(rgba[i][ACOMP] * w);
+      ri = CLAMP(ri, 0, max);
+      gi = CLAMP(gi, 0, max);
+      bi = CLAMP(bi, 0, max);
+      ai = CLAMP(ai, 0, max);
+      ctx->Histogram.Count[ri][RCOMP]++;
+      ctx->Histogram.Count[gi][GCOMP]++;
+      ctx->Histogram.Count[bi][BCOMP]++;
+      ctx->Histogram.Count[ai][ACOMP]++;
+   }
+}
+
+
 /*
  * XXX the packed pixel formats haven't been tested.
  */
@@ -591,6 +657,12 @@ base_histogram_format( GLenum format )
 }
 
 
+
+/**********************************************************************
+ * API functions
+ */
+
+
 void
 _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values)
 {
index 3cff4d0db5eb4df9450b28c55953266a476daa80..f929b0513c2d509d3204030c798c9f065e2dbf21 100644 (file)
@@ -1,10 +1,10 @@
-/* $Id: histogram.h,v 1.4 2002/10/24 23:57:21 brianp Exp $ */
+/* $Id: histogram.h,v 1.5 2003/03/25 02:26:29 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  4.1
+ * Version:  5.1
  *
- * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
+ * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
  *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
 #include "mtypes.h"
 
 
+extern void
+_mesa_update_minmax(GLcontext *ctx, GLuint n, const GLfloat rgba[][4]);
+
+extern void
+_mesa_update_histogram(GLcontext *ctx, GLuint n, const GLfloat rgba[][4]);
+
+
 extern void _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum types, GLvoid *values);
 
 extern void _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
@@ -52,11 +59,4 @@ extern void _mesa_ResetHistogram(GLenum target);
 
 extern void _mesa_ResetMinmax(GLenum target);
 
-extern void
-_mesa_update_minmax(GLcontext *ctx, GLuint n, const GLfloat rgba[][4]);
-
-extern void
-_mesa_update_histogram(GLcontext *ctx, GLuint n, const GLfloat rgba[][4]);
-
-
 #endif