summaryrefslogtreecommitdiffstats
path: root/src/compiler/shader_info.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/shader_info.h')
-rw-r--r--src/compiler/shader_info.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/compiler/shader_info.h b/src/compiler/shader_info.h
index c3dbe764961..3d871938751 100644
--- a/src/compiler/shader_info.h
+++ b/src/compiler/shader_info.h
@@ -199,6 +199,25 @@ typedef struct shader_info {
bool sample_interlock_ordered;
bool sample_interlock_unordered;
+ /**
+ * Flags whether NIR's base types on the FS color outputs should be
+ * ignored.
+ *
+ * GLSL requires that fragment shader output base types match the
+ * render target's base types for the behavior to be defined. From
+ * the GL 4.6 spec:
+ *
+ * "If the values written by the fragment shader do not match the
+ * format(s) of the corresponding color buffer(s), the result is
+ * undefined."
+ *
+ * However, for NIR shaders translated from TGSI, we don't have the
+ * output types any more, so the driver will need to do whatever
+ * fixups are necessary to handle effectively untyped data being
+ * output from the FS.
+ */
+ bool untyped_color_outputs;
+
/** gl_FragDepth layout for ARB_conservative_depth. */
enum gl_frag_depth_layout depth_layout;
} fs;