regal/scripts/EmuContextState.py
Nigel Stewart 11e4f18fa1 More Regal::Emu::Ppa (push/pop attrib) support.
GL_EXT_blend_color, GL_EXT_blend_subtract and GL_NV_blend_square emulation for ES 2.0.
ARB_shader_subroutine completeness for NV_gpu_program5 purposes.
Better log nesting for begin/end, push/pop log pairs.
Regal.cpp codegen tidy-up: reduce casting for default return values.
Regal context sharing for WGL too.
Log the return values of global functions (WGL, etc) in the driver logging stream.
Regal::Marker needs two versions of toString, depending on the relevant extension being emulated.
2013-04-19 17:19:30 -05:00

55 lines
1.3 KiB
Python

#!/usr/bin/python -B
# Basic tracking at RegalContext level for global
# things such as glBegin/glEnd, glPush/glPop depth, etc
formulae = {
'Begin' : {
'entries' : [ 'glBegin' ],
'impl' : [ 'RegalAssert(_context);',
'_context->depthBeginEnd++;' ]
},
'End' : {
'entries' : [ 'glEnd' ],
'prefix' : [ 'if (_context)',
' _context->depthBeginEnd--;' ]
},
'PushMatrix' : {
'entries' : [ 'glPushMatrix|glMatrixPushEXT' ],
'impl' : [ 'RegalAssert(_context);',
'_context->depthPushMatrix++;' ]
},
'PopMatrix' : {
'entries' : [ 'glPopMatrix|glMatrixPopEXT' ],
'prefix' : [ 'if (_context)',
' _context->depthPushMatrix--;' ]
},
'PushAttrib' : {
'entries' : [ 'glPushAttrib' ],
'impl' : [ 'RegalAssert(_context);',
'_context->depthPushAttrib++;' ]
},
'PopAttrib' : {
'entries' : [ 'glPopAttrib' ],
'prefix' : [ 'if (_context)',
' _context->depthPushAttrib--;' ]
},
'NewList' : {
'entries' : [ 'glNewList' ],
'impl' : [ 'RegalAssert(_context);',
'_context->depthNewList++;' ]
},
'EndList' : {
'entries' : [ 'glEndList' ],
'prefix' : [ 'if (_context)',
' _context->depthNewList--;' ]
},
}