radv: change the returned error in radv_signal_fence()
[mesa.git] / src / amd / vulkan / radv_shader.h
index 12878307ecdac1491316f6c7dc55e911fe97f6e2..ce7682e8bf7e3af7d9b7a856c930b080a38c723a 100644 (file)
@@ -55,9 +55,21 @@ struct radv_shader_module {
        char data[0];
 };
 
+enum {
+       RADV_ALPHA_ADJUST_NONE = 0,
+       RADV_ALPHA_ADJUST_SNORM = 1,
+       RADV_ALPHA_ADJUST_SINT = 2,
+       RADV_ALPHA_ADJUST_SSCALED = 3,
+};
+
 struct radv_vs_variant_key {
        uint32_t instance_rate_inputs;
        uint32_t instance_rate_divisors[MAX_VERTEX_ATTRIBS];
+
+       /* For 2_10_10_10 formats the alpha is handled as unsigned by pre-vega HW.
+        * so we may need to fix it up. */
+       uint64_t alpha_adjust;
+
        uint32_t as_es:1;
        uint32_t as_ls:1;
        uint32_t export_prim_id:1;
@@ -83,10 +95,9 @@ struct radv_tcs_variant_key {
 struct radv_fs_variant_key {
        uint32_t col_format;
        uint8_t log2_ps_iter_samples;
-       uint8_t log2_num_samples;
+       uint8_t num_samples;
        uint32_t is_int8;
        uint32_t is_int10;
-       uint32_t multisample : 1;
 };
 
 struct radv_shader_variant_key {
@@ -108,9 +119,11 @@ struct radv_nir_compiler_options {
        bool dump_shader;
        bool dump_preoptir;
        bool record_llvm_ir;
+       bool check_ir;
        enum radeon_family family;
        enum chip_class chip_class;
        uint32_t tess_offchip_block_dw_size;
+       uint32_t address32_hi;
 };
 
 enum radv_ud_index {
@@ -122,7 +135,6 @@ enum radv_ud_index {
        AC_UD_VS_VERTEX_BUFFERS = AC_UD_SHADER_START,
        AC_UD_VS_BASE_VERTEX_START_INSTANCE,
        AC_UD_VS_MAX_UD,
-       AC_UD_PS_SAMPLE_POS_OFFSET = AC_UD_SHADER_START,
        AC_UD_PS_MAX_UD,
        AC_UD_CS_GRID_SIZE = AC_UD_SHADER_START,
        AC_UD_CS_MAX_UD,
@@ -145,6 +157,9 @@ struct radv_shader_info {
                bool needs_draw_id;
                bool needs_instance_id;
        } vs;
+       struct {
+               uint8_t output_usage_mask[VARYING_SLOT_VAR31 + 1];
+       } gs;
        struct {
                uint8_t output_usage_mask[VARYING_SLOT_VAR31 + 1];
        } tes;