PowerVR Tools and SDK 2023 Release 2
SDK
- ASTC as preferred format over PVRTC.
- Fixed validation errors in four SDK examples (HybridHardShadows, HybridReflections, HybridSoftShadows, RayTracingDenoising).
- Updated toolchains for QNX (armv7, armv8, gcc-x86_32, gcc-x86_64).
- Extended max swapchain number in all Vulkan demos, making swapchain images completely dynamic for any swapchain number.
- Added new module for GL ES Safety Critical applications on Automotive.
- Subgroups Demo validation: Verification subgroup size is greater than zero.
- Fix in HelloRayTracing Vulkan Demo removing unneeded memory properties for buffer allocations.
- Fix in PipelineCache Vulkan Demo to return correct pipeline cache size.
- PVRScope libraries update to PVRTune Developer 23.1.
- Added new GL ES Safety Critical Example: Automotive Surround View.
- Added new GL ES Example: Shader Based Anti Aliasing Demo.
- Added new Vulkan Example: GPU-controlled rendering.
- Added new Vulkan Example: SPH Fluid simulation.
- Added new Vulkan Example: Timeline semaphores.
- The documentation from this repository has been moved to https://docs.imgtec.com/
PVRCarbon v0.11
General
- Add
vkQueueWaitIdle
to list of custom delimiters.
CLI
- Add Android command-line binaries for PVRCarbonFrameAnalysis, PVRCarbonTrim, and PVRCarbonToCpp. These are intended to be ran from an
adb shell
on powerful rooted Android devices for times where analysis/trimming operations can’t be performed on Linux/Windows platforms. - Add command-line option
--frame
to PVRCarbonFrameAnalysis to specify the frame to analyse. - Fix invalid
unordered_map<K, T> key
error seen with PVRCarbonToCpp when exporting some Vulkan recordings with the--disable-surface-replacement
option. - Improve validation of
--uid-range
and--frame-range
command-line arguments.
Export To C++
- Improve maximum path length handling.
- Improve buffer device address handling.
- Add support for
VK_KHR_ray_tracing_pipeline
andVK_KHR_acceleration_structure
.
GUI
Frame Analysis
- Add data viewer to Buffer objects.
- Fix displaying
OpenGL ES
draw indirect data in the Input Assembly widget. - Add support for viewing vertex attribute data.
- Add support for viewing uniform, uniform buffer, and storage buffer data.
- Fix crashes seen when exporting some tables to file.
Layers
- Add support for handling and updating
VkImageFormatListCreateInfo
in the format emulation layer. - Add
VK_LAYER_POWERVR_gpu_timestamps
which is a Vulkan layer that can be used to provide accurate timing information using Vulkan’s timestamp queries mechanism.
Player
- Add option
--api-debug-report-level
to define the severity of messages returned by the Vulkan validation layers when--enable-api-debug-report
is enabled. The player now defaults to showingerrors
only. - Fix a bug in
--capture-frames
where the last capture may not be written to file. - Remove option
--ignore-capture-replay-compatibility
. The player will now warn if the playback platform is different to the recorded platform but will attempt to use recorded device addresses if the capture replay feature is supported. - Rename
--show-windows
to--create-windows
and clarify its behaviour in the documentation. - Add
--hide-created-windows
option to hide native windows on their creation. Currently only implemented for Windows. - Add filtering of
EGL_CONTEXT_OPENGL_NO_ERROR_KHR
fromeglCreateContext
calls ifEGL_KHR_create_context_no_error
is unsupported. - Add command-line option
--drm-device
to allow the user to override the default DRM device/dev/dri/card0
used for creating DMA buffers when playing back native buffers. - Improve the selection of physical devices to better match the physical devices used at record time.
- Improve the robustness of the synchronisation used when rendering offscreen with
--offscreen
. - Add command-line options
--dump-gpu-timestamps
,--dump-gpu-timestamps-path
and--dump-gpu-timestamps-base-filename
which can be used to enable and configure the use ofVK_LAYER_POWERVR_gpu_timestamps
to provide accurate timing information during playback of recordings.
Recorder
- Disable
VK_EXT_shader_module_identifier
during recording as it produces non-portable recordings. This extension and its features can be enabled by setting thedisable_identifiers config option
tofalse
. - Add config option
PVRCARBON_native_buffer_drm_device
to define the DRM device to use. If undefined, PVRCarbon will query/dev/dri/card0 - /dev/dri/card9
to find the device.
Trimming
- Add support for Vulkan timeline semaphores.
- Fix screenshot saving during trimming.
- Add command line argument
--strip-recorded-framebuffers
to strip screenshots while trimming. - Add support for
VK_EXT_debug_utils
andVK_EXT_debug_report
. - Improve the selection of queues used for trimmed resource initialisation.
- Add support for
VK_KHR_ray_tracing_pipeline
andVK_KHR_acceleration_structure
. - Add support for OpenGL ES sync objects.
PVRTune v14.156
General
- We no longer support rogueddk branches 1.6, 1.7 and 1.8; and we no longer support .PVRTune files from 4.0, 16.1, 16.2 or 17.1. Use PVRTune from the 23.1 release for that.
- Improve documentation of where Custom Marks will be displayed in PVRTune (in a PVRScope Timeline or in the PVRPerfServer Timeline).
GUI
- Implement DTEC-4444 and DTEC-4470: Improve Stream & TL identification in GUI. Improve Stream and Timeline names, prefix a Device colour swatch to each timeline (before the Timeline, normally PID, colour swatch).
- Implement DTEC-4649: PVRTune export Properties for all tasks to a TXT file.
- Fix DTEC-5126: A line of text is broken on the welcome screen of PVRTune.
- Fix DTEC-5129: Windows DPI-scaling crops view of Smooth spinner.
- Improve DTEC-5326: Vulkan client stream, fix occasional crash and improve performance.
- Implement DTEC-5424: Add descriptions for “2d|compute|renderer|tiler time” counters in PVRTune.
- Implement DTEC-5537 Feature request: Option to show precise counter values in PVRTune’s Counter Table. Added “Show precise values” to context menu.
- Implement DTEC-5620: Remove broken “Integrate Connection” option; now the Connect window will always be integrated.
- Fix DTEC-5622: Graph Pane context menu “Pause View” option: keep check state in sync and fix occasional need for duplicate keyboard shortcut keypresses. Also ensure the view is paused when viewing a selected time range.
- Fix DTEC-5685 Counter Table: “Show Selected” crashes for folders (should not be available).
- Implement DTEC-5673 Timelines docking window: Add context menu with Show All/Hide All options.
- Implement DTEC-5748: Show ContextID on GLES, OCL and OGL timelines.
- Fix DTEC-5756: Occasional miscoloured text: white text not readable.
- Implement DTEC-5845 PVRTune: Disable Clock Transform menu when no sub-menu options.
- Fix DTEC-5851: “PVRPerfServer Details” docking windows contents disappear when pressing ESC on keyboard.
- Fix DTEC-5855 PVRTune: Segmentation fault error when running PVRPerfServer with –nopid option on Ubuntu.
- Implement DTEC-5882 PVRTune: PVRPerfServer-> Details…. menu should be deleted.
- Implement DTEC-5883 StatsReport: Remove Context Menu, replace with controls.
- Fix DTEC-5885 PVRTune: Graph settings tab gets out of screen.
- Fix DTEC-6109 PVRTune: Incorrect numbering when adding new tabs.
- Fix DTEC-6113: HTML markup showing in Status Bar.
- Fix DTEC-6131: Dynamic DPI changes (i.e. move PVRTune between monitors with different DPI scaling) in graph panes. Fixes minor layout issues: enlarged line spacing, enlarged arrows, placement of items on HUD.
PVRScope
- Fix DTEC-4304: Allow PVRScopeComms to migrate between threads.
PVRPerfServer
- Implement DTEC-4785: PVRPerfServer command-line option
--exec
to run a process and exit after. - Implement DTEC-6110: PVRPerfServer
--sendto
should append “.PVRTune” if missing.
PVRTuneComplete
General
- Implement DTEC-4299: Read and display ExtJobRef. Group enqueue/fail with the begin/end on NNA devices.
- Implement DTEC-4415: Per-core power on/off events on NNA devices.
- Implement DTEC-4417: Export and display ‘priority’ on NNA (4NX) devices.
- Implement DTEC-4859: PVRTune documentation of NNA and GPU sources.
GUI
- Implement DTEC-5320: Vulkan Shader Analysis instructions generate a .txt file; update the “File/Load Shader Analysis…” file extension filter.
- Implement DTEC-4298: Show NNA clock cycles and calculated clock speed.
- Implement DTEC-5749: Allow ‘unknown’ client events to form a task.
- Fix DTEC-5953: Rogue MC2 DMCycle calculation can be incorrect.
- Fix DTEC-5831: Possible improper processing of Rogue MC2 counter readings. Also improve Properties view of “Counter Reset”, “Counter Config” and “Expected counter readings” with Rogue MC2.
- Fix DTEC-6129: “Duration” ToolTip should not display for child items.
PVRVFrame v10.15.4
- Fix warning
Undefined behaviour: A GL error occurred and GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR was set for this context
which was being incorrectly output in some code paths.
PVRStudio v1.0.2
- New Remote Android deployment plugin. Allows to build native-only applications and deploy to any Android device.
- Android remote screen-capture.
- Enhanced documentation navigation and style and updated content.
- All system dialogs are now properly themed following the ID style.
- Enhanced Welcome landing page to make it simpler and quicker to navigate.
- Updated Profiling Compilers and SpirV-Tools for SpirV and GLSL analysis and profiling.
Profiling Compilers v23.2
- First release. Command-line wrapper for PowerVR GPU Profiling Compiler to allow inclusion in toolchains. The Profiling Compilers read GLSL, SpirV and OpenCL kernels and output profiling statistics and GPU assembly code in both in TXT and JSON formats.