nir/linker: remove reference to just SPIR-V linking
authorAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 6 Mar 2020 09:23:48 +0000 (10:23 +0100)
committerMarge Bot <eric+marge@anholt.net>
Fri, 6 Mar 2020 12:28:08 +0000 (12:28 +0000)
Several files had a initial comment about the purpose of such files,
including a reference that the NIR linker was implemented with just
ARB_gl_spirv in mind.

Since the nice job Timothy is doing to use the NIR linker on GLSL,
that is not true anymore, so let's remove that reference and also
tweak some other comments.

Acked-by: Timothy Arceri <tarceri@itsqueeze.com>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4081>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4081>

src/compiler/glsl/gl_nir_link_atomics.c
src/compiler/glsl/gl_nir_link_uniform_blocks.c
src/compiler/glsl/gl_nir_link_uniforms.c
src/compiler/glsl/gl_nir_link_xfb.c
src/compiler/glsl/gl_nir_linker.c

index 2b060513a60f6813636e26b1698d227a40f1a2a0..62f04af9d8768c4638386bafd607dd4abbf2ca1a 100644 (file)
 #include "compiler/glsl/ir_uniform.h" /* for gl_uniform_storage */
 #include "main/context.h"
 
-/* This file do the common link for GLSL atomic counter uniforms, using NIR,
+/**
+ * This file do the common link for GLSL atomic counter uniforms, using NIR,
  * instead of IR as the counter-part glsl/link_uniforms.cpp
- *
- * Also note that this is tailored for ARB_gl_spirv needs and particularities
  */
 
 struct active_atomic_counter_uniform {
index 28faa7e76263576603bb105ecfbbc4a039561f6c..53f03fe2a80e5b5164e9e7ed7287068a55dda022 100644 (file)
 #include "linker_util.h"
 #include "main/mtypes.h"
 
-/* Summary: This file contains code to do a nir-based linking for uniform
- * blocks. This includes ubos and ssbos.  Note that it is tailored to
- * ARB_gl_spirv needs and particularities.
+/**
+ * This file contains code to do a nir-based linking for uniform blocks. This
+ * includes ubos and ssbos.
  *
- * More details:
+ * For the case of ARB_gl_spirv there are some differences compared with GLSL:
  *
  * 1. Linking doesn't use names: GLSL linking use names as core concept. But
  *    on SPIR-V, uniform block name, fields names, and other names are
@@ -67,8 +67,9 @@
  *    RESOLVED.  Pick (c), but also allow debug names to be returned if an
  *    implementation wants to."
  *
- * This implemention doesn't care for the names, as the main objective is
- * functional, and not support optional debug features.
+ * When linking SPIR-V shaders this implemention doesn't care for the names,
+ * as the main objective is functional, and not support optional debug
+ * features.
  *
  * 2. Terminology: this file handles both UBO and SSBO, including both as
  *    "uniform blocks" analogously to what is done in the GLSL (IR) path.
  *       <skip>
  *       buffer  blockN { ... } ...;  -> Uniform, with BufferBlock decoration"
  *
- * 3. Explicit data: The code assumes that all structure members have an
- *    Offset decoration, all arrays have an ArrayStride and all matrices have
- *    a MatrixStride, even for nested structures. That way we don’t have to
- *    worry about the different layout modes. This is explicitly required in
- *    the SPIR-V spec:
+ * 3. Explicit data: for the SPIR-V path the code assumes that all structure
+ *    members have an Offset decoration, all arrays have an ArrayStride and
+ *    all matrices have a MatrixStride, even for nested structures. That way
+ *    we don’t have to worry about the different layout modes. This is
+ *    explicitly required in the SPIR-V spec:
  *
  *    "Composite objects in the UniformConstant, Uniform, and PushConstant
  *     Storage Classes must be explicitly laid out. The following apply to all
index 375340026a0d02622032a665bdb90f2aed74edc1..512dc868e73c5c912ad4c1d73a24551b4f121a99 100644 (file)
 #include "main/context.h"
 #include "main/mtypes.h"
 
-/* This file do the common link for GLSL uniforms, using NIR, instead of IR as
+/**
+ * This file do the common link for GLSL uniforms, using NIR, instead of IR as
  * the counter-part glsl/link_uniforms.cpp
- *
- * Also note that this is tailored for ARB_gl_spirv needs and particularities
- * (like need to work/link without name available, explicit location for
- * normal uniforms as mandatory, and so on).
  */
 
 #define UNMAPPED_UNIFORM_LOC ~0u
index 5b80a3e0373d4d2703b8d926717077c27cb882fb..69d11559f58a0400db940e6871b246431f478dd3 100644 (file)
 #include "main/context.h"
 #include "util/u_math.h"
 
-/*
+/**
  * This file does the linking of GLSL transform feedback using NIR.
- *
- * Note: This linking pass is currently tailored for ARB_gl_spirv needs and
- * particularities.
  */
 
 void
index 2ca25bda81873472bb3cc01c04f87a6f6ffad46c..c8cb6457f9614b2c0f6949b11bb1e7fa77db2600 100644 (file)
 #include "main/shaderobj.h"
 #include "ir_uniform.h" /* for gl_uniform_storage */
 
-/* This file included general link methods, using NIR, instead of IR as
+/**
+ * This file included general link methods, using NIR, instead of IR as
  * the counter-part glsl/linker.cpp
- *
- * Also note that this is tailored for ARB_gl_spirv needs and particularities
  */
 
 /**