Zebediah Figura : vkd3d-shader: Introduce struct vkd3d_shader_hlsl_source_info.

Alexandre Julliard julliard at winehq.org
Mon Sep 28 14:48:14 CDT 2020


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

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Fri Sep 25 16:53:02 2020 -0500

vkd3d-shader: Introduce struct vkd3d_shader_hlsl_source_info.

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

---

 include/vkd3d_shader.h | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/include/vkd3d_shader.h b/include/vkd3d_shader.h
index 85588bc..7b95896 100644
--- a/include/vkd3d_shader.h
+++ b/include/vkd3d_shader.h
@@ -54,6 +54,11 @@ enum vkd3d_shader_structure_type
     /** The structure is a vkd3d_shader_transform_feedback_info structure. */
     VKD3D_SHADER_STRUCTURE_TYPE_TRANSFORM_FEEDBACK_INFO,
 
+    /**
+     * The structure is a vkd3d_shader_hlsl_source_info structure.
+     * \since 1.3
+     */
+    VKD3D_SHADER_STRUCTURE_TYPE_HLSL_SOURCE_INFO,
     /**
      * The structure is a vkd3d_shader_preprocess_info structure.
      * \since 1.3
@@ -739,6 +744,39 @@ struct vkd3d_shader_preprocess_info
     void *include_context;
 };
 
+/**
+ * A chained structure containing HLSL compilation parameters.
+ *
+ * This structure is optional.
+ *
+ * This structure extends vkd3d_shader_compile_info.
+ *
+ * This structure contains only input parameters.
+ *
+ * \since 1.3
+ */
+struct vkd3d_shader_hlsl_source_info
+{
+    /** Must be set to VKD3D_SHADER_STRUCTURE_TYPE_HLSL_SOURCE_INFO. */
+    enum vkd3d_shader_structure_type type;
+    /** Optional pointer to a structure containing further parameters. */
+    const void *next;
+
+    /**
+     * Optional pointer to a null-terminated string containing the shader entry
+     * point.
+     *
+     * If this parameter is NULL, vkd3d-shader uses the entry point "main".
+     */
+    const char *entry_point;
+    struct vkd3d_shader_code secondary_code;
+    /**
+     * Pointer to a null-terminated string containing the target shader
+     * profile.
+     */
+    const char *profile;
+};
+
 /* root signature 1.0 */
 enum vkd3d_shader_filter
 {




More information about the wine-cvs mailing list