Commit graph

49 commits

Author SHA1 Message Date
Scott Nations
bc7e48247e Enabled use of client-side memory in vertex, element, indirect, and count buffer
Added support for glArrayElement(EXT|) to the immediate mode layer.
    Support NUM_EXTENSIONS in glGet(Integer|Float|Double|Boolean|Integer64)v(EXT|)
    Added interception for glGetStringi and glGetIntergerv
    Improve loading of GLES and EGL libraries on Android
    Various bug fixes...
    Merged pull requests:
     #131  NaCL Pepper now uses GLES2 prefix for ES2.0 functions, rather than gl
     #130  Copyright bump to 2014
     #129  NaCL-related build tweaks for regaltest, nacl example and pnacl.
     #128  GLEW refresh
     #126  boost::print fix for mapping 'long' and 'long long' to 32-bit or 64-bit for length purposes
     #125  Resolve clang compilation error: lookup of 'Depth' in member access expression is ambiguous
     #124  Add Makefile support for gcc-4.4, gcc-4.6 and clang toolchains on Linux.
     #116  Make it compile with Visual Studio 2013 (VC12)
2014-08-07 12:24:42 -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
Vladimir Vukicevic
ff09ad3190 Fix emscripten config; make dreamtorus work 2013-08-12 16:15:29 -04: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
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
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
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
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
Sam Clegg
64d847d9e1 [NaCl] Add glibc support 2013-05-17 21:51:39 -07:00
Sam Clegg
1adc4b4207 Use CXX compiler for building C++ code.
Use CC as a fallback.
2013-04-25 18:40:46 -07: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
Sam Clegg
675b95b113 Build and run tests on NaCl 2013-03-29 15:52:02 -07: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
Nigel Stewart
61eeb19536 Fixup for ccache NaCl builds - CCACHE_COMPILERCHECK needs special treatment. 2013-03-18 20:36:08 -05:00
Nigel Stewart
e9dcf83f6c Undo remove of -fPIC flag, probably wasn't at issue. 2013-03-18 17:54:30 -05:00
Nigel Stewart
a1c1fc05ad Makefile build refinements for NaCl pepper25 - working for newlib only. 2013-03-18 13:36:43 -05:00
Sam Clegg
23244203d1 Enable -Werror for linux builds 2013-03-15 11:05:01 -07:00
Sam Clegg
9d88db9c6e Enable -Werror for nacl build 2013-03-15 11:05:01 -07:00
Nigel Stewart
990380a9a7 Merge branch nacl_updates of https://github.com/sbc100/regal
Move zlib, libpng, GLU and GLUT source lists into build/foo.inc for Makefile build.
Move NACL_SDK_ROOT logic into config/Makefile.nacl
Makefile revamp - put libs in lib/$(SYSTEM) and binaries in bin/$(SYSTEM)
Add clobber target for wiping out all temps, libs and binaries
Fixups for core and compat profiles.
2013-03-14 14:10:07 -05:00
Nigel Stewart
68a81df576 Add Regal::Emu::Xfer ES2-only texture conversion emulation layer.
DXT1 and DXT5 via squishlib, disabled by default.
Per emulation layer force flag REGAL_FORCE_EMU_FOO for Regal::Config.
build/regal.inc for GNU make list of sources and headers.
Updated VC projects.
Extend RegalUtil.h to ensure that REGAL_NO_ASSERT, REGAL_NO_PNG, REGAL_NO_SQUISH, REGAL_NO_TLS are always defined - 0 or 1.
Update boost (subset) to 1.53.0 release.
2013-03-11 10:58:27 -05: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
Sam Clegg
a0665d2e3a Fix broken nacl build 2013-01-08 14:14:46 -08:00
Nigel Stewart
e5be2b031b VC10 projects for building regaltest.
Move Regal::Thread dependency from RegalPrivate.h to RegalContext.h
Add jsonsl to src tree, for parsing JSON data.
Extend boost::print to support pad(width) operator for indentation.
Info logging for shader caching.
Logging enhancement for texture parameter.
shaderSourceStrings - to NUL-terminated string.
Build regaltest as part of all Makefile target.
2013-01-04 14:08:55 -06:00
Nigel Stewart
e668a3d80f Merged texture conversion emulation layer.
Logging refinements

Per-toolchain debug and release flags for Makefile build.

Regal sampler object refinements.

Logging refinements - REGAL_LOG_MAX_BYTES=n for limiiting raw bytes, REGAL_LOG_MAX_BYTES=0 to omit pointers.

Extend boost::print to support optional output.
2012-12-22 10:03:45 -06:00
Nigel Stewart
fcf8e606de For Makefile build, specify MODE=debug for debug-mode build.
Fixup: exit glFrameTerminatorGREMEDY appropriately whether Regal::Frame is in use, or not.
Use -O1 for linux-arm Makefile build, to workaround goofy assembler error.
Fixes for Regal extensions handling.
eglGetProcAddress fix.
Improved EGL logging.
2012-11-29 11:03:15 -06:00
Sam Clegg
77a1eb00bb Add nmf generation to Makefile
Also, fix file suffix for nacl builds.
2012-11-16 16:15:39 -08:00
Nigel Stewart
a79fb8519e Add configuration for Linux ARM Makefile build.
Reshuffle of RegalInit.cpp to distinguish Regal API entry points and internally available methods.
Rename GET_REGAL_CONTEXT macro to REGAL_GET_CONTEXT, and move from RegalPrivate.h to RegalThread.h
Rename RegalCheckForGLErrors to Regal::Init::checkForGLErrors.
2012-11-08 08:58:41 -06:00
Nigel Stewart
f542d0b6ac Modularize Export.py into scrpts/regal/...
Refresh mongoose sources from github
Resolves MS compiler warnings by casting double to float for remapping.
Regal.h refinements
Initial GLX enum support for RegalToken.h
2012-08-28 07:38:34 -05:00
Nigel Stewart
2cee20d23f Initial implementation of GL_REGAL_enable.
GLUT dreamtorus keyboard hooks for toggling dispatch layers, one by one.
NaCL build fixups.
2012-08-22 10:55:21 -05:00
Nigel Stewart
7dd43577c7 NaCL build fix. 2012-08-21 13:00:56 -05:00
johnmccutchan
514ae9b44f Remove unneeded -melf64_nacl LDFLAGS 2012-08-20 10:40:53 -07:00
Nigel Stewart
2ab57ed958 Initial Regal support for GL_REGAL_ES1_0_compatibility and GL_REGAL_ES1_1_compatibility.
Improved build support for NaCL.
GLEW refresh.
2012-08-19 19:36:32 -05:00
Nigel Stewart
049cc60b25 Merge NaCL branch: https://github.com/johnmccutchan/regal
Initial GL_REGAL_enable infrastructure for runtime glEnable/glDisable control of Regal features such as error and debug checking.
Add support for REGAL_NO_TLS compile flag.
GLEW refresh.
Public domain license for dreamtorus example code.
2012-08-15 23:46:33 -05:00
johnmccutchan
9a64a10529 Remove unnecessary -melf64_nacl 2012-08-15 11:08:33 -07:00
johnmccutchan
ba47fe9c91 Makefile changes 2012-08-14 15:29:31 -07:00
johnmccutchan
ce35ea80a2 Merge branch 'master' of https://github.com/p3/regal
Conflicts:
	config/Makefile.nacl-64
2012-08-09 14:19:20 -07:00
Nigel Stewart
41530b01c7 Initial code generation for Google Native Client (NaCL) support. 2012-08-09 16:14:14 -05:00
johnmccutchan
54eeff27aa Build updates 2012-08-09 10:07:29 -07:00
johnmccutchan
b582bc1373 Build GLU 2012-08-09 07:19:55 -07:00
johnmccutchan
edc6f5ebda Merge remote-tracking branch 'regal-upstream-origin/master' 2012-08-07 11:26:24 -07:00
johnmccutchan
e4655bc392 Make fixes 2012-08-07 11:19:51 -07:00
Nigel Stewart
65a0efee06 Update to GLEW 1.9.0, including GL 4.3
Makefile build for RegalGLU
Add ccache support to Makefile build
2012-08-06 16:15:33 -05:00
johnmccutchan
8fa358a015 Initial cut of NaCL build configuration 2012-08-06 09:19:39 -07:00
Nigel Stewart
3db19d267d Global dispatch fix for Doom 3.
Add glewinfo to Linux/Mac builds.
Update GLEW with Regal extensions.
More Regal::State::Enable implementation.
2012-07-24 20:35:01 -05:00
Nigel Stewart
1df6ef298c Complete OpenGL API logging. Regal context initialization rework. More compile-time configuration. Added documentation. Added VC10 project. 2012-06-27 09:55:55 -05:00
Nigel Stewart
892d6c4d48 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. Bug fixes. 2012-05-28 17:05:24 -05:00
Cass Everitt
e126329aab initial Regal commit 2012-05-11 16:44:03 -05:00