summaryrefslogtreecommitdiffstats
path: root/src/libs/dxvk-native-1.9.2a/src/dxbc/dxbc_modinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/dxvk-native-1.9.2a/src/dxbc/dxbc_modinfo.h')
-rw-r--r--src/libs/dxvk-native-1.9.2a/src/dxbc/dxbc_modinfo.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/libs/dxvk-native-1.9.2a/src/dxbc/dxbc_modinfo.h b/src/libs/dxvk-native-1.9.2a/src/dxbc/dxbc_modinfo.h
new file mode 100644
index 00000000..13e733dd
--- /dev/null
+++ b/src/libs/dxvk-native-1.9.2a/src/dxbc/dxbc_modinfo.h
@@ -0,0 +1,59 @@
+#pragma once
+
+#include "dxbc_options.h"
+
+namespace dxvk {
+
+ /**
+ * \brief Tessellation info
+ *
+ * Stores the maximum tessellation factor
+ * to export from tessellation shaders.
+ */
+ struct DxbcTessInfo {
+ float maxTessFactor;
+ };
+
+ /**
+ * \brief Xfb capture entry
+ *
+ * Stores an output variable to capture,
+ * as well as the buffer to write it to.
+ */
+ struct DxbcXfbEntry {
+ const char* semanticName;
+ uint32_t semanticIndex;
+ uint32_t componentIndex;
+ uint32_t componentCount;
+ uint32_t streamId;
+ uint32_t bufferId;
+ uint32_t offset;
+ };
+
+ /**
+ * \brief Xfb info
+ *
+ * Stores capture entries and output buffer
+ * strides. This structure must only be
+ * defined if \c entryCount is non-zero.
+ */
+ struct DxbcXfbInfo {
+ uint32_t entryCount;
+ DxbcXfbEntry entries[128];
+ uint32_t strides[4];
+ int32_t rasterizedStream;
+ };
+
+ /**
+ * \brief Shader module info
+ *
+ * Stores information which may affect shader compilation.
+ * This data can be supplied by the client API implementation.
+ */
+ struct DxbcModuleInfo {
+ DxbcOptions options;
+ DxbcTessInfo* tess;
+ DxbcXfbInfo* xfb;
+ };
+
+} \ No newline at end of file