ir3: Don't save/restore disasm string pointer

It's not in the key, so it randomly may or may not be present, and if it
is present then we don't actually save/restore the contents, so we will
save/restore random pointer values from the last run. Turnip already
disables searching the shader cache when assembly is requested, but
still wrote the final ir3_shader_variant which resulted in trying to
save random stale pointers when saving off the executable if a
subsequent compile hit that cache entry.

This fixes flakes in
dEQP-VK.pipeline.pipeline_library.shader_module_identifier.pipeline_from_id.*
for me.

Fixes: 56909868cd ("turnip: implement VK_KHR_pipeline_executable_properties")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20056>
This commit is contained in:
Connor Abbott
2022-11-29 14:30:00 +01:00
committed by Marge Bot
parent 515c9a2e07
commit 8ba2d612d5

View File

@@ -522,6 +522,8 @@ struct ir3_shader_variant {
*/
void *constant_data;
struct ir3_disasm_info disasm_info;
/*
* Below here is serialized when written to disk cache:
*/
@@ -775,8 +777,6 @@ struct ir3_shader_variant {
/* For when we don't have a shader, variant's copy of streamout state */
struct ir3_stream_output_info stream_output;
struct ir3_disasm_info disasm_info;
};
static inline const char *