summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2019-05-20 23:20:45 -0700
committerKenneth Graunke <kenneth@whitecape.org>2019-05-21 15:05:38 -0700
commit6ae2caf20103d7a09d3e2f38537c997eb171311d (patch)
tree535583bc3220a76afe922cb2b922485510908602
parent419d9b21e14d67776ec3a47df110dcbb6566dc03 (diff)
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 <dylan@pnwbakers.com>
-rw-r--r--src/gallium/drivers/iris/iris_context.h23
-rw-r--r--src/gallium/drivers/iris/iris_program.c23
2 files changed, 23 insertions, 23 deletions
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
@@ -247,6 +247,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,