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:
@@ -522,6 +522,8 @@ struct ir3_shader_variant {
|
|||||||
*/
|
*/
|
||||||
void *constant_data;
|
void *constant_data;
|
||||||
|
|
||||||
|
struct ir3_disasm_info disasm_info;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Below here is serialized when written to disk cache:
|
* 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 */
|
/* For when we don't have a shader, variant's copy of streamout state */
|
||||||
struct ir3_stream_output_info stream_output;
|
struct ir3_stream_output_info stream_output;
|
||||||
|
|
||||||
struct ir3_disasm_info disasm_info;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline const char *
|
static inline const char *
|
||||||
|
Reference in New Issue
Block a user