Skip to content

Commit 96a5965

Browse files
StaticRocketjeevantelukula
authored andcommitted
fix(graphics): follow almost all vale suggestions
Follow almost every vale suggestion. Signed-off-by: Randolph Sapp <rs@ti.com>
1 parent aa37692 commit 96a5965

17 files changed

Lines changed: 529 additions & 542 deletions

source/linux/Foundational_Components/Graphics/Common/Display.rst

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,28 @@
22
Display
33
#######
44

5-
TI SoCs are equipped with Display SubSystem (DSS) hardware to provide hardware
6-
acceleration for alpha blending of overlays and color conversion. The DSS
7-
hardware is exposed to the software drm API available through ``libdrm`` module.
8-
Through this drm interface, a user space program can perform *mode setting* of
9-
the display.
5+
TI SoCs with Display Sub-System (DSS) hardware offer hardware acceleration for
6+
alpha blending of overlays and color conversion. The ``libdrm`` module exposes
7+
DSS hardware through the software Direct Render Management (DRM) API. Through
8+
this DRM interface, a user space program can perform *mode setting* of the
9+
display.
1010

11-
The drm module models the display hardware as a series of abstract hardware
11+
The DRM module models the display hardware as a series of abstract hardware
1212
blocks and manages them through the API. The blocks are:
1313

1414
- CRTC\ [#f1]_\: represents a scanout engine that generates video timing
1515
signal from the data pointed to by the scanout buffer
1616

17-
- Connector: represents where the video timing signal is sent across to the
18-
display
17+
- Connector: represents where the video timing signal goes and how it gets
18+
there
1919

20-
- Encoder: transforms the video timing signal from CRTC to a format that is
21-
suitable for sending across the connector
20+
- Encoder: transforms the video timing signal from the CRTC to a format that
21+
is suitable for sending to the connector
2222

23-
- Plane: represents the overlay buffer that a CRTC can be fed with
23+
- Plane: represents the overlay buffer that will feed a CRTC
2424

25-
A utility application ``modetest`` can be used to get the list of available drm
26-
blocks. All the information available for the device can be displayed by using
27-
it.
25+
The list of available DRM blocks is viewable using the application
26+
:command:`modetest`.
2827

2928
.. ifconfig:: CONFIG_image_type in ('adas')
3029

@@ -37,11 +36,13 @@ it.
3736
linux-dtbs and install. Also need to disable Display in r5f, rebuild
3837
r5f FW using PSDK RTOS.
3938

40-
********************
41-
Finding Connector ID
42-
********************
39+
.. _finding_the_connector_id:
4340

44-
Run the below ``modetest`` command:
41+
************************
42+
Finding the connector ID
43+
************************
44+
45+
Run the following ``modetest`` command:
4546

4647
.. ifconfig:: CONFIG_part_family in ('General_family', 'AM335X_family', 'AM437X_family')
4748

@@ -55,8 +56,8 @@ Run the below ``modetest`` command:
5556
5657
# modetest -M tidss -c
5758
58-
Look for the display device for which the connector ID is required -
59-
such as HDMI, LCD etc.
59+
Look for the required display device's connector ID - such as High-Definition
60+
Multimedia Interface (HDMI), DisplayPort (DP), and so on.
6061

6162
.. code-block:: text
6263
@@ -75,9 +76,9 @@ such as HDMI, LCD etc.
7576
The modes displayed are the various resolutions supported by the connected
7677
display.
7778

78-
****************
79-
Finding Plane ID
80-
****************
79+
********************
80+
Finding the plane ID
81+
********************
8182

8283
To find the Plane ID, run the ``modetest`` command:
8384

@@ -93,7 +94,7 @@ To find the Plane ID, run the ``modetest`` command:
9394
9495
# modetest -M tidss -p
9596
96-
Which should show something like below:
97+
Which should show something similar to the following:
9798

9899
.. code-block:: text
99100
@@ -108,43 +109,44 @@ Which should show something like below:
108109
props:
109110
...
110111
111-
*******************************
112-
Using Connector ID and Plane ID
113-
*******************************
112+
***********************************
113+
Using the connector ID and plane ID
114+
***********************************
114115

115-
The above information may be used with some userspace applications to control
116-
which displays are rendered to. These applications are using what is known as
117-
kernel mode setting (kms). For more information about kernel mode setting see
118-
the `upstream kms documentation`_. In this section you only need to keep 2
119-
things in mind:
116+
The earlier information is useful when attempting to select what display to
117+
render to. Some user space applications have command line switches to easily
118+
show this. These applications are using Kernel Mode Setting (KMS). For more
119+
information about KMS see the `upstream kms documentation`_. For now, you only
120+
need to keep 2 things in mind:
120121

121-
#. Applications that intend to interact with the kms interface usually don't
122-
need any user input. They can query device info through the interface and
123-
will normally pick the first connected display automatically.
122+
#. Applications that intend to interact with the KMS interface usually do not
123+
need any user input. They can query device info through the interface
124+
and will normally pick the first connected display automatically.
124125

125-
#. Only one application can manage the kms interface at a time. Weston is
126-
normally the first graphical application started out of the box and as
127-
such it will prevent you from starting any other kms applications. See
128-
:ref:`stopping-weston` if you want to use another kms application.
126+
#. Only one application can manage the KMS interface at a time. Weston is
127+
normally the first graphical application started by default and as such
128+
it will prevent you from starting any other KMS applications. See
129+
:ref:`stopping-weston` if you want to use another KMS application.
129130

130131
.. _upstream kms documentation: https://www.kernel.org/doc/html/latest/gpu/drm-kms.html
131132

132-
That being said, if you wish to change rendering behavior for an application
133-
check with that applications documentation for a way to specify connector,
134-
plane, and / or crtc information. One kms application we include is ``kmscube``.
135-
Below are some examples on how to alter it's default behavior.
133+
If you want to change rendering behavior for an application check with that
134+
applications documentation for a way to specify a connector, plane, and / or
135+
CRTC information. One KMS application we include is :command:`kmscube`. Below
136+
are some examples on how to avoid the default behavior of automatically choosing
137+
a display to render to.
136138

137-
Run kmscube on the default display:
139+
Run :command:`kmscube` on the default display:
138140

139141
.. code-block:: console
140142
141143
# kmscube
142144
143-
Run kmscube on the secondary display:
145+
Run :command:`kmscube` on the secondary display:
144146

145147
.. code-block:: console
146148
147-
# kmscube -n <connector-id>
149+
# kmscube -n <connector_id>
148150
149151
For example, if the connector id for the secondary display is 16:
150152

@@ -154,7 +156,7 @@ For example, if the connector id for the secondary display is 16:
154156
155157
.. [#f1]
156158
157-
CRTC stands for cathode-ray tube controller, a throw back to the old
159+
CRTC stands for Cathode-Ray Tube Controller, a throw back to the old
158160
`cathode-ray tubes TV's <https://en.wikipedia.org/wiki/Cathode-ray_tube>`_
159161
which had a controller that generated video timings based on the data it is
160-
being fed by a buffer.
162+
receiving from a buffer.

source/linux/Foundational_Components/Graphics/Common/GTK+_Graphics_Framework.rst

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
This subsection provides details on the GTK+ graphics frameworks
33
44
#######################
5-
GTK+ Graphics Framework
5+
GTK+ graphics framework
66
#######################
77

88
GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating graphical
9-
user interfaces. Offering a complete set of widgets, GTK+ is suitable for
9+
user interfaces. Offering a complete set of widgets, GTK+ is suitable for
1010
projects ranging from small one-off tools to complete application suites.
1111

12-
Please refer to `<https://www.gtk.org/>`_ for additional details on GTK+.
12+
See `<https://www.gtk.org/>`_ for additional details on GTK+.
1313

1414
The PSDK target file system includes the pre-built GTK+ libraries under
1515
:file:`/usr/lib` for GTK+3 over Wayland support. There is also a comprehensive
@@ -20,15 +20,14 @@ APIs and their usages.
2020
Demos
2121
*****
2222

23-
GTK+ will attempt to interact with a windowing system on startup. If one is not
24-
running, or it fails to connect to one for any reason, you will see the
25-
following error:
23+
GTK+ will interact with a windowing system on startup. If one is not running, or
24+
it fails to connect to one for any reason, you will see the following error:
2625

2726
.. code-block:: text
2827
29-
(<application-name>:<pid>): Gtk-WARNING **: 21:21:27.361: cannot open display: <display>
28+
(<application_name>:<pid>): Gtk-WARNING **: 21:21:27.361: cannot open display: <display>
3029
31-
If no display value is returned, then you are more than likely missing the
32-
``WAYLAND_DISPLAY`` environment variable. Check the :doc:`Weston`
33-
section for more information.
30+
If no display value is present, then you are more than likely missing the
31+
``WAYLAND_DISPLAY`` environment variable. Check the :doc:`Weston` section for
32+
more information.
3433

source/linux/Foundational_Components/Graphics/Common/OpenCL.rst

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
OpenCL
55
######
66

7-
The OpenCL\ |trade| libraries are packaged with the |__SDK_FULL_NAME__| and are
8-
used by compute centric libraries for offloading tasks to the GPU without the
9-
overhead of managing displays or creating a offscreen context. The drivers run
10-
on an ARM core and programs the firmware running inside a GPU core with commands
11-
submitted by the user applications.
7+
The OpenCL\ |trade| libraries in the |__SDK_FULL_NAME__| allow offloading tasks
8+
to the GPU for compute centric libraries without the GPU or CPU usage incurred
9+
by managing displays or creating a offscreen context. The drivers run on an ARM
10+
core and programs the firmware running inside a GPU core with commands submitted
11+
by the user applications.
1212

1313
OpenCL\ |trade| differs from OpenGL\ |reg| in that it makes use of a predefined
1414
Installable Client Driver (ICD) Loader to allow applications to query and pick
@@ -19,16 +19,15 @@ an ICD loader library instead of directly using a specific library.
1919

2020
.. note::
2121

22-
Tools may choose to dynamically load their respective OpenCL\ |trade| library
23-
at runtime using dlopen, which may fail in Yocto based environments. This is
22+
Some tools dynamically load their respective OpenCL\ |trade| library at
23+
runtime by using dlopen, which can fail in Yocto based environments. This is
2424
usually the result of a clash in philosophies between Yocto and Application
25-
developers over the usage of devlinks (also know in Yocto as "dev-so"s). It's
26-
Yocto's belief that, for the most part, applications should not attempt to
27-
use dev links directly and should instead open the specific version of the
28-
library they need. You may choose to patch the application to do this or
29-
create the devlink from :file:`/usr/lib/libOpenCL.so` to
30-
:file:`/usr/lib/libOpenCL.so.1` manually. Tools provided by Yocto will be
31-
patched accordingly already.
25+
developers over the usage of devlinks (also know in Yocto as "dev-so"s). It
26+
is Yocto's belief that, for the most part, applications should not try to use
27+
dev links directly and should instead open the specific version of the
28+
library they need. You can patch the application to do this or create the
29+
devlink from :file:`/usr/lib/libOpenCL.so` to :file:`/usr/lib/libOpenCL.so.1`
30+
manually. Tools provided by Yocto will are already patched.
3231

3332
A useful tool for debugging OpenCL\ |trade| ICD Loaders and devices is
3433
:command:`clinfo`. This command, when run without any arguments will present a

source/linux/Foundational_Components/Graphics/Common/OpenGL_ES.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
OpenGL ES
55
#########
66

7-
The OpenGL\ |reg| ES and EGL\ |reg| libraries are packaged with the
8-
|__SDK_FULL_NAME__| and are used by graphics stacks such as Wayland/Weston. The
9-
drivers run on an ARM core and programs the firmware running inside a GPU core
10-
with rendering commands submitted by the user applications.
7+
The OpenGL\ |reg| ES and EGL\ |reg| libraries packaged with the
8+
|__SDK_FULL_NAME__| used by graphics stacks such as Wayland/Weston provide
9+
accelerated rendering capabilities. The drivers run on an ARM core and program
10+
the firmware running inside a GPU core with rendering commands submitted by the
11+
user applications.
1112

1213
For more information about OpenGL\ |reg| ES and EGL\ |reg| extensions see:
1314

source/linux/Foundational_Components/Graphics/Common/PVR_Tools.rst

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,35 @@
11
.. include:: <isonum.txt>
22

33
#############
4-
PowerVR Tools
4+
PowerVR tools
55
#############
66

7-
The suite of PowerVR Tools is designed to enable rapid graphics application
8-
development. It targets a range of areas including asset exporting and
9-
optimization, PC emulation, prototyping environments, on-line and off-line
10-
performance analysis tools and many more. Please refer to PowerVR-SDK_ for
11-
additional details on the tools and detailed documentation.
7+
The suite of PowerVR Tools exist to help enable rapid graphics application
8+
development. They target a range of areas including asset exporting and
9+
optimization, PC emulation, prototyping environments, online and offline
10+
performance analysis tools and many more. See PowerVR-SDK_ for additional
11+
details on the tools and detailed documentation.
1212

13-
There are a number of useful tools available in the Imagination PowerVR SDK that
14-
are compatible with our devices. Two of the most useful tools available are
15-
PVRTune and PVRCarbon, which can be used for to profiling and tracing GFX
16-
activities.
13+
There are several useful tools available in the Imagination PowerVR SDK that are
14+
compatible with our devices. Two of the most useful tools available are PVRTune
15+
and PVRCarbon, which enable profiling and tracing of Graphics (GFX) activities.
1716

18-
Previously these were included in the target's rootfs, but these were removed
19-
due to tight version dependencies between the target and host tools. Imagination
20-
has moved to packaging the target binaries with their host installer, so we
21-
recommend using those binaries directly for guaranteed compatibility.
17+
Imagination has moved to packaging the target binaries with their host
18+
installer, so we recommend using those binaries directly for guaranteed
19+
compatibility.
2220

2321
*******
2422
PVRTune
2523
*******
2624

2725
The PVRTune utility is a real-time GPU performance analysis tool. It captures
28-
hardware timing data and counters which facilitate the identification of
29-
performance bottlenecks. PVRPerfServer should be used along with the PVRTune
30-
running on the PC to gather data on the SGX loading and activity threads. The
31-
target binaries can be found in the host's PVRTune installation directory under
32-
PVRPerfServer.
26+
hardware timing data and counters that ease the identification of performance
27+
bottlenecks. PVRPerfServer collects data that is displayed with the PVRTune
28+
running on the PC. The target binaries reside in the host's PVRTune installation
29+
directory under :file:`PVRPerfServer`.
3330

34-
For more information please refer to Imagination's upstream documentation on
35-
PVRTune and PVRPerfServer.
31+
For more information see Imagination's upstream documentation on PVRTune and
32+
PVRPerfServer.
3633

3734
- `<https://docs.imgtec.com/tools-manuals/pvrtune-manual/html/pvrtune-manual/topics/introduction.html>`_
3835

@@ -43,11 +40,11 @@ PVRCarbon
4340
The PVRCarbon is an OpenGL\ |reg| ES and Vulkan |reg| API recording and analysis
4441
utility. PVRCarbon GUI provides off-line tools to inspect captured data,
4542
identify redundant calls, highlight costly shaders and many more. This tool can
46-
capture traces on target and then play them back on multiple different devices
47-
by introducing shim libraries in place of the standard offering for that API.
43+
capture traces on target and then play them back on different devices by
44+
introducing shim libraries in place of the standard offering for that API.
4845

49-
This requires a little bit of setup on the target though. Please refer to
50-
Imagination's upstream target setup guide for the most recent instructions.
46+
This requires a little bit of setup on the target though. See Imagination's
47+
upstream target setup guide for the most recent instructions.
5148

5249
- `<https://docs.imgtec.com/tools-manuals/pvrcarbon-manual/html/topics/pvrcarbon-recorder/opengl-es.html>`_
5350

0 commit comments

Comments
 (0)