source: general/genlib/spirv-tools.xml

trunk
Last change on this file was a80c832, checked in by Xi Ruoyao <xry111@…>, 2 weeks ago

treewide: Simplify GitHub archive URL by removing redundant "refs/tags/"

The "refs/tags/" component is only useful when a tag shares its name
with a branch. Any rational upstream maintainer shall not create such
a namesis.

I've verified all the changes does not affect the md5sum of download
files.

  • Property mode set to 100644
File size: 9.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY spirv-tools-download-http "https://github.com/KhronosGroup/SPIRV-Tools/archive/vulkan-sdk-&spirv-tools-version;/SPIRV-Tools-&spirv-tools-version;.tar.gz">
8 <!ENTITY spirv-tools-download-ftp " ">
9 <!ENTITY spirv-tools-md5sum "d55af678b61667313d478db9399c09d4">
10 <!ENTITY spirv-tools-size "3.0 MB">
11 <!ENTITY spirv-tools-buildsize "59 MB">
12 <!ENTITY spirv-tools-time "0.9 SBU (with tests; both using parallelism=8)">
13]>
14
15<sect1 id="spirv-tools" xreflabel="SPIRV-Tools-&spirv-tools-version;">
16 <?dbhtml filename="spirv-tools.html"?>
17
18 <title>SPIRV-Tools-&spirv-tools-version;</title>
19
20 <indexterm zone="spirv-tools">
21 <primary sortas="a-spirv-tools">SPIRV-Tools</primary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title>Introduction to SPIRV-Tools</title>
26
27 <para>
28 The <application>SPIRV-Tools</application> package contains libraries
29 and utilities for processing SPIR-V modules.
30 </para>
31
32 &lfs121_checked;
33
34 <bridgehead renderas="sect3">Package Information</bridgehead>
35 <itemizedlist spacing="compact">
36 <listitem>
37 <para>
38 Download (HTTP): <ulink url="&spirv-tools-download-http;"/>
39 </para>
40 </listitem>
41 <listitem>
42 <para>
43 Download (FTP): <ulink url="&spirv-tools-download-ftp;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download MD5 sum: &spirv-tools-md5sum;
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download size: &spirv-tools-size;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Estimated disk space required: &spirv-tools-buildsize;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated build time: &spirv-tools-time;
64 </para>
65 </listitem>
66 </itemizedlist>
67
68 <bridgehead renderas="sect3">SPIRV-Tools Dependencies</bridgehead>
69
70 <bridgehead renderas="sect4">Required</bridgehead>
71 <para role="required">
72 <xref linkend="cmake"/> and
73 <xref linkend="spirv-headers"/>
74 </para>
75
76 </sect2>
77
78 <sect2 role="installation">
79 <title>Installation of SPIRV-Tools</title>
80
81 <note>
82 <para>
83 This tarball
84 <filename>SPIRV-Tools-&spirv-tools-version;.tar.gz</filename> will
85 extract to the directory
86 <filename class="directory">SPIRV-Tools-vulkan-sdk-&spirv-tools-version;</filename>.
87 </para>
88 </note>
89
90 <para>
91 Install <application>SPIRV-Tools</application> by running the following
92 commands:
93 </para>
94
95<screen><userinput>mkdir build &amp;&amp;
96cd build &amp;&amp;
97
98cmake -DCMAKE_INSTALL_PREFIX=/usr \
99 -DCMAKE_BUILD_TYPE=Release \
100 -DSPIRV_WERROR=OFF \
101 -DBUILD_SHARED_LIBS=ON \
102 -DSPIRV_TOOLS_BUILD_STATIC=OFF \
103 -DSPIRV-Headers_SOURCE_DIR=/usr \
104 -G Ninja .. &amp;&amp;
105ninja</userinput></screen>
106
107 <para>
108 To test the results, issue: <command>ninja test</command>.
109 </para>
110
111 <para>
112 Now, as the &root; user:
113 </para>
114
115<screen role="root"><userinput>ninja install</userinput></screen>
116
117 </sect2>
118
119 <sect2 role="commands">
120 <title>Command Explanations</title>
121
122 <para>
123 <parameter>-DSPIRV_WERROR=OFF</parameter>: This switch stops the build
124 system from treating warnings as errors.
125 </para>
126
127 <para>
128 <parameter>-DBUILD_SHARED_LIBS=ON</parameter>: This switch forces the
129 build system to install shared libraries instead of static libraries.
130 </para>
131
132 <para>
133 <parameter>-DSPIRV_TOOLS_BUILD_STATIC=OFF</parameter>: This switch
134 disables building static versions of the libraries.
135 </para>
136
137 <para>
138 <parameter>-DSPIRV-Headers_SOURCE_DIR</parameter>: This switch tells the
139 build system that <xref linkend="spirv-headers" role="nodep"/> is
140 installed in /usr. This is needed since the build system tries to use an
141 internal copy by default.
142 </para>
143
144 </sect2>
145
146 <sect2 role="content">
147 <title>Contents</title>
148
149 <segmentedlist>
150 <segtitle>Installed Programs</segtitle>
151 <segtitle>Installed Libraries</segtitle>
152 <segtitle>Installed Directories</segtitle>
153
154 <seglistitem>
155 <seg>
156 spirv-as,
157 spirv-cfg,
158 spirv-dis,
159 spirv-lesspipe.sh,
160 spirv-link,
161 spirv-lint,
162 spirv-objdump,
163 spirv-opt,
164 spirv-reduce, and
165 spirv-val
166 </seg>
167 <seg>
168 libSPIRV-Tools-diff.so,
169 libSPIRV-Tools-link.so,
170 libSPIRV-Tools-lint.so,
171 libSPIRV-Tools-opt.so,
172 libSPIRV-Tools-reduce.so,
173 libSPIRV-Tools-shared.so, and
174 libSPIRV-Tools.so
175 </seg>
176 <seg>
177 /usr/include/spirv-tools and
178 /usr/lib/cmake/SPIRV-Tools
179 </seg>
180 </seglistitem>
181 </segmentedlist>
182
183 <variablelist>
184 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
185 <?dbfo list-presentation="list"?>
186 <?dbhtml list-presentation="table"?>
187
188 <varlistentry id="spirv-as">
189 <term><command>spirv-as</command></term>
190 <listitem>
191 <para>
192 creates a SPIR-V binary module from SPIR-V assembly text
193 </para>
194 <indexterm zone="spirv-tools spirv-as">
195 <primary sortas="b-spirv-as">spirv-as</primary>
196 </indexterm>
197 </listitem>
198 </varlistentry>
199
200 <varlistentry id="spirv-cfg">
201 <term><command>spirv-cfg</command></term>
202 <listitem>
203 <para>
204 shows the control flow graph in "dot" format
205 </para>
206 <indexterm zone="spirv-tools spirv-cfg">
207 <primary sortas="b-spirv-cfg">spirv-cfg</primary>
208 </indexterm>
209 </listitem>
210 </varlistentry>
211
212 <varlistentry id="spirv-dis">
213 <term><command>spirv-dis</command></term>
214 <listitem>
215 <para>
216 disassembles a SPIR-V binary module
217 </para>
218 <indexterm zone="spirv-tools spirv-dis">
219 <primary sortas="b-spirv-dis">spirv-dis</primary>
220 </indexterm>
221 </listitem>
222 </varlistentry>
223
224 <varlistentry id="spirv-lesspipe.sh">
225 <term><command>spirv-lesspipe.sh</command></term>
226 <listitem>
227 <para>
228 automatically disassembles a .SPV file for 'less'
229 </para>
230 <indexterm zone="spirv-tools spirv-lesspipe.sh">
231 <primary sortas="b-spirv-lesspipe.sh">spirv-lesspipe.sh</primary>
232 </indexterm>
233 </listitem>
234 </varlistentry>
235
236 <varlistentry id="spirv-link">
237 <term><command>spirv-link</command></term>
238 <listitem>
239 <para>
240 links SPIR-V binary files together
241 </para>
242 <indexterm zone="spirv-tools spirv-link">
243 <primary sortas="b-spirv-link">spirv-link</primary>
244 </indexterm>
245 </listitem>
246 </varlistentry>
247
248 <varlistentry id="spirv-lint">
249 <term><command>spirv-lint</command></term>
250 <listitem>
251 <para>
252 checks a SPIR-V binary module for errors
253 </para>
254 <indexterm zone="spirv-tools spirv-lint">
255 <primary sortas="b-spirv-lint">spirv-lint</primary>
256 </indexterm>
257 </listitem>
258 </varlistentry>
259
260 <varlistentry id="spirv-objdump">
261 <term><command>spirv-objdump</command></term>
262 <listitem>
263 <para>
264 dumps information from a SPIR-V binary
265 </para>
266 <indexterm zone="spirv-tools spirv-objdump">
267 <primary sortas="b-spirv-objdump">spirv-objdump</primary>
268 </indexterm>
269 </listitem>
270 </varlistentry>
271
272 <varlistentry id="spirv-opt">
273 <term><command>spirv-opt</command></term>
274 <listitem>
275 <para>
276 performs optimizations on SPIR-V binary files
277 </para>
278 <indexterm zone="spirv-tools spirv-opt">
279 <primary sortas="b-spirv-opt">spirv-opt</primary>
280 </indexterm>
281 </listitem>
282 </varlistentry>
283
284 <varlistentry id="spirv-reduce">
285 <term><command>spirv-reduce</command></term>
286 <listitem>
287 <para>
288 reduces a SPIR-V binary file
289 </para>
290 <indexterm zone="spirv-tools spirv-reduce">
291 <primary sortas="b-spirv-reduce">spirv-reduce</primary>
292 </indexterm>
293 </listitem>
294 </varlistentry>
295
296 <varlistentry id="spirv-val">
297 <term><command>spirv-val</command></term>
298 <listitem>
299 <para>
300 validates a SPIR-V binary file
301 </para>
302 <indexterm zone="spirv-tools spirv-val">
303 <primary sortas="b-spirv-val">spirv-val</primary>
304 </indexterm>
305 </listitem>
306 </varlistentry>
307
308 <varlistentry id="libSPIRV-Tools">
309 <term><filename class="libraryfile">libSPIRV-Tools.so</filename></term>
310 <listitem>
311 <para>
312 contains functions for processing SPIR-V modules
313 </para>
314 <indexterm zone="spirv-tools libSPIRV-Tools">
315 <primary sortas="c-libSPIRV-Tools">libSPIRV-Tools.so</primary>
316 </indexterm>
317 </listitem>
318 </varlistentry>
319 </variablelist>
320 </sect2>
321</sect1>
Note: See TracBrowser for help on using the repository browser.