Re: OpenGL-ES
James Amendolagine <[email protected]>
| Newsgroups | gmane.comp.graphics.chromium.devel |
|---|---|
| Message-ID | <[email protected]> |
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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/chromium-dev
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl