Commit graph

85 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
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
Scott Nations
1ba938a5f0 - Refreshed apitrace and GLEW from upstream.
- Merged pull requests 120, 122, 123
- emscripten: Disabled some em++/emcc optimization passes
  and set an outlining limit to avoid crashes in those tools.
- emscripten: Resolved some compilation problems in zlib.
2014-07-16 14:49:02 -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
Scott Nations
7864ed22f0 Resolve compilation error for Android NDK r9b clang toolchain.
refresh GLEW and apitrace
2014-01-08 17:21:52 -06:00
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
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
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
3ee1fc7b8d Set relevant emulation "limits" from relevant layers.
regaltest fixups for Regal::EmuInfo
2013-10-07 22:20:30 -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
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
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
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
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
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
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
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
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
f649ec6e0e Android build fixups - not linking snappy and apitrace yet. 2013-06-06 09:50:51 -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
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
Andy Chien
b921779d71 Merge branch 'master' of git://github.com/p3/regal.git 2013-04-19 11:54:53 -07:00
Nigel Stewart
2bd2998738 Further push/pop attrib emulation support.
Improved multi-threading, shared contexts for GLX.
Updated VC projects.
2013-04-12 23:25:42 -05:00
Andy Chien
b03d7f8a4b Fixed PPAPI VS Projects 2013-04-12 10:39:02 -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
Jason Allen
b71d0b2ae6 fix TargetPath warnings in Visual Studio by setting the TargetName to regal32 or regalm32 for the Regal and Regalm projects 2013-04-07 15:28:08 -05:00
Jason Allen
8ba9a2b9c6 Leave glTextureStorage calls to DSA, implement glTexStorage calls in TexSto emulation 2013-04-10 18:28:48 -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
c54aa8b3a2 Initial implementation of on-disk texture caching.
Refinements for Android ndk-build.
2013-03-15 17:21:00 -05: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
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
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
Andy Chien
586f4b9f9f Updated PPAPI Release build project files to exclude log, etc 2013-03-05 11:20:06 -08:00
Nigel Stewart
932ed14443 Add Regal::scoped_ptr and Regal::scoped_array
Improved Mac OS X force core context.
Add Error dispatch breakpoint to Regal::break scope.
Improved core context support.
2013-03-05 08:03:49 -06: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