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.
55 lines
1.3 KiB
Python
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--;' ]
|
|
},
|
|
|
|
}
|