Commit graph

28 commits

Author SHA1 Message Date
Scott Nations
586b2e12be Add support for OpenGL 4.5 and recent extensions
Update Regal GLEW to 1.11.0, including OpenGL 4.5
Refresh apitrace from upstream
Can now "make framework" under Mac OS
Merged pull requests 134, 135, and 136
2014-08-12 21:32:45 -05:00
Scott Nations
8dda434953 Now using glsloptimizer to parse and rewrite shaders.
Major enhancements to the state web server.
Added state-based shader instancing to avoid recompiles.
Fixed issue #113 - Possible bug with REGAL_STATISTICS
Corrected handling of GL_POINT_SIZE_MAX state in RegalState.
Refreshed apitrace, civetweb, libpng, and GLEW from upstream.
2014-03-27 10:14:36 -05:00
Scott Nations
fa2f167e39 Replaced mongoose code with civetweb (https://github.com/bel2125/civetweb)
Refreshed apitrace, GLEW, and FreeGLUT
2014-01-31 10:51:06 -06:00
Nigel Stewart
a985d61e42 Touch-ups for apitrace NV_path_rendering support.
Add support for REGAL_LOAD_GL, REGAL_LOAD_ES2 and REGAL_LOAD_EGL for loading specific system GL/GLX/WGL/EGL libraries.
Tidy-up for RegalContextInfo codegen.
Mac XCode project udpates.
2013-11-08 16:02:06 -06:00
Nigel Stewart
35538fa417 Update apitrace from upstream
Add GL 4.4 support to apitrace
Filtering layer refinements for ES 2.0 on Tegra
Copyright consistency for src/regal - linear.h
glGetBooleanv support added to Emu::Iff
2013-11-02 14:01:46 -05:00
Nigel Stewart
b6bc25405b Add Emu::Quads emulation layer - work in progress, not enabled yet
Fixups for Regal::ContextInfo context limit query, GL error checking added
Modularized Mac OS X projects - iOS to follow
Add doc/config for example JSON configurations
GL Core context check for GL 3.2 onwards only
Do not strip googletest static library
Need to query provoking vertex convention for Quads emulation purposes
Default to 1024 for maxLength in Regal::Marker
For minimal footprint, optional REGAL_ENUM_TO_STRING at build-time
Respect REGAL_LOG_POINTERS and REGAL_LOG_THREAD in a few more places
2013-10-14 10:23:10 -05:00
Nigel Stewart
d4165ba10b OpenGL and OpenGL ES 2.0 API updates.
Fix for https://github.com/p3/regal/issues/103
GLEW refresh
Apitrace updates from upstream
Further squeezing footprint for REGAL_WRANGLER mode.
2013-10-06 11:41:39 -05:00
Nigel Stewart
5ab0a9b488 Squeeze the footprint of Loader and Missing dispatch for Regal-wrangler purposes, in particular.
More array bounds checking for Emu::Ppa
REGAL_WRANGLER mode for loader-only Regal - initial groundwork.
2013-09-25 15:25:16 -05:00
Nigel Stewart
e6d0d944a4 Split ContextInfo into context and emulation information structs.
Refresh GoogleMock from upstream.
Regal initialization for selected WGL functions.
Assertion fixes.
2013-09-13 10:24:16 -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
b79468111a Initial integration of apitrace as Regal dispatch layer
http://apitrace.github.io/
Update current context only when MakeCurrent call succeeds
Check parsed ES version number
2013-07-21 23:51:29 -05:00
Nigel Stewart
0c089bf5bc DispatcherGlobal added for global (GLX/WGL/EGL) API dispatch layering.
Work-in-progress: apitrace dispatch layer for Regal, not enabled yet.
Added All.sln for VC10 purposes.
2013-06-05 23:06:03 -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
c54aa8b3a2 Initial implementation of on-disk texture caching.
Refinements for Android ndk-build.
2013-03-15 17:21:00 -05:00
Cass Everitt
ba3bb78e03 fixes to make Space Junk work with both core and compat profiles 2013-03-13 22:08:00 -05:00
Nigel Stewart
1ab8165ef4 Further emulation API filtering for core contexts.
Add Regal::Break::Filter for debugger breakpoints on filtered functions.
Mac XCode project updates.
Windows VC10 project updates.
2013-03-01 15:07:31 -06:00
Nigel Stewart
23dfaeec15 RegalDispatchCode for direct C code output - initial implementation.
RegalSo optimizations.
Merged GLX/EGL and GL/GLES entry-point loading for Linux.  x86, x86_64 and ARM.
GLenum to string conversion refinements, prefer non-extension, ARB, KHR and so on.
GL spec database entries for maxSize of input parameters.  (vs output size)
2012-12-16 11:16:12 -06:00
Igor Chernyshev
2c1c9cf539 Rename NACL to PPAPI in GL-related contexts.
PPAPI is an API which contains GLES2 calls. The Chrome plugin,
on the other hand, could be NaCl-based or Trusted (for Windows,
Linux and perhaps Mac). So, the API name (PPAPI in our case)
is somewhat orthogonal to the target platform.

See https://github.com/p3/regal/pull/30
2012-12-06 16:50:49 -08:00
Nigel Stewart
79f4316f0e Consolidate frame hashing and capture into Regal::Frame
Add support to use glXSwapBuffers for frame counting
Support for wglSwapBuffers, eglSwapBuffers and CGLFlushDrawable too
VC and XCode project updates
Bug fix for Init::destroyContext, set TLS for NULL context, as necessary
2012-11-15 13:47:18 -06:00
Nigel Stewart
ab58147211 Updated XCode and Visual Studio build projects.
Ensure that RegalGLUT depends on RegalGLUT.h
Add lookup3 hashing library, not used yet.
2012-10-19 12:01:50 -05:00
Nigel Stewart
52a5e6ffdd Fixed function emulation improvements - push/pop attrib. 2012-10-10 22:43:44 -05:00
Nigel Stewart
994fa02b69 Replace the use of RegalEmuScopedActivate with generic Push<int>.
Add EmuFilter for preventing glClientActiveTexture calls into ES 2.0 specifically.
Updates for XCode and Visual Studio builds.
2012-09-24 14:52:26 -05:00
Nigel Stewart
3a686e602b Do static initialization of global dispatch table,
including static EGL, as necessary at startup.
2012-08-29 09:51:00 -05:00
Nigel Stewart
acbbdbc920 Annotate gl.py with enableCap for ES 2.0 allowed glEnable caps.
Do checking in RegalDispatchEmu.cpp to avoid invalid glEnable/glDisable calls.
Tag ES 2.0 defines with .esVersions = [ 2.0 ]
Support per-function re-mapping to ES2.0 API - for example glClearDepth -> glClearDepthf
NaCL dreamtorus added.
2012-08-27 08:12:09 -05:00
Nigel Stewart
6179f0a973 Replace DispatchState with Dispatcher
Further NaCL branch harmonization
Add initial static-linking ES2 dispatch support
2012-08-21 00:04:09 -05:00
Nigel Stewart
14dba43de3 Added RegalDispatchMissing.cpp for NaCL dispatch table purposes.
Optionally reduce binary size by use of REGAL_LOG=0, REGAL_DEBUG=0 and REGAL_ERROR=0 at compile time.
Fix for GL_TRIANGLE_FAN emulation buffer restart.
Fixes for environment variable handling for REGAL_LOG, REGAL_DEBUG and REGAL_ERROR.
Resolve zero-size glBufferData/glDrawArrays calls.
2012-08-11 00:46:20 -05:00
Nigel Stewart
30b994ac14 Add code generation scripts. (make export)
Add GL, GLX, WGL, CGL, EGL API databases for code generation purposes.
Reduce the order dependence of code generation.
Android build refinements.
2012-08-01 23:53:54 -05:00
Nigel Stewart
52fb1c994b Add Mac XCode project, Android make build.
RegalDispatchEmu layers of emulation moved into Regal.cpp
Refinements for error and logging dispatch.
2012-07-31 20:50:23 -05:00