Quantcast
Channel: Resources – Mali Developer Center

Vulkan Tools

$
0
0

As high performance and high efficiency are increasingly demanded on mobile devices, developers are looking to the Vulkan API for the future of mobile graphics and compute. ARM’s Vulkan conformant Mali GPUs are compatible with the following Vulkan Tools:

  • Detect Vulkan performance issues frame-by-frame.
  • Redesigned Assets View: show only the data you need.
  • Full trace of the Vulkan API: See the order and types of Vulkan calls.
  • An invaluable tool for Vulkan development on ARM Mali platforms.
Mali Graphics Debugger 
  • Resources to help developers build Vulkan applications.
  • Full documentation, framework, sample codes and tutorials.
  • Create new apps and explore Vulkan development.
  • Build for platforms that run Vulkan on Android with a Mali GPU.
Mali Vulkan SDK  

Vulkan Blogs and Tutorials

From the ARM Connected Community and our Mali Tutorials.

Using Mali Graphics Debugger on a non-rooted device
A guide to setting up Mali Graphics Debugger for non-rooted Android devices.

Building an Unreal Engine application with Mali Graphics Debugger support
Set up your Unreal Engine applications with Mali Graphics Debugger.

Building a Unity application with Mali Graphics Debugger support
Set up your Unity applications with Mali Graphics Debugger.

ARM Vulkan tutorials
Follow our tutorials for Vulkan development

The post Vulkan Tools appeared first on Mali Developer Center.


Virtual Reality (VR) Tools

$
0
0

Developing a Mobile Virtual Reality application requires a different approach to ‘traditional’ app development. Users are immersed while using a VR application and expect objects and the world around them to behave much like the real world. Mobile VR applications should be built with great care and attention to detail, and must be able to achieve the highest performance possible so that users have a comfortable and memorable experience. This is where our VR Tools can help.

How can I start developing for mobile VR?
The Mali VR SDK contains all you need to start developing VR applications for platforms using an ARM Mali GPU, from tutorials to sample codes.

How can I ensure the best performance of my mobile VR application?
Mali Graphics Debugger allows you to optimize performance on ARM Mali GPUs by checking for any issues or bottlenecks frame-by-frame.

  • Detect VR performance issues frame-by-frame.
  • Frame capture continues until all render passes started have been completed.
  • Colour-coded EGL contexts in Trace, Trace outline and Timeline views.
  • An invaluable tool for VR development on ARM Mali platforms.
Mali Graphics Debugger 
  • Resources to help developers build VR applications.
  • Full documentation, framework, sample codes and tutorials.
  • Create new apps and explore VR development.
  • Build for Android platforms with a Mali GPU.
Mali VR SDK  

Virtual Reality Blogs and Tutorials

From the ARM Connected Community and our Mali Tutorials.

Using Mali Graphics Debugger on a non-rooted device
A guide to setting up Mali Graphics Debugger for non-rooted Android devices.

Achieving High Quality Mobile VR Games
A round-up of ARM talks from Games Developer Conference 2016.

Optimizing Virtual Reality: Understanding Multiview
How to render the same scene with multiple points of view with one draw call.

ARM Virtual Reality tutorials
More tutorials for mobile VR development.

The post Virtual Reality (VR) Tools appeared first on Mali Developer Center.

Computer vision and deep learning software library – Binary version for internal evaluation only

$
0
0

The downloadable package include documentation and binary builds of the library for multiple platforms:

    • Linux 32-bit (ARMv7a)
    • Android 32-bit (ARMv7a)
    • Android 64-bit (ARMv8a)

For any questions email: developer@arm.com

In order to be able to download the ARM Computer Vision and Deep Learning performance library you need to read and accept the terms of the license below.

END USER LICENCE AGREEMENT FOR THE COMPUTER VISION AND DEEP LEARNING SOFTWARE LIBRARY

THIS END USER LICENCE AGREEMENT (“LICENCE”) IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED (“ARM”) FOR THE USE OF THE DELIVERABLES ACCOMPANYING THIS LICENCE. ARM IS ONLY WILLING TO LICENSE THE DELIVERABLES TO YOU ON CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING “I AGREE” OR BY INSTALLING OR OTHERWISE USING OR COPYING THE DELIVERABLES YOU INDICATE THAT YOU AGREE TO BE BOUND BY ALL THE TERMS OF THIS LICENCE.

  1. DEFINITIONS.

“Authorised Purpose” means the right to use the Deliverables internally solely to execute the software included in the Deliverables on ARM based devices.

“Deliverables” means the software binaries accompanying this Licence, and

“Input” means all suggestions, comments, feedback, ideas, or know-how (whether in oral or written form) provided by you to ARM under this Licence and in connection with the Deliverables.

  1. LICENCE GRANT.

2.1 DELIVERABLES: ARM hereby grants to you, subject to the terms and conditions of this Licence, a non-exclusive, non-transferable, royalty free, worldwide licence to use and copy, internally only, the Deliverables solely for the Authorised  Purpose.

Licence to ARM

2.2  You may at your discretion deliver any Input to ARM.

2.3 Except as expressly agreed to the contrary in writing by both parties, you hereby grant to ARM and its Subsidiaries under your and your affiliates (as applicable) intellectual property a perpetual, irrevocable, royalty free, non-exclusive, worldwide licence to: (i) use, copy, modify, and create derivative works of the Input as part of any or all of the Deliverables and any other ARM product(s); (ii) sell, supply or otherwise distribute the whole or any part of the Input (and derivative works thereof) as part of any or all of the Deliverables and any other ARM product(s); and (iii) sublicense to third parties the foregoing rights, including the right to sublicense to further third parties. No right is granted by you to ARM to sublicense your and your affiliates (as applicable) intellectual property except to the extent that it is provided to ARM as Input and is embodied in any or all of the Deliverables and any other ARM product(s).

2.4 Except as expressly licensed to ARM in Clause 2.3, you retain all right, title and interest in and to the Input provided by you under this Licence.

2.5 You shall not knowingly give to ARM any Inputyou have reason to believe is subject to any patent, copyright or other intellectual property claim or right of any third party.

2.6 For the avoidance of doubt, ARM shall be free to use, copy, disclose or otherwise distribute any Input as part of any or all of the Derivatives and any other ARM product(s) to any third party or pursuant to any of the licences granted in Clause 2.3 without obligation or restriction of any kind.

  1. RESTRICTIONS ON USE OF THE DELIVERABLES.

REVERSE ENGINEERING: Except to the extent that such activity is permitted by applicable law you shall not reverse engineer, decompile or disassemble any of the Deliverables. If the Deliverables were provided to you in Europe you shall not reverse engineer, decompile or disassemble any of the Deliverables for the purposes of error correction.

BENCHMARKING: This Licence does not prevent you from using the Deliverables for internal benchmarking purposes. However, you shall treat any and all benchmarking data relating to the Deliverables, and any other results of your use or testing of the Deliverables which are indicative of its performance, efficacy, reliability or quality, as confidential information and you shall not disclose such information to any third party without the express written permission of ARM.

RESTRICTIONS ON TRANSFER OF LICENSED RIGHTS: The rights granted to you under this agreement may not be assigned, sublicensed or otherwise transferred by you to any third party without the prior written consent of ARM. You shall not rent or lease the Deliverables, or except as expressly provided above, share them with third parties.

TITLE AND RESERVATION OF RIGHTS: You acquire no rights to the Deliverables other than as expressly provided by this Licence. The Deliverables are licensed not sold. ARM does not transfer title to the Deliverables to you. In no event shall the licences granted in Clause 2 be construed as granting you expressly or by implication, estoppel or otherwise, licences to any ARM technology other than the Deliverables.

COPYRIGHT NOTICES: You shall not remove from the Deliverables any copyright notice or other notice and shall ensure that any such notice is reproduced in any copies of the whole or any part of the Deliverables made by you.

  1. CONFIDENTIALITY.

You acknowledge that any benchmarking data may contain trade secrets and confidential material and you agree to maintain all such information in confidence and apply security measures no less stringent than the measures which you apply to protect your own like information, but not less than a reasonable degree of care, to prevent unauthorised disclosure and use. Subject to any restrictions imposed by applicable law, the period of confidentiality shall be indefinite. You agree that you shall not use any such information other than in normal use of the Deliverables under the licences granted in this Licence.

  1. NO SUPPORT.

ARM has no obligation to support or to continue providing or updating any of the Deliverables.

  1. NO WARRANTIES.

YOU AGREE THAT THE DELIVERABLES ARE LICENSED “AS IS”, AND THAT ARM EXPRESSLY DISCLAIMS ALL REPRESENTATIONS, WARRANTIES, CONDITIONS OR OTHER TERMS, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, TITLE, SATISFACTORY QUALITY, MERCHANTIBILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

YOU EXPRESSLY ASSUME ALL LIABILITIES AND RISKS, FOR USE OR OPERATION OF ANY APPLICATION PROGRAMS YOU CREATE WITH THE DELIVERABLES, AND YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  1. LIMITATION OF LIABILITY.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ARM OR ITS LICENSORS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING LOSS OF PROFITS) ARISING OUT OF THE USE OR INABILITY TO USE THE DELIVERABLES WHETHER BASED ON A CLAIM UNDER CONTRACT, TORT OR OTHER LEGAL THEORY, EVEN IF ARM OR ANY SUCH LICENSOR WAS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

ARM does not seek to limit or exclude liability for death or personal injury arising from ARM’s negligence and because some jurisdictions do not permit the exclusion or limitation of liability for consequential or incidental damages the above limitation relating to liability for consequential damages may not apply to you.

NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED IN THIS LICENCE, THE MAXIMUM LIABILITY OF ARM TO YOU IN AGGREGATE FOR ALL CLAIMS MADE AGAINST ARM IN CONTRACT TORT OR OTHERWISE UNDER OR IN CONNECTION WITH THE SUBJECT MATTER OF THIS LICENCE SHALL NOT EXCEED THE GREATER OF THE TOTAL OF SUMS PAID BY YOU TO ARM (IF ANY) FOR THIS LICENCE AND US$5.00.

  1. U.S. GOVERNMENT END USERS.

US Government Restrictions: Use, duplication, reproduction, release, modification, disclosure or transfer of this commercial product and accompanying documentation is restricted in accordance with the terms of this Licence.

  1. TERM AND TERMINATION.

This Licence shall remain in force until terminated by you or by ARM. Without prejudice to any of its other rights if you are in breach of any of the terms and conditions of this Licence then ARM may terminate this Licence immediately upon giving written notice to you. You may terminate this Licence at any time.

Upon termination of this Licence by you or by ARM you shall stop using the Deliverables and destroy all copies of the Deliverables in your possession together with all documentation and related materials.

The provisions of Clauses 1, 2.3 – 2.6, 4, 7, 8, 9, and 10 shall survive termination of this Licence.

  1. GENERAL.

This Licence is governed by English Law. Except where ARM agrees otherwise in a written contract signed by you and ARM, this is the only agreement between you and ARM relating to the Deliverables and it may only be modified by written agreement between you and ARM. Except as expressly agreed in writing, this Licence may not be modified by purchase orders, advertising or other representation by any person. If any clause in this Licence is held by a court of law to be illegal or unenforceable the remaining provisions of this Licence shall not be affected thereby. The failure by ARM to enforce any of the provisions of this Licence, unless waived in writing, shall not constitute a waiver of ARM’s rights to enforce such provision or any other provision of this Licence in the future.

You agree to comply fully with all laws and regulations of the United States and other countries (“Export Laws”) to assure that the Deliverables are not (1) exported, directly or indirectly, in violation of Export Laws, either to any countries that are subject to U.S.A. export restrictions or to any end user who has been prohibited from participating in the U.S.A. export transactions by any federal agency of the U.S.A. government; or (2) intended to be used for any purpose prohibited by Export Laws, including, without limitation, nuclear, chemical, or biological weapons proliferation.

ARM contract reference:   COMPUTER VISION AND DEEP LEARNING SOFTWARE LIBRARY

The post Computer vision and deep learning software library – Binary version for internal evaluation only appeared first on Mali Developer Center.

Unreal Engine 4 Tools

$
0
0
  • Support for texture parameters, texture layers and sampler parameters.
  • Redesigned Assets View: show only the data you need.
  • Understand which vertex and fragment shaders are the most expensive.
  • An invaluable tool for Unreal Engine development on ARM Mali platforms.
Mali Graphics Debugger 
  • Resources to help developers build applications.
  • Full documentation, framework, sample codes and tutorials.
  • Built on a simple framework that can be easily integrated.
  • Samples include Multiview rendering, Tessellation and more.

Unreal Engine Blogs and Tutorials

From the ARM Connected Community and our Mali Tutorials.

Using Mali Graphics Debugger on a non-rooted device
A guide to setting up Mali Graphics Debugger for non-rooted Android devices.

Building an Unreal Engine application with Mali Graphics Debugger support
Set up your Unreal Engine applications with Mali Graphics Debugger.

Pixel Local Storage
Learn about PLS, integrated into Unreal Engine.

ARM Unreal Engine Tutorials
Follow our Unreal Engine Tutorials

The post Unreal Engine 4 Tools appeared first on Mali Developer Center.

Mali Android GPU Profiling & Debugging Tools – How to Debug your Applications

$
0
0

Introduction

 

If you are developing an android application or game sometimes you can run into issues. When this happens they usually fall into one of two categories: The graphics in my application don’t look like I imagined them, or the speed or frame rate of the application is not good enough for the playing experience to be enjoyable by the end user. There are tools to help you through these issues and this guide is going to show you how and when to use which tools to get the results that you want.

 

Download the correct tools for the job

If your issue is performance related then you should start by downloading ARM Streamline.  This can be found at https://developer.arm.com/products/software-development-tools/ds-5-development-studio/downloads. This tool allows you to quickly identify where your performance bottleneck is. From there, if you find you’re CPU bound then you should stay with Streamline as it can give you a wealth of information about where CPU time is spent on your application.

However, if you find you are graphics bound or have a graphics related defect, then you can move to the Mali Graphics Debugger (MGD) as it’s the best tool for debugging and optimizing graphics applications.

 

Setup

So, we are at the point where we know what the problem is and we have selected MGD to help us solve it. First you need to download it from: http://malideveloper.arm.com/resources/tools/mali-graphics-debugger/

The tool works on Windows, Linux and Mac so just pick the version that works for you. From there you can choose to use MGD on a rooted or non-rooted device.

 

MGD on a rooted device

The simple steps to set this up can be found in the user guide supplied with MGD. The idea is that you will replace your graphics driver on your device with the MGD library. The MGD library will then call the graphics driver on behalf of the application, profiling all the applications on a device without needing to modify any of the source code.

 

MGD on a non-rooted device

If your device is not rooted then you need to include the MGD in your application. We have various guides available depending on which game engine you are working with:

 

Let’s generate a trace

Okay so now we have our application on the target and we are ready to start to generate a trace. Start up the MGD application on your device and start the deamon with the little toggle on the top.

Now connect from the host application where a blank trace should have been created. MGD is now ready for you to start tracing. Click on the application on the MGD app, your application should now spring into life and MGD should start populating the overview panel and the trace panel with information.

Let the application play out until you get to the area in your application that you are interested in and then pause it using MGD. Once this is complete we are going to do 4 things:

  • A frame capture: To do this you need to just click the capture icon. MGD will then run the next frame and capture all of the frame data that is drawn per draw call. This is great to see how your scene is composed.
  • An overdraw capture: To do this you need to click on the overdraw icon which should be two to the right of the frame capture icon. Then when this button is selected press the frame capture button again. MGD will then do an Overdraw capture. This is similar to a frame capture in that MGD captures all of the frame data that is drawn per draw call, but this feature also replaces your shader with an almost transparent white. This means the whiter the image the more times you have drawn to the same pixel. If there are areas in your scene that are over 3X overdraw then this is a great place to start optimizing.
  • Shader map capture: To do this you need to click on the shadermap icon which should be to the right of the overdraw icon. When this button is selected you then press the frame capture button again. MGD will then do another capture but this time will replace each of your fragment shaders with a unique colour. This will allow you to see which shaders are responsible for drawing different areas of the screen.
  • Fragment count: To do this you need to click on the fragment count icon which should be to the right of the shader map icon. When this button is selected you then press the frame capture button again. This will allow MGD to capture all the data from the next frame and while it is doing that it will count how many fragments are drawn to the screen. As MGD already knows how expensive a shader is it means MGD can estimate how many cycles each shader spent on the GPU.

We recommend that you do these 4 things on all traces that you run with MGD whether you are looking for graphics imperfections or you just want to increase performance.

 

What is wrong (Graphics defects)

So you have graphics imperfections, how can the Mali Graphics Debugger help you? It depends where your imperfection is but here are a few suggestions that you can try:

  • If a particular object is not displaying correctly in your scene you could use the Frame Capture above to find out which draw call is the one that is creating the defect. This quickly narrows down your problem area so you can immediately start trying to fix it.
  • Once you know which draw call is producing the issue you can use the Geometry Viewer to make sure the geometry that is being sent to the draw call is correct. If this is wrong then you know that this is a problem with the vertices or indices that you are passing to the draw call. If all of this data is correct the problem must be elsewhere.
  • If you have a frame that is working correctly and one that then shows you an issue you can select both of the Frames and then right click and select Generate Diff. This will tell you the differences in OpenGL ES state between the two points. If these are different then this is definitely something to look into.
  • MGD always does error checking for all api calls so it is easy to pinpoint when there is an error. This also extends to the shaders in your application if they don’t compile or link correctly.

What is wrong (Performance)

If you are looking to improve the performance of your application then you first need to work out whether you are fragment bound, vertex bound, bandwidth bound or CPU bound.  As mentioned earlier, the best tool to work out which one you are is Streamline and you should start your analysis there. The rest of this guide assumes you know which one you are and how you can use MGD to resolve the issue.

 

Insert a photo here

 

Vertex bound

Being Vertex bound is uncommon but does happen when you are either drawing too many vertices or you have too many instructions or cycles in your vertex shader. The Trace Outline view gives you an indication of how many vertices are in each of your frames so the best way to start analysing your problem is to select which frame has the most. Then, if you select the shaders view, MGD will tell you which shaders contribute the most to the scene. It is these you want to start to optimize as they will make a difference in your application’s overall performance.

 

Fragment bound

If your application is fragment bound then there are a few main causes. The first is that you are drawing too many fragments. To reduce this you simply need to reduce the resolution of your application. If you are rendering to a 2560 x 1440 screen that doesn’t mean you need to use that resolution on your game. You could easily switch to 1920 x 1080 and be drawing to just slightly more than half as many fragments.

 

The next cause could be that you are drawing to the same pixel more than once on the screen. This is known as overdraw. Use the overdraw capture mode described earlier in this article. The area that has the highest overdraw factor should be the easiest to reduce. If you reduce your average overdraw factor from 6x to 3x then, again, you have reduced your fragment load by half.

 

The final cause is much the same as the vertex one and is that your fragment shaders are simply too expensive. If you take the fragment count capture that you did earlier you can look at the shaders view and see which shaders contribute the most to the scene. It is these you want to start to optimize as they will make the biggest difference to your application’s performance.

Bandwidth bound

 

If you are bandwidth bound then you should start to look at reducing the size of your textures by including texture compression in your application. MGD will list all your textures in your application as well as whether they are currently being compressed and their current resolution. If you need help in compressing your textures you should use the Texture Compression Tool which can be found at: http://malideveloper.arm.com/resources/tools/mali-gpu-texture-compression-tool/.

 

You should also start to use Vertex Buffer Objects, again MGD will show you all of the information about the buffers you are currently using.

 

For more information and resources please see the links below including some of our ARM Tools blogs.

 

  • Draw-call by Draw-call stepping
    To identify draw call related issues, redundant draw calls and other opportunities to optimize
  • Texture View
    Visualize an application’s texture usage, to identify opportunities to compress textures or change formats.
  • Shader Statistics
    Understand which vertex and fragment shaders are the most expensive with cycle count reporting
  • and more…
Mali Graphics Debugger 
    • Samples & Tutorials
      Numerous samples from the basic set-up to more complex examples demonstrating shader effects.
      Samples demonstrating features of OpenGL ES 2.0 and OpenGL ES 3.x.
    • Visual Studio Projects
      Project files for all samples supplied for Visual Studio.
      Make files also provided for command line building
    • Simple Framework
      A light weight framework with common math functions, text displaying and timing to see your results quickly.
Mali OpenGL ES SDK for Android  

ARM Tools Blogs and Tutorials

From the ARM Connected Community and our Mali Tutorials.

Using Mali Graphics Debugger on a non-rooted device
A guide to setting up Mali Graphics Debugger for non-rooted Android devices.

Building a Unity Application with Mali Graphics Debugger Support
Using Unity? Get started optimizing, fast with this blog.

ARM Tools tutorials
More tutorials for mobile development with ARM Tools.

The post Mali Android GPU Profiling & Debugging Tools – How to Debug your Applications appeared first on Mali Developer Center.

VR Devices

$
0
0

Developers are finding new ways of creating immersive experiences with mobile VR devices, and Mali GPUs are at the forefront of mobile VR development. Mali T7xx and T8xx GPUs power many mobile VR devices – from headsets that require a mobile phone, to all-in-one devices with built-in screens, operating systems and controls. As mobile VR moves forward, devices featuring Mali-G71 will be able to push boundaries in graphical performance and power efficiency.

Mobile VR currently falls into two categories, All-in-one and Smartphone-based. Below are some examples of each:

All-in-one

Screen, GPU and processor built in.

Deepoon M2

  • Mali-T760 (MP8)
  • Samsung Exynos 7420
  • 2560 x 1440 pixel resolution
  • 110 degree Field Of View

Nibiru Pro One Plus 

  • Mali-T880 (MP12)
  • Samsung Exynos 8890

Smartphone-based

Screen, GPU and processor from mobile.


Samsung Gear VR 

  • Mali-T760 (MP8) / T880 (MP12) GPU
  • 2560 x 1440 pixel resolution
  • 110 degree Field Of View

Google Daydream View 

  • Simple, high-quality virtual reality.
  • With intuitive controller
  • Compatible with Google Daydream and Cardboard apps

The post VR Devices appeared first on Mali Developer Center.

PerfDoc Tool – End User License Agreement (EULA)

$
0
0

END USER LICENCE AGREEMENT FOR THE Deliverables.

THIS END USER LICENCE AGREEMENT (“LICENCE”) IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED (“ARM”) FOR THE USE OF THE Deliverables ACCOMPANYING THIS LICENCE. ARM IS ONLY WILLING TO LICENSE THE DELIVERABLES TO YOU ON CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING “I AGREE” OR BY INSTALLING OR OTHERWISE USING OR COPYING THE Deliverables YOU INDICATE THAT YOU AGREE TO BE BOUND BY ALL THE TERMS OF THIS LICENCE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, ARM IS UNWILLING TO LICENSE THE Deliverables TO YOU AND YOU MAY NOT INSTALL, USE OR COPY THE Deliverables, AND YOU SHOULD PROMPTLY RETURN THE Deliverables TO ARM.

  1. DEFINITIONS.

“Authorised Purpose” means the right to use the ARM Deliverables internally on LICENSEE’s hardware devices which contain a GPU, in order to test and evaluate the performance of, and subsequently debug and optimize, LICENSEE’s graphics software applications that conform to the Khronos Vulkan application programming interface.

“Deliverables” means the software binaries accompanying this Licence, and any printed, electronic or online documentation supplied with it, in all cases relating to ARM’s PerfDoc Tool.

“Input” means all suggestions, comments, feedback, ideas, or know-how (whether in oral or written form) provided by you to ARM under this Licence.

“Subsidiary” means any company the majority of whose voting shares is now or hereafter owned or controlled, directly or indirectly, by ARM.  A company shall be a Subsidiary only for the period during which such control exists.

“Term” means the period of one (1) year commencing on the date that you use the Deliverables.

  1. LICENCE GRANT.

 DELIVERABLES: ARM hereby grants to you, subject to the terms and conditions of this Licence, a nonexclusive, nontransferable, royalty free, worldwide licence to use and copy the Deliverables solely for the Authorised Purpose and only during the Term.

2A. LICENCE TO ARM

You may at your discretion deliver any Input to ARM.

Except as expressly agreed to the contrary in writing by both parties, you hereby grant to ARM and its Subsidiaries under your and your affiliates (as applicable) intellectual property a perpetual, irrevocable, royalty free, non-exclusive, worldwide licence to: (i) use, copy, modify, and create derivative works of the Input as part of any or all of the Deliverables and any other ARM product(s); (ii) sell, supply or otherwise distribute the whole or any part of the Input (and derivative works thereof) as part of any or all of the Deliverables and any other ARM product(s); and (iii) sublicense to third parties the foregoing rights, including the right to sublicense to further third parties. No right is granted by you to ARM to sublicense your and your affiliates (as applicable) intellectual property except to the extent that it is provided to ARM as Input and is embodied in any or all of the Deliverables and any other ARM product(s).

Except as expressly licensed above to ARM in this Clause 2A, you retain all right, title and interest in and to the Input provided by you under this Licence.

You shall not knowingly give to ARM any Input you have reason to believe is subject to any patent, copyright or other intellectual property claim or right of any third party;

For the avoidance of doubt, ARM shall be free to use, copy, disclose or otherwise distribute any Input as part of any or all of the Deliverables and any other ARM product(s) to any third party or pursuant to any of the licences granted above in this Clause 2A without obligation or restriction of any kind.

  1. RESTRICTIONS ON USE OF THE DELIVERABLES.

RESTRICTIONS ON LICENSED RIGHTS: No right is granted to you under the terms of this Licence to manufacture, have manufactured, or sell, supply or distribute the Deliverables or any products which take into use or which embody any or all of the Deliverables, or any of the intellectual property embodied therein or sublicence any of the foregoing rights to any third party.

COPYING: You shall not copy the Deliverables except as necessary for use of the Deliverables under the licence grants in Clause 2. You may make one additional copy of the downloaded Deliverables solely for backup or archival purposes.

RESULTS:  You shall treat any and all behaviour and performance figures relating to the Deliverables, and any other results of your use and testing of the Deliverables which are indicative of the performance, efficacy, reliability or quality of any ARM technology (“Results”) as confidential information, and you shall not disclose such information to any third party without the express written permission of ARM.  ARM may agree to waive the restrictions in this paragraph if requested in writing.   You agree that the Results are not representative of simulation results that may be obtained on Mali™ hardware.

PERMITTED USERS: The Deliverables shall only be used by your employees, or by your bona fide sub-contractors for whose acts and omissions you hereby agree to be responsible for to the same extent as you are for any acts and omissions of your employees, and provided always that such sub-contractors; (i) work only onsite at your premises; (ii) comply with the terms of this Licence; (iii) are contractually obligated to use the Deliverables only for your benefit, and (iv) agree to assign all their work product and any rights they create therein in the supply of such work to you immediately on creation. Only the single individual, company or other legal entity to whom ARM is supplying this Licence may use the Deliverables. Except as provided in this clause, you shall not allow third parties (including but not limited to any subsidiary, parent or affiliated companies, or offsite contractors you may have) to use the Deliverables unless ARM explicitly agrees otherwise with you, in writing, on a case by case basis.

REMOTE USE: The Deliverables shall only be used onsite at your premises, except when legitimately used offsite by an employee (but not a sub-contractor) of yours, in whose control the Deliverables shall remain at all times, and only for your benefit.

REVERSE ENGINEERING: Except to the extent that such activity is permitted by applicable law you shall not reverse engineer, decompile or disassemble any of the Deliverables. If the Deliverables were provided to you in Europe you shall not reverse engineer, decompile or disassemble any of the Deliverables for the purposes of error correction.

RESTRICTIONS ON TRANSFER OF LICENSED RIGHTS: The rights granted to you under this Licence may not be assigned, sublicensed or otherwise transferred by you to any third party without the prior written consent of ARM. An assignment shall be deemed to include, without limitation; (i) any transaction or series of transactions whereby a third party acquires, directly or indirectly, the power to control the management and policies of you, whether through the acquisition of voting securities, by contract or otherwise; or (ii) the sale of more than fifty percent (50%) of your assets whether in a single transaction or series of transactions. You shall not rent or lease the Deliverables. You shall not share the Deliverables with contractors (except as identified in the ‘PERMITTED USERS’ clause above in this Clause 3) or other third parties.

COPYRIGHT AND RESERVATION OF RIGHTS: The Deliverables are owned by ARM or its licensors and is protected by copyright and other intellectual property laws and international treaties. The Deliverables are licensed not sold. You acquire no rights to the Deliverables other than as expressly provided by this Licence. You shall not remove from the Deliverables any copyright notice or other notice and shall ensure that any such notice is reproduced in any copies of the whole or any part of the Deliverables made by you or other permitted users.

  1. CONFIDENTIALITY.

You acknowledge that (i) the Deliverables; (ii) any know-how relating to the Deliverables which may be provided as part of any support; (iii) the Results; and (iv) any related information mentioned in clause 3; all contain trade secrets and confidential material and you agree to maintain all such information in confidence and apply security measures no less stringent than the measures which you apply to protect your own like information, but not less than a reasonable degree of care, to prevent their unauthorised disclosure and use. Subject to any restrictions imposed by applicable law, the period of confidentiality shall be indefinite. You agree that you shall not use any such information other than in normal use of the Deliverables under the licences granted in this Licence. You agree to allow ARM to disclose your confidential information to Subsidiaries of ARM subject to terms and conditions of confidentiality substantially similar to those set out above in this clause 4.

  1. NO SUPPORT.

ARM has no obligation to provide you with support and maintenance in respect of the Deliverables, but ARM may, at its sole discretion, choose to provide limited support and maintenance services to you.

  1. NO WARRANTIES.

YOU AGREE THAT THE DELIVERABLES ARE LICENSED “AS IS”, AND THAT ARM EXPRESSLY DISCLAIMS ALL REPRESENTATIONS, WARRANTIES, CONDITIONS OR OTHER TERMS, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, TITLE, SATISFACTORY QUALITY, MERCHANTIBILITY, AND FITNESS FOR A PARTICULAR PURPOSE.

YOU EXPRESSLY ASSUME ALL LIABILITIES AND RISKS, FOR USE OR OPERATION OF ANY APPLICATION PROGRAMS YOU CREATE WITH THE DELIVERABLES, AND YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  1. LIMITATION OF LIABILITY.

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ARM OR ITS LICENSORS BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING LOSS OF PROFITS) ARISING OUT OF THE USE OR INABILITY TO USE THE DELIVERABLES WHETHER BASED ON A CLAIM UNDER CONTRACT, TORT OR OTHER LEGAL THEORY, EVEN IF ARM OR ANY SUCH LICENSOR WAS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

ARM does not seek to limit or exclude liability for death or personal injury arising from ARM’s negligence and because some jurisdictions do not permit the exclusion or limitation of liability for consequential or incidental damages the above limitation relating to liability for consequential damages may not apply to you.

NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED IN THIS LICENCE, THE MAXIMUM LIABILITY OF ARM TO YOU IN AGGREGATE FOR ALL CLAIMS MADE AGAINST ARM IN CONTRACT TORT OR OTHERWISE UNDER OR IN CONNECTION WITH THE SUBJECT MATTER OF THIS LICENCE SHALL NOT EXCEED THE GREATER OF THE TOTAL OF SUMS PAID BY YOU TO ARM (IF ANY) FOR THIS LICENCE AND US$5.00.

  1. U.S. GOVERNMENT END USERS.

US Government Restrictions: Use, duplication, reproduction, release, modification, disclosure or transfer of this commercial product and accompanying documentation is restricted in accordance with the terms of this Licence.

  1. TERM AND TERMINATION.

Unless earlier terminated by you or by ARM, this Licence shall remain in force until the expiry of the Term.

Without prejudice to any of its other rights if you are in breach of any of the terms and conditions of this Licence then ARM may terminate this Licence immediately upon giving written notice to you. You may terminate this Licence at any time.

Upon expiry of the term, or earlier termination of this Licence by you or by ARM, you shall immediately stop using the Deliverables, any know-how relating to the Deliverables which may be provided as part of any support, the Results and any related information mentioned in clause 3 which contains trade secrets and confidential material (the “Materials”) and destroy all copies of the Materials in your possession.

The provisions of Clauses 1, 2A, 4, 6, 7, 8, 9, and 10 shall survive termination of this Licence.

  1. GENERAL.

This Licence is governed by English Law. Except where ARM agrees otherwise in a written contract signed by you and ARM, this is the only agreement between you and ARM relating to the Deliverables and it may only be modified by written agreement between you and ARM. Except as expressly agreed in writing, this Licence may not be modified by purchase orders, advertising or other representation by any person. If any clause in this Licence is held by a court of law to be illegal or unenforceable the remaining provisions of this Licence shall not be affected thereby. The failure by ARM to enforce any of the provisions of this Licence, unless waived in writing, shall not constitute a waiver of ARM’s rights to enforce such provision or any other provision of this Licence in the future.

The Deliverables provided under this Licence is subject to U.S. export control laws, including the U.S. Export Administration Act and its associated regulations, and may be subject to export or import regulations in other countries. You agree to comply fully with all laws and regulations of the United States and other countries (“Export Laws”) to assure that the Deliverables, are not: (i) exported, directly or indirectly, in violation of Export Laws, either to any countries that are subject to U.S.A. export restrictions or to any end user who has been prohibited from participating in the U.S.A. export transactions by any federal agency of the U.S.A. government; or (ii) intended to be used for any purpose prohibited by Export Laws, including, without limitation, nuclear, chemical, or biological weapons proliferation.

ARM contract reference:  LES-PRE-21131-V2.0

/end

 

I accept the terms of the EULA, proceed to download PerfDoc tool

The post PerfDoc Tool – End User License Agreement (EULA) appeared first on Mali Developer Center.





Latest Images