Commit graph

95 commits

Author SHA1 Message Date
Cass Everitt
1c9b8070d8 compiles on xcode with the refactored headers 2014-02-08 12:07:06 -06:00
Cass Everitt
6744583fe1 checkpoint on header split 2014-02-08 11:03:54 -06:00
Cass Everitt
d9124364d0 checkpoint on winsys headers 2014-02-08 10:33:34 -06:00
Cass Everitt
a6ab9e6295 first pass at generating a separate RegalWGL.h 2014-02-07 15:53:42 -06:00
Cass Everitt
1a74bc23dc checkpoint - need the changes in Regal.h to come from Regal.py though 2014-02-03 12:24:18 -06:00
Cass Everitt
c994ca91c2 broken checkpoint 2014-01-24 11:35:01 -06:00
Cass Everitt
b366c4111f fix to alphatorus when using the core profile on mac 2014-01-19 12:04:47 -06:00
Cass Everitt
776519af7b minor formatting fix 2014-01-19 02:46:18 -06:00
Cass Everitt
5aa210d2a1 put GL/ES version guards in Regal.h for each entry point - enums next 2014-01-19 02:39:45 -06:00
Cass Everitt
457f5d674c working again with the ctx being threaded through all internal layers 2014-01-18 18:54:28 -06:00
Cass Everitt
811410e5f6 remove a bunch more stuff that I'm not using 2014-01-11 12:19:20 -06:00
Cass Everitt
54c83ecaf7 regal web services working in windows 2014-01-10 19:42:42 -06:00
Cass Everitt
dc86f5ea64 web services, glsl-optimizer support 2014-01-02 18:04:41 -06:00
Cass Everitt
165142679d resolve misc issues for Space Junk mac build 2013-09-06 12:33:12 -05:00
Nigel Stewart
89ff20c375 Fixes for Android
Update googletest sources
Add ContextInfo support for GL 4.3 and 4.4
Improved Ppca test coverage
Added logging for Regal API methods
Improved layer enable/disable logic in RegalContext
JSON parser updates
Makefile build of tiger example added
Using scoped_ptr for RegalContext data
2013-08-30 18:57:56 -05:00
Nigel Stewart
5157da1820 Emscripten now working for dreamtorus.
Initial scaffolding for GLX emulation on EGL/WGL/CGL.
Ppca refinements.
Add GL_NV_blend_equation_advanced and GL_NV_blend_equation_advanced_coherent support.
RegalX11.cpp added for fake X11 purposes for GLX emulation.
GLEW refresh.
Fixups for REGAL_SYS_EMSCRIPTEN_STATIC mode.
2013-08-23 09:49:09 -05:00
Nigel Stewart
89dfc6fce8 Touch-ups, mostly for emscripten. 2013-08-15 14:08:33 -05:00
Nigel Stewart
8969282b18 Add GL_ARB_multi_bind
Merge and harmonize src/apitrace with upstream
Merging Emscripten changes from Vladimir Vukicevic, except Makefile
More entry points for RegalDispatchGMock
2013-07-26 10:36:56 -05:00
Vladimir Vukicevic
e12d8152f8 Update scripts and generated sources for Emscripten
- Add REGAL_SYS_EMSCRIPTEN and REGAL_SYS_EMSCRIPTEN_STATIC defines
- Guard extension static EGL entry points on non-EMSCRIPTEN
2013-07-24 15:30:42 -04:00
Nigel Stewart
d1c422ac11 Add OpenGL 4.4 support
Update GLEW to 1.10.0
2013-07-22 13:08:39 -05:00
Nigel Stewart
47bbe699cd Add Regal support for GL_ANGLE_timer_query and GL_INTEL_map_texture
GLEW refresh to Sourceforge top-of-tree
Codegen refinement - sort enums by name for switch statements, etc
ARB_multitexture emulation for ES 2.0
(ARB|EXT)_texture_env_combine and (ARB|EXT)_texture_env_dot3 for ES 2.0
2013-07-17 16:40:10 -05:00
Nigel Stewart
20b5c5379d Extend RegalPlugin to provide name based lookup.
Regal.h touch-ups for harmonizing with apitrace.
API database support for maps of per-platform types.
2013-07-06 00:17:05 -05:00
Nigel Stewart
29115d6b88 Extend emulation dispatch to hinting.
GLEW refresh (w.r.t opengl.org)
Some GL API harmonization with apitrace.
Add Regal support for GL_SGIX_ycrcb
Further GL_REGAL_enable support for glEnable/glDisable of dispatch layers.
DSA emulation moved to downstream of Regal::Emu::Iff
Trace dispatch fixes for WGL
Support for REGAL_TRACE_FILE setting, and JSON property.
Tidy-up of Regal::Emu::Filt
2013-06-25 14:22:53 -05:00
Nigel Stewart
be8dc8b892 Emulation support for DSA gl(Enable|Disable)VertexArrayEXT and VertexArrayOffset commands.
Initial implementation of Draw*Elements*BaseVertex* emulation.
IBM_texture_mirrored_repeat extension emulation for ES 2.0.
Use REGAL_CALL for GLDEBUGPROC* function typedefs.
Fix logging of string in glNamedProgramStringARB.
Fix logging of commands with ref and mask.
2013-06-15 08:52:59 -05:00
Nigel Stewart
1105d274ad Initial implementation of statistics gathering dispath. REGAL_STATISTICS=1
FreeGLUT refresh.
RegalClientState functionally complete.
2013-05-30 07:13:53 -05:00
Nigel Stewart
21ad75c27b Revamp TLS (thread local storage) for storing more than context pointer per thread.
Add RegalPlugin private API for plugin dispatch layers to call back into Regal.
Resolve snappy library Windows compilation warnings.
Improvements for filtering emulation.
Support EXT_framebuffer_object on ES 2
2013-05-26 14:19:58 -05:00
Nigel Stewart
1f4c135d78 Add google snappy compression library sources, for apitrace purposes.
GLX: __GLXextFuncPtr
Code dispatch refinements.
Fixups for iOS XCode projects.
2013-05-22 18:42:49 -05:00
Nigel Stewart
a2368ee9ed Update ES 2.0 extensions.
Cube map support for texture caching.
Improved ES 2.0 API filtering.
Fix for MAX_TEXTURE_SIZE and SUBPIXEL_BITS queries.
Improved logging for glSamplerParmeter calls.
2013-05-16 18:11:30 -05:00
Nigel Stewart
4b3cc1c0d1 Further Regal::Emu::Ppa refinements.
Initial glRect emulation layer.
Fixes.
2013-05-10 16:03:02 -05:00
Nigel Stewart
22edd515b0 Add GL_NV_draw_texture support.
Add REGAL_SYS_WIN32 for both REGAL_SYS_WGL and REGAL_SYS_PPAPI (not Nacl) scenarios.
More Regal::Emu::Ppa support.
Android logging refinements.
2013-04-23 13:24:35 -05:00
Nigel Stewart
fdac8f8f85 Merge commit 'b921779d716bd86986f163247c24dbbf8a733845' 2013-04-23 13:18:32 -05:00
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
Andy Chien
3b6355fc97 removed a kwaak3 change that should not go back to the main branch 2013-04-19 11:53:22 -07:00
Andy Chien
59f7e8dd11 Merge branch 'master' of git://github.com/p3/regal.git (upstream) 2013-04-11 08:26:40 -07:00
Nigel Stewart
ce5591509a Refresh VC projects to resolve TargetPath warnings
GL_TEXTURE_BORDER_COLOR needs to be stored as GLfloat instead of GLint
Fix Dsa emulation of renderbuffer objects
2013-04-08 21:12:19 -05:00
Nigel Stewart
5d2d562d8f Refresh GLEW with DSA workaround - ignore fp64 stuff. 2013-04-02 15:53:37 -05:00
Nigel Stewart
912038c46c Add enums for GL_HP_image_transform
Add enums for GL_SGIX_fragment_specular_lighting
Runtime flag for thread locking - work in progress
Platform notes for NaCl builds
Disable extra logging diagnostics for REGAL_SYS_PPAPI=1, for performance reasons
2013-04-01 20:12:20 -05:00
Nigel Stewart
75e75077b5 Add Mutex and ScopedLock classes for threading purposes
CGL API fixups
GL const parameter fixups
LONG and ULONG_PTR for Windows
Add Logging::process option to log process ID
Avoid glGetAttachedShaders in RegalDispatchLog unless driver logging is actually specifically enabled.
For RegalDispatchCode log the texture data to the header rather than source.
2013-03-29 15:45:14 -05:00
Nigel Stewart
ac07860107 RegalJson for parsing Config and Logging state from JSON
Added RegalConfigure Regal API
Refresh VC and XCode projects
Regal builds need jsonsl library now
2013-03-27 13:55:59 -05:00
Nigel Stewart
7d91dfed26 Regal::helper::getInfoLog for accessing various GL info logs.
Add regaltest test coverage for Regal::helper::size::get
Eliminate global/static data in RegalIff.cpp
GL_VERSION_1_2 enums that GLEW missed out on: GL_MAX_ELEMENTS_VERTICES, GL_MAX_ELEMENTS_INDICES
Add GL_SGIS_detail_texture enums to gl.py
Add GL_ARB_viewport_array enums to gl.py
Regal::Config string variables for code generation dispatch layers.
For RegalDispatchCode - name shader and program return variables, rather than generic o output.
Add extra cast through void* to avoid -Wcast-align warning
Fixups for glShaderSource support in RegalDispatchCode
2013-03-25 22:33:16 -05:00
Nigel Stewart
ff41547b92 Extend Regal::Config to have a configFile setting for read/write JSON configuration.
Also can be specified via REGAL_CONFIG_FILE environment variable.
Initial migration of Regal::Json::Output to boost::print::json::output
Update GLEW to sf/github TOT.
2013-03-20 14:12:02 -05:00
Sherief Farouk
bc14b8cc9b Fixed local declaration of IOSurfaceRef.
IOSrufaceRef is declared as "typedef struct __IOSurface *" in latest OS
X SDK in IOSurface.framework/IOSurfaceAPI.h, line 17.

Regal's declaration of IOSurfaceRef as a void * results in a compile
error on OS X / Xcode when both Regal and IOSurface headers are
included.
2013-03-18 21:10:01 -04:00
Nigel Stewart
caf381f0d9 Resolve gcc compiler warnings
Initial REGAL_SYS_ES1, REGAL_SYS_ES2 and REGAL_SYS_GL for compile-time support for ES 1.x, ES 2.x or deskop back-end GL support.
2013-02-15 18:29:30 -06:00
Nigel Stewart
77651c2580 Optional pointer logging for wgl API.
X11 window manager state logging support added.
Do not auto-detect REGAL_SYS_GLX if REGAL_SYS_X11=0.
GL api database corrections for GL_VERSION_x_y.
2013-02-08 20:44:08 -06:00
Nigel Stewart
0f64827325 Add GL_NV_framebuffer_blit extension support.
Moving regal emulation objects into Regal::Emu namespace.
2013-02-06 22:18:02 -06:00
Nigel Stewart
4e064f6043 VC 10 project fixups for building regaltest
Extend clip plane enum support to GL_CLIP_PLANE6, GL_CLIP_PLANE7
Add category annotation for GL_VERSION_2_0 entry points
Extend RegalDispatchGMock to GL_VERSION_2_0, in addition to 1.0 and 1.1
2013-01-25 15:55:42 -06:00
Nigel Stewart
2e5a1d925d Rename Regal::RegalPpa -> Regal::Emu:Ppa
use std::swap_ranges for swapping arrays.
Make the dispatch table initializers available to regaltest.
White-list more GL functions into RegalDispatchGMock, for regaltest purposes.
freeglut tidy-up for possible upstreaming.
For X11/EGL mode, include additional X11 headers that would have come from GL/EGL.h
2013-01-23 18:41:36 -06:00
Nigel Stewart
7e6ab781e5 Prune back RegalDispatchGMock interface for better build turn-around time.
Refresh GLEW sources.
Add freeglut sources.
Logging refinements for glPush/PopMatrix and display list compilation.
boost::print::string_list::pop_front and pop_back added.
Utility function for loading a file into a std::string added.
Refresh VC10 projects for regaltest purposes.
2013-01-18 09:43:09 -06:00
Andy Chien
858f0864e2 Merge branch 'master' of git://github.com/p3/regal.git 2013-01-14 14:12:36 -08:00
Lloyd Pique
54210db573 Fixes for native client/PPAPI Linux
1) A few places assumed REGAL_SYS_PPAPI meant Windows/MSVC when in fact
Pepper is a valid option on Mac and Linux as well.

2) Initialize maxVaryings to zero before calling GetIntegerv. Pepper
GLES GetIntegerv for better or worse asserts that the output destination
memory is initialized to zero or negative one, though I saw nothing in
the spec that indicates it is required.
2013-01-11 16:59:55 -08:00