Revert "intel/blorp: Fix usage of uninitialized memory in key hashing"
authorKenneth Graunke <kenneth@whitecape.org>
Thu, 7 Nov 2019 17:26:37 +0000 (09:26 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 7 Nov 2019 17:27:12 +0000 (09:27 -0800)
This reverts commit 4432a2d14d80081d062f7939a950d65ea3a16eed.

Pretty much every SKQP test dies with this assertion:
skqp: ../src/mesa/drivers/dri/i965/brw_program_cache.c:102: hash_key: Assertion `item->key_size % 4 == 0' failed.

src/intel/blorp/blorp_clear.c

index b8a68ffdbecce03acee2d0ecae2659773e3aa7d9..901fde9095b1d1e2c247ab7096c4e735a75ead1d 100644 (file)
 
 #define FILE_DEBUG_FLAG DEBUG_BLORP
 
-#pragma pack(push, 1)
 struct brw_blorp_const_color_prog_key
 {
    enum blorp_shader_type shader_type; /* Must be BLORP_SHADER_TYPE_CLEAR */
    bool use_simd16_replicated_data;
    bool clear_rgb_as_red;
+   bool pad[3];
 };
-#pragma pack(pop)
 
 static bool
 blorp_params_get_clear_kernel(struct blorp_batch *batch,
@@ -109,12 +108,10 @@ blorp_params_get_clear_kernel(struct blorp_batch *batch,
    return result;
 }
 
-#pragma pack(push, 1)
 struct layer_offset_vs_key {
    enum blorp_shader_type shader_type;
    unsigned num_inputs;
 };
-#pragma pack(pop)
 
 /* In the case of doing attachment clears, we are using a surface state that
  * is handed to us so we can't set (and don't even know) the base array layer.
@@ -1092,7 +1089,6 @@ blorp_nir_bit(nir_builder *b, nir_ssa_def *src, unsigned bit)
                       nir_imm_int(b, 1));
 }
 
-#pragma pack(push, 1)
 struct blorp_mcs_partial_resolve_key
 {
    enum blorp_shader_type shader_type;
@@ -1100,7 +1096,6 @@ struct blorp_mcs_partial_resolve_key
    bool int_format;
    uint32_t num_samples;
 };
-#pragma pack(pop)
 
 static bool
 blorp_params_get_mcs_partial_resolve_kernel(struct blorp_batch *batch,