glimp_stub.cpp.m4 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // glimp_stub.cpp.m4
  2. // stub gl/glX APIs
  3. #include "idlib/precompiled.h"
  4. #include "renderer/tr_local.h"
  5. #pragma hdrstop
  6. dnl =====================================================
  7. dnl utils
  8. dnl =====================================================
  9. define(`forloop',
  10. `pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')')
  11. define(`_forloop',
  12. `$4`'ifelse($1, `$3', ,
  13. `define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')')
  14. dnl =====================================================
  15. dnl the gl wgl glX definitions
  16. dnl =====================================================
  17. include(../gllog/gl_def.m4)
  18. dnl =====================================================
  19. dnl qgl stubs
  20. dnl there is a number of functions for which we have special case code
  21. dnl =====================================================
  22. define(`override_GetError', `')
  23. define(`override_GenLists', `')
  24. define(`override_GetIntegerv', `')
  25. define(`override_GetString', `')
  26. define(`instance_funcptr', ``$1' gl`$2'(`$3'){}')
  27. define(`try_instance_funcptr', `ifdef(`override_'$2, ,`instance_funcptr(`$1', `$2', `$3')')')
  28. forloop(`i', gl_start, gl_end, `try_instance_funcptr(indir(`f'i`_ret'), indir(`f'i`_name'), indir(`f'i`_params'))
  29. ')
  30. dnl =====================================================
  31. dnl glX stubs
  32. dnl =====================================================
  33. define(`override_GetProcAddressARB', `')
  34. define(`instance_funcptr', ``$1' glX`$2'(`$3'){}')
  35. define(`try_instance_funcptr', `ifdef(`override_'$2, ,`instance_funcptr(`$1', `$2', `$3')')')
  36. forloop(`i', glX_start, glX_end, `try_instance_funcptr(indir(`f'i`_ret'), indir(`f'i`_name'), indir(`f'i`_params'))
  37. ')
  38. GLenum glGetError(void){return 0;}
  39. GLuint glGenLists(GLsizei range){return 0;}
  40. void glGetIntegerv(GLenum pname, GLint *params){
  41. switch( pname ) {
  42. case GL_MAX_TEXTURE_SIZE: *params = 1024; break;
  43. case GL_MAX_TEXTURE_UNITS_ARB: *params = 2; break;
  44. default: *params = 0; break;
  45. }
  46. }
  47. const GLubyte * glGetString(GLenum name){
  48. switch( name ) {
  49. case GL_EXTENSIONS: return (GLubyte *)"GL_ARB_multitexture GL_ARB_texture_env_combine GL_ARB_texture_cube_map GL_ARB_texture_env_dot3";
  50. }
  51. return (const GLubyte *)"";
  52. }