Added support for viewing buffer object data in hex format.The find results widget now becomes visible when a search is started.An option is available in the preferences to make the pixel analysis work along with the scrubber. Pixel analysis by default now works on the whole frame and not just up to the scrubber.Fixed a bug that caused image analysis to fail when interrupting the analysis.Added enums from GL_KHR_no_error and EGL_KHR_create_context_no_error.Added a progress bar to show the progress of image analysis.Added string representations of enums defined by EGL_EXT_image_dma_buf_import and EGL_IMG_image_plane_attribs.Hide counters for cores that the HW does not have.3DSMax: Added support for 3DSMax 2016 SP2 (igame version 18.6.667.0).Fixed a bug in OES_required_internalformat support where some internal formats weren't being accepted.Stopped erroneously reporting support for GL_IMG_shader_binary and GL_IMG_program_binary.Fixed error checking in glInvalidateFramebuffer and glInvalidateSubFramebuffer (BRN58009).
Fixed EGL_BUFFER_SIZE sometimes being initialized incorrectly on Windows (BRN57130).Fixed a possible crash on Linux during context creation when GLX_ARB_create_context is not available.Fixed a bug where shaders might fail to translate when the host GLSL version is less than 150.Fixed possible shader translation failures when using instancing or uniform blocks.Fixed a case where shaders may fail to translate when the host GLSL version is less than 330.Fixed EGL_BAD_MATCH being reported when explicitly requesting an ES 3.2 context.Fixed eglMakeCurrent returning EGL_BAD_ALLOC when requesting an ES 3.2 context.Added support for EGL_KHR_create_context_no_error.The compiler executable is now selectable per tab.ShaderEditComponent: Fixed an issue where the compiler process was timing out early, and no output would be retrieved.Declared and defined an empty default destructor for PVRTextureHeader to prevent the compilation of a default destructor in the linking binary. Ported to Vulkan: HelloApi, IntroducingPVRShell, IntroducingPVRAssets, IntroducingPVRApi, Bumpmap, Skinning, Deferred shading.Gnome Horde: A demo specifically created to show a strategy for multi-threaded command buffer creation for Vulkan.Texture upload util function return de-compressed format and boolean indicating if the texture has been de-compressed.PVRUIRenderer needs the render pass and the subpass at the initialization.Framebuffer ColorAttachmentView and DepthStencilAttachmentView are now being removed and instead the Fbo uses the TextureView as their attachment.Texture upload util function also return de-compressed format and boolean indicating whether the texture has been de-compressed.Supports providing custom pointers or connecting with buffers for auto-mapping/unmapping. Utils: a new StructuredMemoryView class allows storing the layout of UBOs and similar objects whose structure needs to be known to be updated.Some objects (Context, Pool) updated with the new embedded refcounting strategy.Pipeline Creation had its interface tweaked to work with Vulkan (RenderPass/SubPass is now passed to the Pipeline as a parameter).Textures and TextureViews had their interface changed slightly (Swizzling is now part of the view, Allocation is part of the texture).Numerous CPU-side performance/memory optimisations.Functions that create objects that are allocated from Pools have been moved from the Context to the actual Pool objects.Several API objects had their implementations updated to correctly work with Vulkan.
The Framework itself consists of a light-weight abstraction layer, as well as utility functions, that provide explicit control of Vulkan whilst reducing the amount of code required to render a scene. In our first release of 2016, we have provided a host of new fixes and updates – including a fully functioning Vulkan backend for the PVR Framework.