if set to 1, true or yes, then the driver prefers accuracy over
performance in trig functions.
+.. envvar:: INTEL_SHADER_OPTIMIZER_PATH
+
+ if set, determines the directory to be used for overriding shader
+ assembly. The binaries with custom assembly should be placed in
+ this folder and have a name formatted as ``sha1_of_assembly.bin``.
+ The SHA-1 of a shader assembly is printed when assembly is dumped via
+ corresponding :envvar:`INTEL_DEBUG` flag (e.g. ``vs`` for vertex shader).
+ A binary could be generated from a dumped assembly by ``i965_asm``.
+ For :envvar:`INTEL_SHADER_ASM_READ_PATH` to work it is necessary to enable
+ dumping of corresponding shader stages via :envvar:`INTEL_DEBUG`.
+ It is advised to use ``nocompact`` flag of :envvar:`INTEL_DEBUG` when
+ dumping and overriding shader assemblies.
+ The success of assembly override would be signified by "Successfully
+ overrode shader with sha1 <SHA-1>" in stderr replacing the original
+ assembly.
+
.. envvar:: INTEL_SHADER_ASM_READ_PATH
if set, determines the directory to be used for overriding shader
return;
char *filename;
- int ret = asprintf(&filename, "%s%d-%s-%02d-%02d-%s",
+ int ret = asprintf(&filename, "%s/%s%d-%s-%02d-%02d-%s",
+ debug_get_option("INTEL_SHADER_OPTIMIZER_PATH", "./"),
stage_abbrev, dispatch_width, nir->info.name,
iteration, pass_num, pass_name);
if (ret == -1)