iris: Move iris_uncompiled_shader definition to iris_context.h
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 21 May 2019 06:20:45 +0000 (23:20 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Tue, 21 May 2019 22:05:38 +0000 (15:05 -0700)
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 <dylan@pnwbakers.com>
src/gallium/drivers/iris/iris_context.h
src/gallium/drivers/iris/iris_program.c

index b6d44d637a64a04a56b041c3f1c43c1688b5c277..294f325d19d69004de724d1ebb84dc2cf312c93f 100644 (file)
@@ -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.
index d5c5a32bbc40afb983b735cbdd37464ad08f1654..834a366135506aff816e517afe391cdaaeada70f 100644 (file)
@@ -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,