Commit graph

373 commits

Author SHA1 Message Date
Nigel Stewart
ce35076e59 Apitrace updates, DSA fixes, NV_bindless_texture, NV_draw_texture, AMD_sparse_texture.
Regal gl.py fixups.
Initial build target support for wrangler-mode Regal.
GLEW refresh.
2013-11-22 15:02:03 -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
53fc58e83f Improved completeness of logging - more parameters.
Improved enum to string conversion for logging purposes.
Filtering tweaks for ES 2.0.
2013-10-26 21:09:01 -05:00
Nigel Stewart
eefa36ce5d Emu::Quads complete and enabled for ES2 and Core contexts
Fix: Properly categorize EGL_VERSION_1_0 enums, and handle EGL_VERSION_1_3 and EGL_VERSION_1_4
Emu::Iff - change Modelview to ModelView to match GL built-ins properly
libpng - ARM and Neon support added from upstream
Android logging - skip logcat if we are logging to a file
GLbitfield logging for glPushClientAttrib
Windows fixup - detect ES2 context and avoid querying desktop context limits
Fixup - Ensure that Init::init() happens before Init::makeCurrent
Query REGAL_SYS_ES2 and REGAL_SYS_GL environment variables - need to choose right .so to load
2013-10-21 14:03:44 -05:00
Nigel Stewart
d097082985 Merge branch 'master' of https://github.com/phuang/regal 2013-10-21 13:56:41 -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
Peng Huang
5b03d0332b Fix link errors against libgtestlib.a 2013-10-14 10:23:10 -05:00
Nigel Stewart
3ee1fc7b8d Set relevant emulation "limits" from relevant layers.
regaltest fixups for Regal::EmuInfo
2013-10-07 22:20:30 -05:00
Peng Huang
6e48b55431 Fix link errors against libgtestlib.a 2013-10-07 14:15:03 -04: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
0cfa16136e Merge branch 'vertex' of https://github.com/igor-c/regal 2013-09-11 09:54:34 -05:00
Nigel Stewart
5d9e24050b Merge branch 'mbishop-emscripten' of https://github.com/michaeljbishop/regal 2013-09-11 09:48:42 -05:00
Nigel Stewart
8bb535a65f Merge snations branch to master 2013-09-11 09:44:19 -05:00
Michael J. Bishop
9f3a0cc716 Update missing symbol eglGetProcAddressEMSCRIPTEN.
Emscripten simply exposes `eglGetProcAddress`.
2013-09-11 10:26:19 -04:00
Nigel Stewart
3ad6fd770e Revised version of commit b92e6bb26a
Consolidation of various GL context limits into RegalEmu.h and ContextInfo
Improved array bounds checking for emulation
More querable states for GL database
Revision: Resolve Iff fixed-function lighting emulation perf regression.
2013-09-09 12:23:02 -05:00
Igor Chernyshev
410c0d5668 Pass glVertexAttribNN() to the driver.
This also fixes memset() call that used to be placed after struct init.
2013-09-06 11:43:18 -07:00
Nigel Stewart
39a386c369 Revert "Consolidation of various GL context limits into RegalEmu.h and ContextInfo"
Due to performance regression in Emu::Iff

This reverts commit b92e6bb26a.
2013-09-06 12:08:08 -05:00
Nigel Stewart
b92e6bb26a Consolidation of various GL context limits into RegalEmu.h and ContextInfo
Improved array bounds checking for emulation
More querable states for GL database
2013-09-06 09:40:29 -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
22e2bc95ce Merge snations branch 2013-08-23 09:44:42 -05:00
Nigel Stewart
5757a52a31 Merge remote-tracking branch 'github/master' into snations 2013-08-15 14:44:17 -05:00
Nigel Stewart
89dfc6fce8 Touch-ups, mostly for emscripten. 2013-08-15 14:08:33 -05:00
Nigel Stewart
7eedcd0443 Merge branch 'master' of https://github.com/vvuk/regal 2013-08-15 13:56:11 -05:00
Vladimir Vukicevic
ff09ad3190 Fix emscripten config; make dreamtorus work 2013-08-12 16:15:29 -04:00
Ben Pye
80d46c8f7d Make it build on VS2013 2013-08-10 16:28:02 +01:00
Nigel Stewart
41f9b271b0 Consolidation of environment variable queries at runtime.
ARB_texture_cube_map and EXT_texture_cube_map for ES 2.0
IFF emulation improvements
Emscripten build improvements
Update zlib to version 1.2.8
Update libpng to version 1.6.3
Update mongoose to version 3.8
2013-08-09 16:54:25 -05:00
Scott Nations
d4065e8033 New version of RegalPpca based on RegalClientState.h 2013-08-05 20:46:49 -05:00
Nigel Stewart
b1128f1a0c Reorganize Makefile build into a more modular scheme.
Cleanup of RegalDispatchTraceExclude.py for better clarity / TODO purposes.
2013-08-05 14:58:34 -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
756b3c4bc3 Implement some GL_FOG getters 2013-07-24 15:30:57 -04:00
Vladimir Vukicevic
11d3600690 More EMSCRIPTEN/webgl fixes 2013-07-24 15:30:57 -04:00
Vladimir Vukicevic
8524da1f65 Update core sources for Emscripten/WebGL 2013-07-24 15:30:57 -04: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
Vladimir Vukicevic
9baf0efc39 Add unsigned_length() for EMSCRIPTEN in boost/print/detail.hpp 2013-07-24 15:30:42 -04:00
Vladimir Vukicevic
97d0fd3f06 Update Makefiles to support Emscripten
- Use BIN.SUFFIX instead of BIN_EXTENSION for consistency
- Don't build static/shared lib if the filename isn't specified
- Examples should depend on static lib if shared isn't built
- Allow overriding release-mode defines for LOG/TLS
- Add SYSTEM=emscripten config
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
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
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
917b7726b7 Add GL_R and GL_RG formats from ARB_texture_rg and EXT_texture_rg
ARB_multitexture emulation for ES 2.0
2013-07-10 14:21:57 -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
b3a8796961 Leave Doxygen-generated documentation out of git repository. 2013-06-29 18:59:05 -05:00
Nigel Stewart
6d683dd297 ARB_draw_buffers emulation for ES 2.0
glReadBuffer emulation for ES 2.0
JSON support for hint emulation layer.
2013-06-29 18:56:47 -05:00
Igor Chernyshev
908d2b2164 Initialize TexenvCombineState to proper defaults.
Without correct defaults some combinations miss texture data.
For example the following sequence of calls will fail to produce
RGB colors upon rendering:

  glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_COMBINE)
  glTexEnvi(GL_TEXTURE_ENV, GL_COMBINE_ALPHA, GL_REPLACE)
  glTexEnvi(GL_TEXTURE_ENV, GL_SOURCE0_ALPHA, GL_PRIMARY_COLOR)

The spec tells that correct defaults are:
  mode=GL_MODULATE
  src0=GL_TEXTURE
  src1=GL_PREVIOUS
  src2=GL_CONSTANT

See pages 185 and 279 at http://www.opengl.org/documentation/specs/version2.0/glspec20.pdf

Also updates paths in README.
2013-06-26 12:18:59 -07: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
Igor Chernyshev
e53bf69f15 Update uniforms after glColor().
The updates were not propagated because Iff::UpdateUniforms()
did not think that there was a change.
2013-06-24 05:04:48 -07:00
Nigel Stewart
1c72872ed1 Enable GL_CLAMP on ES2.0/3.0 and core GL contexts by remapping to equivalent GL_CLAMP_TO_EDGE
Add emulation support for glInterleavedArrays().
Add emulation support for DSA VertexArray*OffsetEXT routines.
RegalUtil.h namespace macros moved to RegalNamespace.h
2013-06-20 12:26:56 -05:00