aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-03-27Fix build with gcc 4.8HEADmasterBernhard Rosenkränzer
gcc 4.8 interprets ""m as a C++11 string literal - need to add a space to make sure it is interpreted the way it should be. Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2012-12-18Build,Doc: Update files for 2012.12 release.Jesse Barker
2012-12-18Merge of lp:~glmark2-dev/glmark2/canvas-drm-rebranchJesse Barker
Adds CanvasDRM, which uses GBM and KMS APIs to manage surfaces and modesetting, respectively. Allows glmark2 to run on a console and take over the framebuffer directly (no window/display manager).
2012-12-17CanvasDRM: Further simplify the select() logic. Firstly, as we have a NULLJesse Barker
pointer for the timeout parameter, select() won't time out and we don't need to handle that return value. Secondly, unless we have a really great idea for handling user input (apart from Ctrl-C), we don't need to listen on stdin.
2012-12-17CanvasDRM: Fix handling of Ctrl-C. Because the Ctrl-C was being handled byJesse Barker
CanvasDRM directly, DRMState had no knowledge of the event, and wasn't able to detect it properly when select() came back with an error. Move the quit handler into DRMState, and give it a public should_quit() method that CanvasDRM can call. This is better encapsulation, and allows DRMState to properly detect the user interrupt and release the GBM resources so the console isn't hung when the application exits.
2012-12-17SceneShadow: Port potential memory leak fix from SceneRefract (detected in bothJesse Barker
scenes during code review for that branch merge).
2012-12-17Merge of lp:~glmark2-dev/glmark2/refractJesse Barker
Adds new SceneRefract, which performs a two interface refraction through an object, as well as a surface reflection. The object (model), environment (texture), and index of refraction of the object medium (index) are all adjustable via command line options, but the default is to render the Stanford Bunny against a background of the 'nasa1' texture with a refractive index of 1.2; the medium surrounding the object is assumed to be air/vacuum (index==1.0).
2012-12-15SceneRefract: Fix potential memory leakAlexandros Frantzis
The memory leak occurs when using the scene for multiple benchmarks.
2012-12-13SceneRefract: Make the refractive index of the medium a command line option.Jesse Barker
The default is 1.2, but could be anything ("believable" effects are probably in the lower values).
2012-12-13SceneRefract: Final (hopefully) tweaks for computing the distance through theJesse Barker
object (the set up of the depth texture, the rendering of the back-side pass, and sampling the depth map), and handling the projection of the transmitted vector through the object to the exit point. Also added some comments in the shader to explain the steps.
2012-12-12SceneRefract: What should be a more correct computation for the back refractionJesse Barker
based upon an approximation of the projection of the front refraction to a point on the back of the object. Use that point to do the back refraction.
2012-12-12CanvasX11EGL: The type definitions between X.h and eglplatform.h make theseJesse Barker
casts unnecessary.
2012-12-11SceneRefract: Pull the face culling and depth func switches into the renderJesse Barker
target object.
2012-12-11SceneRefract: Index of refraction exiting the back of the object is back intoJesse Barker
"air", so make it so.
2012-12-11SceneRefract: Add the model orientation step to the scene draw.Jesse Barker
2012-12-11SceneRefract: Use the eye direction, rather than the light direction as theJesse Barker
incident vector for the front facing refraction. The light direction is still used to compute surface reflection for the specular component.
2012-12-11SceneRefract: Fix the back normal orientation (artifact from a previous hack onJesse Barker
the depth pass shader).
2012-12-10SceneRefract: Updates to compute refraction vectors through the front and backJesse Barker
of the object. This required adding a color target for the first pass so that we can store the surface normals from the back side of the object. Still need to determine whether or not to factor in the distance from the front to the back of the object (else the distance map may not be needed and we may not need the depth target in the first pass).
2012-12-07SceneRefract: First cut at a new scene that will demonstrate the refraction ofJesse Barker
light through a transparent object.
2012-12-06CanvasDRM: Remove the debug statement from the page flip handler based upon ↵Jesse Barker
review comments. Can always be re-inserted if an actual page flip issue is encountered.
2012-12-06Rebranch of lp:~glmark2-dev/glmark2/canvas-drmJesse Barker
Adds CanvasDRM to support rendering to gbm managed surfaces and flipping to DRM-managed framebuffers.
2012-12-06Merge of lp:~glmark2-dev/glmark2/config-update.Jesse Barker
Enhances GLVisualConfig to support the stencil attribute (defaults to prefer no stencil buffer configs). Updates EglConfig to query for all of table 3.1 in the EGL 1.4 spec.
2012-12-06CanvasX11GLX: Print out the stencil size of the selected config in debug modeAlexandros Frantzis
2012-12-05GLVisualConfig: Update the visual config object to understand stencil, and,Jesse Barker
importantly, to explicitly favor no stencil unless asked via command line option.
2012-12-05EGLState: Add remaining config attributes from table 3.1 of the EGL spec. TheseJesse Barker
are unused at the moment but may be useful for debugging.
2012-11-26Build,Doc: Update files for 2012.11 release.Jesse Barker
2012-11-16Merge of lp:~glmark2-dev/glmark2/egl-state.Jesse Barker
Adds EGLState object, which consolidates all EGL interactions.
2012-11-15EGLState: A few bits of clean up based upon review comments.Jesse Barker
- Remove X11-specific native visual type info as it breaks Android build (and is not likely to be of interest anyway). - Remove 'info' level EGL info around extensions, vendor, etc. We don't do it for GLX apart from minimum version requirements (which we don't have for EGL). - Tweak config initialization to match more closely what was originally in CanvasX11EGL, in particular, define the config attribs according to the GLVisualConfig we were given and don't override it.
2012-11-15Merge of ~glmark2-dev/glmark2/shadowJesse Barker
Adds SceneShadow to exercise shadow mapping.
2012-11-13EGLState: Clean up config handling and output so that it builds properly andJesse Barker
works well for both an X11-based and a DRM-based canvas.
2012-11-13CanvasX11{EGL,GLX}: Integrate new EGLState object. This requires a small bitJesse Barker
of new plumbing so that there is an explicit acknowledgement of the window system integration layer (::init_gl_winsys()). Additional canvas objects that do not integrate through X11 will not need this as there won't be the added legacy of GLX.
2012-11-13EGLState: Consolidate all EGL interactions into a separate object. This cleansJesse Barker
up the canvas implementation and paves the way for additional window system integrations (raw KMS device, Wayland, etc.).
2012-10-22SceneShadow: We don't really need a matrix stack for the light transform, soJesse Barker
just use a simple matrix.
2012-10-22SceneShadow: Finally add in the ground with the shadow cast upon it.Jesse Barker
2012-10-22Mesh: Fix for a situation encountered during the development of SceneShadow.Jesse Barker
In cases where a mesh will do "double duty" but not be used the same way in all cases (in SceneShadow, the shader for the depth pass would ignore the "normal" attribute), the GL can return a -1 for the attribute location, even if it is declared in the shader (compilers are free to optimize away unused attributes, etc.). So, we check for this and don't try to enable attributes whose location is -1.
2012-10-22SceneShadow: Add an object to manage the render target for the depth passJesse Barker
from which we'll later generate the horse's shadow when we render the ground. Notice the pass-through varying for the normal. This is a bit of a workaround for the set up of the mesh, which will attempt to enable vertex attribs for both position and normals (some shader compilers will optimize out an unused attribute, which means the attribute location is -1 and the mesh code will generate an error).
2012-10-22SceneShadow: Add sufficient setup, update, and draw code to get the "normal"Jesse Barker
view of the horse going.
2012-10-19SceneShadow: Hook up the supported() member properly. Make setup() dependJesse Barker
upon it as well, as the current main-loop logic only calls supported if the scene isn't marked as running (typically only happens if setup fails).
2012-10-19SceneShadow: Add the skeleton (stubs for derived scene members only) of a newJesse Barker
shadow mapping scene. When complete, the scene will render geometry into a depth texture from the point of view of the light source for the scene, then render the "ground" onto which a shadow of the object would be projected (the depth values from the texture will be used for a distance-from-light comparison with the actual object), and finally render the actual object, which appears to be casting a shadow.
2012-08-23CanvasX11GLX: Updates to handle the API change for GLX_EXT_swap_controlJesse Barker
(The spec always had a void return value for glXSwapIntervalEXT, however, the original example and protocol had a return value of int. To make matters worse, the header files in mesa were updated a year after the spec.). Also, make the GLX_MESA_swap_control initialization match the new logic for GLX_EXT_swap_control.
2012-08-17Build,Doc: Update files for 2012.08 release.Alexandros Frantzis
2012-08-16MainLoop,Android: Exclude from score calculations benchmarks that weren't ↵Alexandros Frantzis
set up correctly.
2012-08-16MainLoop,Android: Log an appropriate message if scene setup isn't successful.Alexandros Frantzis
2012-08-16MainLoop: Exclude from score calculation benchmarks whose setup failed.Alexandros Frantzis
2012-08-16Scene*: Add ::supported() and change ::setup() to return bool.Alexandros Frantzis
2012-08-16SceneJellyfish: Take into account the initialization status of internal objects.Alexandros Frantzis
2012-08-15Scene*: Change ::setup() to return a bool.Alexandros Frantzis
2012-08-15Scene: Add ::supported() method and implement it for scenes that need it.Alexandros Frantzis
2012-08-13Android: Properly handle spaces in extra intent options.Alexandros Frantzis
Surround the benchmark text definitions in quotes to ensure spaces are properly handled. This leverages the recently introduced (rev 244) Util::split() support for bash-like quoting rules.
2012-08-13libmatrix: Sync with lp:libmatrix revision 41.Alexandros Frantzis
Update Util::split() invocations in glmark2 to use the new interface.