compiler/nir: move build_log helper into builtin-builder
[mesa.git] / src / compiler / shader_info.h
index cbc22d24636efc905a0171f1e712b6a462343822..fcd235112a06c5b7a2a8b5208702bb6687842c88 100644 (file)
@@ -79,10 +79,12 @@ struct spirv_supported_capabilities {
    bool vk_memory_model;
    bool vk_memory_model_device_scope;
    bool float16;
+   bool amd_fragment_mask;
    bool amd_gcn_shader;
    bool amd_shader_ballot;
    bool amd_trinary_minmax;
    bool amd_image_read_write_lod;
+   bool amd_shader_explicit_vertex_parameter;
 };
 
 typedef struct shader_info {
@@ -138,6 +140,9 @@ typedef struct shader_info {
    /** Bitfield of which textures are used by texelFetch() */
    uint32_t textures_used_by_txf;
 
+   /** Bitfield of which images are used */
+   uint32_t images_used;
+
    /* SPV_KHR_float_controls: execution mode for floating point ops */
    uint16_t float_controls_execution_mode;
 
@@ -174,6 +179,9 @@ typedef struct shader_info {
    /* Whether flrp has been lowered. */
    bool flrp_lowered:1;
 
+   /* Whether the shader writes memory, including transform feedback. */
+   bool writes_memory:1;
+
    union {
       struct {
          /* Which inputs are doubles */
@@ -215,6 +223,7 @@ typedef struct shader_info {
 
       struct {
          bool uses_discard:1;
+         bool uses_demote:1;
 
          /**
           * True if this fragment shader requires helper invocations.  This