#endif /* GFX_VER >= 7 */
#if GFX_VERx10 >= 125
-
- blorp_emit(batch, GENX(CFE_STATE), cfe) {
- cfe.MaximumNumberofThreads =
- devinfo->max_cs_threads * devinfo->subslice_total;
- }
-
assert(cs_prog_data->push.per_thread.regs == 0);
blorp_emit(batch, GENX(COMPUTE_WALKER), cw) {
cw.SIMDSize = dispatch.simd_size / 16;
init_render_queue_state(struct anv_queue *queue)
{
struct anv_device *device = queue->device;
+ UNUSED const struct intel_device_info *devinfo = queue->device->info;
uint32_t cmds[128];
struct anv_batch batch = {
.start = cmds,
#if GFX_VERx10 >= 125
anv_batch_emit(&batch, GENX(3DSTATE_MESH_CONTROL), zero);
anv_batch_emit(&batch, GENX(3DSTATE_TASK_CONTROL), zero);
+ genX(batch_emit_pipe_control_write)(&batch, device->info, NoWrite,
+ ANV_NULL_ADDRESS,
+ 0,
+ ANV_PIPE_FLUSH_BITS | ANV_PIPE_INVALIDATE_BITS);
+ genX(emit_pipeline_select)(&batch, GPGPU);
+ anv_batch_emit(&batch, GENX(CFE_STATE), cfe) {
+ cfe.MaximumNumberofThreads =
+ devinfo->max_cs_threads * devinfo->subslice_total;
+ }
+ genX(batch_emit_pipe_control_write)(&batch, device->info, NoWrite,
+ ANV_NULL_ADDRESS,
+ 0,
+ ANV_PIPE_FLUSH_BITS | ANV_PIPE_INVALIDATE_BITS);
+ genX(emit_pipeline_select)(&batch, _3D);
#endif
anv_batch_emit(&batch, GENX(MI_BATCH_BUFFER_END), bbe);
init_compute_queue_state(struct anv_queue *queue)
{
struct anv_batch batch;
+ UNUSED const struct intel_device_info *devinfo = queue->device->info;
uint32_t cmds[64];
batch.start = batch.next = cmds;
init_common_queue_state(queue, &batch);
+#if GFX_VERx10 >= 125
+ anv_batch_emit(&batch, GENX(CFE_STATE), cfe) {
+ cfe.MaximumNumberofThreads =
+ devinfo->max_cs_threads * devinfo->subslice_total;
+ }
+#endif
+
anv_batch_emit(&batch, GENX(MI_BATCH_BUFFER_END), bbe);
assert(batch.next <= batch.end);