From: Kenneth Graunke Date: Tue, 21 May 2019 06:20:45 +0000 (-0700) Subject: iris: Move iris_uncompiled_shader definition to iris_context.h X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6ae2caf20103d7a09d3e2f38537c997eb171311d;p=mesa.git iris: Move iris_uncompiled_shader definition to iris_context.h It had been internal to iris_program.c, but with the upcoming disk cache code, the "program module" is going to be spread across a couple source files. Into a header it goes! Now it lives alongside iris_compiled_shader, which makes sense. Reviewed-by: Dylan Baker --- diff --git a/src/gallium/drivers/iris/iris_context.h b/src/gallium/drivers/iris/iris_context.h index b6d44d637a6..294f325d19d 100644 --- a/src/gallium/drivers/iris/iris_context.h +++ b/src/gallium/drivers/iris/iris_context.h @@ -246,6 +246,29 @@ enum iris_predicate_state { /** @} */ +/** + * An uncompiled, API-facing shader. This is the Gallium CSO for shaders. + * It primarily contains the NIR for the shader. + * + * Each API-facing shader can be compiled into multiple shader variants, + * based on non-orthogonal state dependencies, recorded in the shader key. + * + * See iris_compiled_shader, which represents a compiled shader variant. + */ +struct iris_uncompiled_shader { + struct nir_shader *nir; + + struct pipe_stream_output_info stream_output; + + unsigned program_id; + + /** Bitfield of (1 << IRIS_NOS_*) flags. */ + unsigned nos; + + /** Have any shader variants been compiled yet? */ + bool compiled_once; +}; + /** * A compiled shader variant, containing a pointer to the GPU assembly, * as well as program data and other packets needed by state upload. diff --git a/src/gallium/drivers/iris/iris_program.c b/src/gallium/drivers/iris/iris_program.c index d5c5a32bbc4..834a3661355 100644 --- a/src/gallium/drivers/iris/iris_program.c +++ b/src/gallium/drivers/iris/iris_program.c @@ -55,29 +55,6 @@ get_new_program_id(struct iris_screen *screen) return p_atomic_inc_return(&screen->program_id); } -/** - * An uncompiled, API-facing shader. This is the Gallium CSO for shaders. - * It primarily contains the NIR for the shader. - * - * Each API-facing shader can be compiled into multiple shader variants, - * based on non-orthogonal state dependencies, recorded in the shader key. - * - * See iris_compiled_shader, which represents a compiled shader variant. - */ -struct iris_uncompiled_shader { - nir_shader *nir; - - struct pipe_stream_output_info stream_output; - - unsigned program_id; - - /** Bitfield of (1 << IRIS_NOS_*) flags. */ - unsigned nos; - - /** Have any shader variants been compiled yet? */ - bool compiled_once; -}; - static nir_ssa_def * get_aoa_deref_offset(nir_builder *b, nir_deref_instr *deref,