Zebediah Figura : include: Document vkd3d-shader swizzles.

Alexandre Julliard julliard at winehq.org
Fri Sep 4 15:45:55 CDT 2020


Module: vkd3d
Branch: master
Commit: 277e70d0359c1d82cbe46e670a233405ba5b19ee
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=277e70d0359c1d82cbe46e670a233405ba5b19ee

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Thu Sep  3 22:41:48 2020 -0500

include: Document vkd3d-shader swizzles.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 include/vkd3d_shader.h | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/include/vkd3d_shader.h b/include/vkd3d_shader.h
index 16db028..044eeb9 100644
--- a/include/vkd3d_shader.h
+++ b/include/vkd3d_shader.h
@@ -961,7 +961,7 @@ struct vkd3d_shader_signature
     unsigned int element_count;
 };
 
-/* swizzle bits fields: wwzzyyxx */
+/** Possible values for a single component of a vkd3d-shader swizzle. */
 enum vkd3d_shader_swizzle_component
 {
     VKD3D_SHADER_SWIZZLE_X = 0x0,
@@ -972,17 +972,33 @@ enum vkd3d_shader_swizzle_component
     VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_SWIZZLE_COMPONENT),
 };
 
+/**
+ * A mask selecting one component from a vkd3d-shader swizzle. The component has
+ * type \ref vkd3d_shader_swizzle_component.
+ */
 #define VKD3D_SHADER_SWIZZLE_MASK (0xffu)
+/** The offset, in bits, of the nth parameter of a vkd3d-shader swizzle. */
 #define VKD3D_SHADER_SWIZZLE_SHIFT(idx) (8u * (idx))
 
+/**
+ * A helper macro which returns a vkd3d-shader swizzle with the given
+ * components. The components are specified as the suffixes to members of
+ * \ref vkd3d_shader_swizzle_component. For example, the swizzle ".xwyy" can be
+ * represented as:
+ * \code
+ * VKD3D_SHADER_SWIZZLE(X, W, Y, Y)
+ * \endcode
+ */
 #define VKD3D_SHADER_SWIZZLE(x, y, z, w) \
         vkd3d_shader_create_swizzle(VKD3D_SHADER_SWIZZLE_ ## x, \
                 VKD3D_SHADER_SWIZZLE_ ## y, \
                 VKD3D_SHADER_SWIZZLE_ ## z, \
                 VKD3D_SHADER_SWIZZLE_ ## w)
 
+/** The identity swizzle ".xyzw". */
 #define VKD3D_SHADER_NO_SWIZZLE VKD3D_SHADER_SWIZZLE(X, Y, Z, W)
 
+/** Build a vkd3d-shader swizzle with the given components. */
 static inline uint32_t vkd3d_shader_create_swizzle(enum vkd3d_shader_swizzle_component x,
         enum vkd3d_shader_swizzle_component y, enum vkd3d_shader_swizzle_component z,
         enum vkd3d_shader_swizzle_component w)




More information about the wine-cvs mailing list