-/* $Id: GLView.cpp,v 1.6 2002/09/19 16:19:45 brianp Exp $ */
+/* $Id: GLView.cpp,v 1.7 2002/10/17 14:25:30 brianp Exp $ */
/*
* Mesa 3-D graphics library
- * Version: 3.5
+ * Version: 4.1
*
- * Copyright (C) 1999-2000 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2002 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"),
*/
-/*
- * $Log: GLView.cpp,v $
- * Revision 1.6 2002/09/19 16:19:45 brianp
- * Updated BeOS support (Philippe Houdoin)
- *
- * Revision 1.5 2000/11/17 21:01:26 brianp
- * Minor header file changes to silence warnings.
- * Added _mesa_enable_sw_extensions(), called by software-only drivers
- * to enable all s/w-supported GL extensions.
- *
- * Revision 1.4 2000/11/14 17:51:15 brianp
- * more Driver.Color, Driver.Index updates
- *
- * Revision 1.3 2000/09/26 20:54:09 brianp
- * First batch of OpenGL SI related changes:
- * Renamed struct gl_context to struct __GLcontextRec.
- * Include glcore.h, setup GL imports/exports.
- * Replaced gl_ prefix with _mesa_ prefix in context.[ch] functions.
- * GLcontext's Visual field is no longer a pointer.
- *
- * Revision 1.2 2000/03/19 01:13:13 brianp
- * updated for Mesa 3.3
- *
- * Revision 1.1.1.1 1999/08/19 00:55:41 jtg
- * Imported sources
- *
- * Revision 1.7 1999/03/28 21:08:17 brianp
- * updated SetBuffer driver function
- *
- * Revision 1.6 1999/02/14 03:44:37 brianp
- * new copyright
- *
- * Revision 1.5 1999/02/11 03:50:57 brianp
- * added CopySubBufferMESA()
- *
- * Revision 1.4 1999/02/06 17:44:59 brianp
- * code clean-up and bug fixes
- *
- * Revision 1.3 1999/02/04 04:13:15 brianp
- * implemented double buffering
- *
- * Revision 1.2 1999/02/03 04:23:28 brianp
- * basic device driver functions now work (yeah!)
- *
- * Revision 1.1 1999/02/02 04:40:46 brianp
- * Initial revision
- */
-
#include "glheader.h"
#include <assert.h>
BGLView * m_bglview;
BBitmap * m_bitmap;
- GLubyte m_clear_color[4]; // buffer clear color
+ GLchan m_clear_color[4]; // buffer clear color
GLuint m_clear_index; // buffer clear color index
GLint m_bottom; // used for flipping Y coords
GLuint m_width;
// Mesa Device Driver functions
static void UpdateState(GLcontext *ctx, GLuint new_state);
static void ClearIndex(GLcontext *ctx, GLuint index);
- static void ClearColor(GLcontext *ctx, const GLchan color[4]);
+ static void ClearColor(GLcontext *ctx, const GLfloat color[4]);
static void Clear(GLcontext *ctx, GLbitfield mask,
GLboolean all, GLint x, GLint y,
GLint width, GLint height);
1
);
- // create core context
- __GLimports imports;
- _mesa_init_default_imports(&imports, md);
- GLcontext * ctx = _mesa_create_context( visual, NULL, &imports);
+ // create core context
+ __GLimports imports;
+ _mesa_init_default_imports(&imports, md);
+ GLcontext * ctx = _mesa_create_context( visual, NULL, &imports);
// create core framebuffer
_mesa_enable_sw_extensions(ctx);
_mesa_enable_1_3_extensions(ctx);
+ //_mesa_enable_1_4_extensions(ctx);
/* Initialize the software rasterizer and helper modules.
- */
-
- _swrast_CreateContext(ctx);
- _ac_CreateContext(ctx);
- _tnl_CreateContext(ctx);
- _swsetup_CreateContext(ctx);
-
- _swsetup_Wakeup(ctx);
+ */
+ _swrast_CreateContext(ctx);
+ _ac_CreateContext(ctx);
+ _tnl_CreateContext(ctx);
+ _swsetup_CreateContext(ctx);
+ _swsetup_Wakeup(ctx);
md->Init(this, ctx, visual, buffer );
ctx->Driver.CopyConvolutionFilter1D = _swrast_CopyConvolutionFilter1D;
ctx->Driver.CopyConvolutionFilter2D = _swrast_CopyConvolutionFilter2D;
- ctx->Driver.BaseCompressedTexFormat = _mesa_base_compressed_texformat;
- ctx->Driver.CompressedTextureSize = _mesa_compressed_texture_size;
- ctx->Driver.GetCompressedTexImage = _mesa_get_compressed_teximage;
+ ctx->Driver.CompressedTexImage1D = _mesa_store_compressed_teximage1d;
+ ctx->Driver.CompressedTexImage2D = _mesa_store_compressed_teximage2d;
+ ctx->Driver.CompressedTexImage3D = _mesa_store_compressed_teximage3d;
+ ctx->Driver.CompressedTexSubImage1D = _mesa_store_compressed_texsubimage1d;
+ ctx->Driver.CompressedTexSubImage2D = _mesa_store_compressed_texsubimage2d;
+ ctx->Driver.CompressedTexSubImage3D = _mesa_store_compressed_texsubimage3d;
swdd->SetBuffer = MesaDriver::SetBuffer;
}
-void MesaDriver::ClearColor(GLcontext *ctx, const GLchan color[4])
- // GLubyte r, GLubyte g,
- // GLubyte b, GLubyte a)
+void MesaDriver::ClearColor(GLcontext *ctx, const GLfloat color[4])
{
MesaDriver *md = (MesaDriver *) ctx->DriverCtx;
- md->m_clear_color[BE_RCOMP] = color[0];
- md->m_clear_color[BE_GCOMP] = color[1];
- md->m_clear_color[BE_BCOMP] = color[2];
- md->m_clear_color[BE_ACOMP] = color[3];
+ CLAMPED_FLOAT_TO_CHAN(md->m_clear_color[BE_RCOMP], color[0]);
+ CLAMPED_FLOAT_TO_CHAN(md->m_clear_color[BE_GCOMP], color[1]);
+ CLAMPED_FLOAT_TO_CHAN(md->m_clear_color[BE_BCOMP], color[2]);
+ CLAMPED_FLOAT_TO_CHAN(md->m_clear_color[BE_ACOMP], color[3]);
assert(md->m_bglview);
}