From: James A. <ja...@it...> - 2004-10-11 17:05:11
|
On Thu, 2004-09-16 at 13:21, Brian Paul wrote: > OpenGL-ES also defines an API for pixelformat/drawable/context > management (like GLX or WGL) called "EGS": > http://www.khronos.org/cgi-bin/fetch/fetch.cgi?egl_1_1 > OK, I've done a first pass at an ES version of chromium. I've kept notes on the files that required modification: -glapi_parser/APIspec.txt -opengl_stub/defs.py -state_tracker/state_buffer.txt -state_tracker/state_special -state_tracker/state_attrib.c -state_tracker/state_buffer.c -state_tracker/state_get.txt -include/state/cr_buffer.h -include/state/cr_attrib.h -state_tracker/state_fog.c -state_tracker/state_get.py -state_tracker/state_lighting.c -state_tracker/state_line.c -state_tracker/state_point.c -state_tracker/state_polygon.c -state_tracker/state_texture.c -state_tracker/state_transform.c -packer/packer.def -- also needs some mod -glapi_parser/apiutil.py: // added the type 'GLclampx': 4, -glapi_parser/apiutil.py: // added the type 'GLfixed': 4, -progs/packer/packertest.py: 'GLfixed': ('%d','int'), -spu/printspu/printspu.h, printspu_matrices.c ... -packer/packer_special -include/cr_estypes.h // added this file -packer test makefile needed to add an entry for pakerteset600 .. 625 needed to edit packertest.py to handle a GLfixed params and GLfixed Changes to the APIspec.txt file along the lines of this: ----------------------------------------------------------- ############################################### # ESification ############################################### name Frustumf return void param left GLfloat paramlist left -1.0 param right GLfloat paramlist right 1.0 param bottom GLfloat paramlist bottom -1.0 param top GLfloat paramlist top 1.0 param zNear GLfloat paramlist zNear 1.0 param zFar GLfloat paramlist zFar 10.0 category 1.0 chromium extpack name Frustumx return void param left GLfixed paramlist left -1.0 param right GLfixed paramlist right 1.0 param bottom GLfixed paramlist bottom -1.0 param top GLfixed paramlist top 1.0 param zNear GLfixed paramlist zNear 1.0 param zFar GLfixed paramlist zFar 10.0 category 1.0 chromium extpack name Fogx return void param pname GLenum param param GLfixed paramprop pname GL_FOG_DENSITY GL_FOG_START GL_FOG_END GL_FOG_INDEX category 1.0 chromium extpack name Fogxv return void param pname GLenum paramprop pname GL_FOG_MODE GL_FOG_DENSITY GL_FOG_START GL_FOG_END GL_FOG_INDEX GL_FOG_COLOR param params const GLfixed * paramvec params GL_LINEAR category 1.0 chromium extpack name DepthRangef return void param zNear GLclampf param zFar GLclampf category 1.0 chromium extpack name DepthRangex return void param zNear GLclampx param zFar GLclampx category 1.0 chromium extpack name Color4x return void param red GLfixed param green GLfixed param blue GLfixed param alpha GLfixed category 1.0 props pervertex chromium extpack name ClearDepthx return void param depth GLclampx category 1.0 chromium extpack name ClearDepthf return void param depth GLclampd category 1.0 chromium extpack name AlphaFuncx return void param func GLenum paramprop func GL_NEVER GL_LESS GL_EQUAL GL_LEQUAL GL_GREATER GL_NOTEQUAL GL_GEQUAL GL_ALWAYS param ref GLclampx category 1.0 chromium extpack name ClearColorx return void param red GLclampx param green GLclampx param blue GLclampx param alpha GLclampx category 1.0 chromium extpack name Lightx return void param light GLenum paramprop light GL_LIGHT0 GL_LIGHT1 GL_LIGHT2 GL_LIGHT3 GL_LIGHT4 GL_LIGHT5 GL_LIGHT6 GL_LIGHT7 param pname GLenum paramprop pname GL_SPOT_EXPONENT GL_SPOT_CUTOFF GL_CONSTANT_ATTENUATION GL_LINEAR_ATTENUATION GL_QUADRATIC_ATTENUATION param param GLfixed paramlist param 0.0 category 1.0 chromium extpack name Lightxv return void param light GLenum paramprop light GL_LIGHT0 GL_LIGHT1 GL_LIGHT2 GL_LIGHT3 GL_LIGHT4 GL_LIGHT5 GL_LIGHT6 GL_LIGHT7 param pname GLenum paramprop pname GL_SPOT_EXPONENT GL_SPOT_CUTOFF GL_CONSTANT_ATTENUATION GL_LINEAR_ATTENUATION GL_QUADRATIC_ATTENUATION param param const GLfixed * paramlist param 0.0 category 1.0 chromium extpack name LineWidthx return void param width GLfixed category 1.0 chromium extpack name LoadMatrixx return void param m const GLfixed * paramvec m 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 vector m 16 category 1.0 chromium extpack name MultMatrixx return void param m const GLfixed * paramvec m 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 vector m 16 category 1.0 chromium extpack name Translatex return void param x GLfixed param y GLfixed param z GLfixed category 1.0 chromium extpack name Rotatex return void param angle GLfixed param x GLfixed param y GLfixed param z GLfixed category 1.0 chromium extpack name Scalex return void param x GLfixed param y GLfixed param z GLfixed category 1.0 chromium extpack name Orthox return void param left GLfixed param right GLfixed param bottom GLfixed param top GLfixed param zNear GLfixed param zFar GLfixed category 1.0 chromium extpack name Orthof return void param left GLfloat param right GLfloat param bottom GLfloat param top GLfloat param zNear GLfloat param zFar GLfloat category 1.0 chromium extpack name PointSizex return void param size GLfixed category 1.0 chromium extpack name PolygonOffsetx return void param factor GLfixed param units GLfixed category 1.1 chromium extpack name Materialx return void param face GLenum paramprop face GL_FRONT GL_BACK GL_FRONT_AND_BACK param pname GLenum paramprop pname GL_SHININESS param param GLfixed paramlist param 1.0 category 1.0 chromium extpack name Materialxv return void param face GLenum paramprop face GL_FRONT GL_BACK GL_FRONT_AND_BACK param pname GLenum paramprop pname GL_AMBIENT GL_DIFFUSE GL_SPECULAR GL_EMISSION GL_SHININESS GL_AMBIENT_AND_DIFFUSE GL_COLOR_INDEXES param params const GLfixed * paramvec params 0.8 0.8 0.5 0.1 category 1.0 chromium extpack name Normal3x return void param nx GLfixed param ny GLfixed param nz GLfixed category 1.0 props pervertex chromium extpack name SampleCoveragex return void param value GLclampx param invert GLboolean category 1.0 chromium extpack name TexEnvx return void param target GLenum param pname GLenum paramset [ target pname ] [ GL_TEXTURE_ENV ] [ GL_TEXTURE_ENV_MODE ] paramset [ target pname ] [ GL_POINT_SPRITE_ARB ] [ GL_COORD_REPLACE_ARB ] paramset [ target pname ] [ GL_COMBINE_RGB_EXT ] [ GL_DOT3_RGB_EXT GL_DOT3_RGBA_EXT ] paramset [ target pname ] [ GL_TEXTURE_FILTER_CONTROL_EXT ] [ GL_TEXTURE_LOD_BIAS_EXT ] param param GLfixed paramlist param GL_MODULATE GL_DECAL GL_BLEND GL_REPLACE GL_ADD category 1.0 chromium nopack name TexEnvxv return void param target GLenum param pname GLenum paramset [ target pname ] [ GL_TEXTURE_ENV ] [ GL_TEXTURE_ENV_MODE ] paramset [ target pname ] [ GL_POINT_SPRITE_ARB ] [ GL_COORD_REPLACE_ARB ] paramset [ target pname ] [ GL_COMBINE_RGB_EXT ] [ GL_DOT3_RGB_EXT GL_DOT3_RGBA_EXT ] paramset [ target pname ] [ GL_TEXTURE_FILTER_CONTROL_EXT ] [ GL_TEXTURE_LOD_BIAS_EXT ] param params const GLfixed * paramvec params 0.0 0.0 0.0 0.0 category 1.0 chromium extpack vectoralias TexEnvx name TexParameterx return void param target GLenum param pname GLenum param param GLfixed paramset [ target pname param ] [ GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D ] [ GL_TEXTURE_MIN_FILTER ] [ GL_NEAREST GL_LINEAR GL_NEAREST_MIPMAP_NEAREST GL_LINEAR_MIPMAP_NEAREST GL_NEAREST_MIPMAP_LINEAR GL_LINEAR_MIPMAP_LINEAR ] paramset [ target pname param ] [ GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D ] [ GL_TEXTURE_MAG_FILTER ] [ GL_NEAREST GL_LINEAR ] paramset [ target pname param ] [ GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D ] [ GL_TEXTURE_COMPARE_MODE_ARB ] [ GL_COMPARE_R_TO_TEXTURE_ARB ] paramset [ target pname param ] [ GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D ] [ GL_TEXTURE_WRAP_S GL_TEXTURE_WRAP_T GL_TEXTURE_WRAP_R ] [ GL_CLAMP GL_CLAMP_TO_EDGE GL_REPEAT GL_CLAMP_TO_BORDER_ARB GL_MIRRORED_REPEAT_ARB ] paramset [ target pname param ] [ GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D ] [ GL_GENERATE_MIPMAP_SGIS ] [ GL_TRUE GL_FALSE ] paramset [ target pname param ] [ GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D ] [ GL_DEPTH_TEXTURE_MODE_ARB ] [ GL_ALPHA GL_LUMINANCE GL_INTENSITY ] category 1.0 chromium nopack name MultiTexCoord4x return void param texture GLenum paramprop texture GL_TEXTURE0 GL_TEXTURE1 GL_TEXTURE2 GL_TEXTURE3 GL_TEXTURE4 GL_TEXTURE5 GL_TEXTURE6 GL_TEXTURE7 param s GLfixed param t GLfixed param r GLfixed param q GLfixed category 1.0 name TexParameterxv return void param target GLenum paramprop target GL_TEXTURE_1D GL_TEXTURE_2D GL_TEXTURE_3D param pname GLenum paramprop pname GL_TEXTURE_MIN_FILTER GL_TEXTURE_MAG_FILTER GL_TEXTURE_MIN_LOD GL_TEXTURE_MAX_LOD GL_TEXTURE_BASE_LEVEL GL_TEXTURE_MAX_LEVEL GL_TEXTURE_WRAP_S GL_TEXTURE_WRAP_T GL_TEXTURE_WRAP_R GL_TEXTURE_PRIORITY GL_TEXTURE_COMPARE_FUNC_ARB GL_TEXTURE_COMPARE_MODE_ARB param params const GLfixed * category 1.0 chromium extpack vectoralias TexParameterx ############################################### # ESification ############################################### I've seperated the EGL work from the ES work by adding an ES functionality wrapper to the Mesa- OpenGL library on my system -- So OpenGL on my system now looks like GL + GLES. I did a sanity test on all of the GLES calls now in Chromium by building a test application that does drawing using each ES call. This now works through the chromium system. > ------------------------------------------------------- > This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 > Project Admins to receive an Apple iPod Mini FREE for your judgement on > who ports your project to Linux PPC the best. Sponsored by IBM. > Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php > _______________________________________________ > Chromium-dev mailing list > Chr...@li... > https://lists.sourceforge.net/lists/listinfo/chromium-dev |