regal/scripts/EmuVao.py
Scott Nations bc7e48247e Enabled use of client-side memory in vertex, element, indirect, and count buffer
Added support for glArrayElement(EXT|) to the immediate mode layer.
    Support NUM_EXTENSIONS in glGet(Integer|Float|Double|Boolean|Integer64)v(EXT|)
    Added interception for glGetStringi and glGetIntergerv
    Improve loading of GLES and EGL libraries on Android
    Various bug fixes...
    Merged pull requests:
     #131  NaCL Pepper now uses GLES2 prefix for ES2.0 functions, rather than gl
     #130  Copyright bump to 2014
     #129  NaCL-related build tweaks for regaltest, nacl example and pnacl.
     #128  GLEW refresh
     #126  boost::print fix for mapping 'long' and 'long long' to 32-bit or 64-bit for length purposes
     #125  Resolve clang compilation error: lookup of 'Depth' in member access expression is ambiguous
     #124  Add Makefile support for gcc-4.4, gcc-4.6 and clang toolchains on Linux.
     #116  Make it compile with Visual Studio 2013 (VC12)
2014-08-07 12:24:42 -05:00

93 lines
3.8 KiB
Python

#!/usr/bin/python -B
vaoFormulae = {
# TODO - GL_ARB_base_instance ?
'BufferBinding' : {
'entries' : [ 'glBindBuffer(ARB|)' ],
'prefix' : [ '_context->vao->ShadowBufferBinding( ${arg0}, ${arg1} );' ],
},
'BindVertexArray' : {
'entries' : [ 'glBindVertexArray(ARB|)' ],
'impl' : [ '_context->vao->BindVertexArray(*_context, ${arg0} );' ],
},
'GenVertexArrays' : {
'entries' : [ 'glGenVertexArrays(ARB|)' ],
'impl' : [ '_context->vao->GenVertexArrays( ${arg0}, ${arg1} );' ],
},
'DeleteVertexArrays' : {
'entries' : [ 'glDeleteVertexArrays(ARB|)' ],
'impl' : [ '_context->vao->DeleteVertexArrays( *_context, ${arg0}, ${arg1} );' ],
},
'IsVertexArray' : {
'entries' : [ 'glIsVertexArray(ARB|)' ],
'impl' : [ 'return _context->vao->IsVertexArray( ${arg0} );' ],
},
'EnableVertexAttribArray' : {
'entries' : [ 'gl(Enable|Disable)VertexAttribArray(ARB|)' ],
'impl' : [ 'return _context->vao->${m1}VertexAttribArray(*_context, ${arg0} );' ],
},
'EnableDisableClientState' : {
'entries' : [ 'gl(Enable|Disable)ClientState' ],
'impl' : [ '_context->vao->${m1}ClientState(*_context, ${arg0} );' ],
},
'AttribPointer' : {
'entries' : [ 'glVertexAttribPointer(ARB|)' ],
'impl' : [ 'return _context->vao->AttribPointer(*_context, ${arg0}, ${arg1plus} );' ],
},
'AttribIPointer' : {
'entries' : [ 'glVertexAttribIPointer(ARB|)' ],
'impl' : [ 'return _context->vao->AttribPointer(*_context, ${arg0}, ${arg1}, ${arg2}, GL_FALSE, ${arg3plus} );' ],
},
'GetAttrib' : {
'entries' : [ 'glGetVertexAttrib(d|f|i|Pointer)v(ARB|)' ],
'impl' : [ '_context->vao->GetAttrib( ${arg0}, ${arg1}, ${arg2} );' ],
},
# 'GetVertexAttribPointerv' : {
# 'entries' : [ 'glGetVertexAttribPointerv(ARB|)' ],
# 'impl' : [
# 'if ( !_context->vao->GetVertexAttribPointerv( ${arg0}, ${arg1plus} ) ) {',
# ' _context->dispatcher.emulation.glGetVertexAttribPointerv${m1}( ${arg0}, ${arg1plus} );',
# '}',
# ]
# },
'Get' : {
'entries' : [ 'glGet(Boolean|Double|Float|Integer|Integer64)v' ],
'impl' : [
'if( !_context->vao->Get( ${arg0}, ${arg1} ) ) {',
' _context->dispatcher.emulation.glGet${m1}v( ${arg0}, ${arg1} );',
'}',
]
},
'InterleavedArrays' : {
'entries' : [ 'glInterleavedArrays' ],
'impl' : [ '_context->vao->InterleavedArrays(*_context, ${arg0}, ${arg1plus} );' ],
},
'Pointer4EXT' : {
'entries' : [ 'gl(Color|TexCoord|Vertex)PointerEXT' ],
'impl' : [ '_context->vao->${m1}Pointer(*_context, ${arg0}, ${arg1}, ${arg2}, ${arg4} );' ],
},
'Pointer4' : {
'entries' : [ 'gl(Color|SecondaryColor|TexCoord|Vertex)Pointer' ],
'impl' : [ '_context->vao->${m1}Pointer(*_context, ${arg0}, ${arg1}, ${arg2}, ${arg3} );' ],
},
'glSecondaryColorPointerEXT' : {
'entries' : [ 'gl(SecondaryColor)PointerEXT' ],
'impl' : [ '_context->vao->${m1}Pointer(*_context, ${arg0}, ${arg1}, ${arg2}, ${arg3} );' ],
},
'NormalPointer3EXT' : {
'entries' : [ 'glNormalPointerEXT' ],
'impl' : [ '_context->vao->NormalPointer(*_context, ${arg0}, ${arg1}, ${arg3} );' ],
},
'FogCoordPointer3EXT' : {
'entries' : [ 'glFogCoordPointerEXT' ],
'impl' : [ '_context->vao->FogCoordPointer(*_context, ${arg0}, ${arg1}, ${arg2} );' ],
},
'Pointer3' : {
'entries' : [ 'gl(FogCoord|Normal)Pointer' ],
'impl' : [ '_context->vao->${m1}Pointer(*_context, ${arg0}, ${arg1}, ${arg2} );' ],
},
'ClientActiveTexture' : {
'entries' : [ 'glClientActiveTexture(ARB|)' ],
'prefix' : [ '_context->vao->ClientActiveTexture(*_context, ${arg0} );' ],
},
}