source: x/lib/glslang.xml@ ee66136

12.1 ken/TL2024 lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since ee66136 was 1751778, checked in by Douglas R. Reno <renodr@…>, 7 months ago

Add glslang to the book.

This is needed for Mesa.

  • Property mode set to 100644
File size: 6.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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 glslang-download-http "https://github.com/KhronosGroup/glslang/archive/refs/tags/&glslang-version;/glslang-&glslang-version;.tar.gz">
8 <!ENTITY glslang-download-ftp " ">
9 <!ENTITY glslang-md5sum "65fc5f9ed3440ff7ccd9760327ba1083">
10 <!ENTITY glslang-size "3.6 MB">
11 <!ENTITY glslang-buildsize "161 MB">
12 <!ENTITY glslang-time "0.4 SBU (with parallelism=8)">
13]>
14
15<sect1 id="glslang" xreflabel="Glslang-&glslang-version;">
16 <?dbhtml filename="glslang.html"?>
17
18 <title>Glslang-&glslang-version;</title>
19
20 <indexterm zone="glslang">
21 <primary sortas="a-glslang">Glslang</primary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title>Introduction to Glslang</title>
26
27 <para>
28 The <application>Glslang</application> package contains an frontend and
29 validator for OpenGL, OpenGL ES, and Vulkan shaders.
30 </para>
31
32 &lfs120_checked;
33
34 <bridgehead renderas="sect3">Package Information</bridgehead>
35 <itemizedlist spacing="compact">
36 <listitem>
37 <para>
38 Download (HTTP): <ulink url="&glslang-download-http;"/>
39 </para>
40 </listitem>
41 <listitem>
42 <para>
43 Download (FTP): <ulink url="&glslang-download-ftp;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download MD5 sum: &glslang-md5sum;
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download size: &glslang-size;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Estimated disk space required: &glslang-buildsize;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated build time: &glslang-time;
64 </para>
65 </listitem>
66 </itemizedlist>
67
68 <bridgehead renderas="sect3">Glslang Dependencies</bridgehead>
69
70 <bridgehead renderas="sect4">Required</bridgehead>
71 <para role="required">
72 <xref linkend="cmake"/> and
73 <xref linkend="spirv-tools"/>
74 </para>
75
76 </sect2>
77
78 <sect2 role="installation">
79 <title>Installation of Glslang</title>
80
81 <para>
82 Install <application>Glslang</application> by running the following
83 commands:
84 </para>
85
86<screen><userinput>mkdir build &amp;&amp;
87cd build &amp;&amp;
88
89cmake -DCMAKE_INSTALL_PREFIX=/usr \
90 -DCMAKE_BUILD_TYPE=Release \
91 -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \
92 -DBUILD_SHARED_LIBS=ON \
93 -G Ninja .. &amp;&amp;
94ninja</userinput></screen>
95
96 <para>
97 To test the results, issue: <command>ninja test</command>.
98 </para>
99
100 <para>
101 Now, as the &root; user:
102 </para>
103
104<screen role="root"><userinput>ninja install</userinput></screen>
105
106 </sect2>
107
108 <sect2 role="commands">
109 <title>Command Explanations</title>
110
111 <para>
112 <parameter>-DALLOW_EXTERNAL_SPIRV_TOOLS=ON</parameter>: This switch allows
113 the build system to use the system-installed copy of
114 <xref linkend="spirv-tools" role="nodep"/>, instead of downloading and
115 installing it's own copy.
116 </para>
117
118 <para>
119 <parameter>-DBUILD_SHARED_LIBS=ON</parameter>: This switch builds shared
120 versions of the libaries, and does not install static versions of them.
121 </para>
122
123 </sect2>
124
125 <sect2 role="content">
126 <title>Contents</title>
127
128 <segmentedlist>
129 <segtitle>Installed Programs</segtitle>
130 <segtitle>Installed Libraries</segtitle>
131 <segtitle>Installed Directories</segtitle>
132
133 <seglistitem>
134 <seg>
135 glslang,
136 glslang-validator (symlink to glslang), and
137 spirv-remap
138 </seg>
139 <seg>
140 libglslang.so,
141 libglslang-default-resource-limits.so,
142 libHLSL.so,
143 libSPIRV.so, and
144 libSPVRemapper.so
145 </seg>
146 <seg>
147 /usr/include/glslang and
148 /usr/lib/cmake/glslang
149 </seg>
150 </seglistitem>
151 </segmentedlist>
152
153 <variablelist>
154 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
155 <?dbfo list-presentation="list"?>
156 <?dbhtml list-presentation="table"?>
157
158 <!-- If the program or library name conflicts with (is the same as) the
159 package name, add -prog or -lib to the varlistentry entity id
160 and the 2nd entry of the indexterm zone entity -->
161
162 <varlistentry id="glslang-prog">
163 <term><command>glslang</command></term>
164 <listitem>
165 <para>
166 provides a front end and validator for OpenGL, OpenGL ES, and
167 Vulkan shaders
168 </para>
169 <indexterm zone="glslang glslang-prog">
170 <primary sortas="b-glslang">glslang</primary>
171 </indexterm>
172 </listitem>
173 </varlistentry>
174
175 <varlistentry id="libglslang">
176 <term><filename class="libraryfile">libglslang.so</filename></term>
177 <listitem>
178 <para>
179 contains functions that provide a front-end and validator for
180 OpenGL, OpenGL ES, and Vulkan shaders to other programs
181 </para>
182 <indexterm zone="glslang libglslang">
183 <primary sortas="c-libglslang">libglslang.so</primary>
184 </indexterm>
185 </listitem>
186 </varlistentry>
187
188 <varlistentry id="libHLSL">
189 <term><filename class="libraryfile">libHLSL.so</filename></term>
190 <listitem>
191 <para>
192 provides a front-end for shaders that are in HLSL format
193 </para>
194 <indexterm zone="glslang libHLSL">
195 <primary sortas="c-libHLSL">libHLSL.so</primary>
196 </indexterm>
197 </listitem>
198 </varlistentry>
199
200 <varlistentry id="libSPIRV">
201 <term><filename class="libraryfile">libSPIRV.so</filename></term>
202 <listitem>
203 <para>
204 provides a front-end and generator for SPIR-V binaries
205 </para>
206 <indexterm zone="glslang libSPIRV">
207 <primary sortas="c-libSPIRV">libSPIRV.so</primary>
208 </indexterm>
209 </listitem>
210 </varlistentry>
211
212 <varlistentry id="libSPVRemapper">
213 <term><filename class="libraryfile">libSPVRemapper.so</filename></term>
214 <listitem>
215 <para>
216 prodives a remapper for SPIR-V binaries
217 </para>
218 <indexterm zone="glslang libSPVRemapper">
219 <primary sortas="c-libSPVRemapper">libSPVRemapper.so</primary>
220 </indexterm>
221 </listitem>
222 </varlistentry>
223
224 </variablelist>
225 </sect2>
226</sect1>
Note: See TracBrowser for help on using the repository browser.