void
genX(cmd_buffer_end_companion_rcs_syncpoint)(struct anv_cmd_buffer *cmd_buffer,
struct anv_state syncpoint);
+
+void
+genX(emit_simple_shader_init)(struct anv_simple_shader *state);
+
+void
+genX(emit_simple_shader_dispatch)(struct anv_simple_shader *state,
+ uint32_t num_threads,
+ struct anv_state push_state);
+
+struct anv_state
+genX(simple_shader_alloc_push)(struct anv_simple_shader *state, uint32_t size);
+
+struct anv_address
+genX(simple_shader_push_state_address)(struct anv_simple_shader *state,
+ struct anv_state push_state);
struct anv_batch batch;
struct anv_bo *batch_bo;
+ /* Stream for temporary allocations */
+ struct anv_state_stream dynamic_state_stream;
+ struct anv_state_stream general_state_stream;
+
/* Syncobj to be signaled when the batch completes */
struct vk_sync *sync;
* IN THE SOFTWARE.
*/
-#ifndef GENX_SIMPLE_SHADER_H
-#define GENX_SIMPLE_SHADER_H
-
#include <assert.h>
#include <stdbool.h>
#include "util/macros.h"
-#include "common/intel_genX_state.h"
-
#include "anv_private.h"
+#include "genxml/gen_macros.h"
+#include "genxml/genX_pack.h"
+#include "common/intel_genX_state.h"
+
static void
genX(emit_simpler_shader_init_fragment)(struct anv_simple_shader *state)
{
#endif
}
-static void
+/** Initialize a simple shader emission */
+void
genX(emit_simple_shader_init)(struct anv_simple_shader *state)
{
assert(state->kernel->stage == MESA_SHADER_FRAGMENT ||
genX(emit_simpler_shader_init_compute)(state);
}
-static struct anv_state
+/** Allocate push constant data for a simple shader */
+struct anv_state
genX(simple_shader_alloc_push)(struct anv_simple_shader *state, uint32_t size)
{
if (state->kernel->stage == MESA_SHADER_FRAGMENT) {
}
}
-static struct anv_address
+/** Get the address of allocated push constant data by
+ * genX(simple_shader_alloc_push)
+ */
+struct anv_address
genX(simple_shader_push_state_address)(struct anv_simple_shader *state,
struct anv_state push_state)
{
}
}
-static void
+/** Emit a simple shader dispatch */
+void
genX(emit_simple_shader_dispatch)(struct anv_simple_shader *state,
uint32_t num_threads,
struct anv_state push_state)
}
}
-#endif /* GENX_SIMPLE_SHADER_H */