Allow different max texture sizes for 1/2D, 3D and cube maps.
[mesa.git] / src / mesa / tnl / t_imm_eval.c
index e946dfd1bfa01e6701524f0c5024c0fa3825a04e..f6d33dfa1a4c8055f63b2c5b618941deafda8d1a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: t_imm_eval.c,v 1.10 2001/05/01 13:18:03 keithw Exp $ */
+/* $Id: t_imm_eval.c,v 1.13 2001/05/14 09:00:51 keithw Exp $ */
 
 /*
  * Mesa 3-D graphics library
  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Authors:
+ *    Keith Whitwell <keithw@valinux.com>
+ *
  */
 
 
@@ -130,7 +134,7 @@ static void eval1_4f_ca( struct gl_client_array *dest,
                                   dimension, map->Order);
       }
 
-   dest->Size = MAX2(dest->Size, dimension);
+   dest->Size = MAX2(dest->Size, (GLint) dimension);
 }
 
 
@@ -262,7 +266,7 @@ static void eval2_4f_ca( struct gl_client_array *dest,
                                  map->Uorder, map->Vorder);
       }
 
-   dest->Size = MAX2(dest->Size, dimension);
+   dest->Size = MAX2(dest->Size, (GLint) dimension);
 }
 
 
@@ -329,7 +333,7 @@ static void copy_4f_stride( GLfloat to[][4], GLfloat *from,
    if (stride == 4 * sizeof(GLfloat))
       MEMCPY( to, from, count * sizeof(to[0]));
    else {
-      int i;
+      GLuint i;
 /*        fprintf(stderr, "%s stride %d count %d\n", __FUNCTION__, */
 /*           stride, count); */
       for (i = 0 ; i < count ; i++, STRIDE_F(from, stride))
@@ -752,7 +756,9 @@ void _tnl_eval_immediate( GLcontext *ctx, struct immediate *IM )
    /* Produce new flags array:
     */
    {
-      GLuint i, count = tnl->vb.Count;
+      GLuint i;
+      GLuint count = tnl->vb.Count + 1;
+
       copy_1ui( store->Flag, flags, count );
       tnl->vb.Flag = store->Flag;
       for (i = 0 ; i < count ; i++)