diff --git a/src/gallium/drivers/panfrost/pan_context.h b/src/gallium/drivers/panfrost/pan_context.h index 804b6b10ebe..1e55c6deaff 100644 --- a/src/gallium/drivers/panfrost/pan_context.h +++ b/src/gallium/drivers/panfrost/pan_context.h @@ -118,6 +118,18 @@ struct panfrost_streamout { unsigned num_targets; }; +struct panfrost_cs { + struct kbase_cs base; + struct panfrost_bo *bo; + pan_command_stream cs; + mali_ptr event_ptr; + uint64_t seqnum; + mali_ptr kcpu_event_ptr; + uint64_t kcpu_seqnum; + uint64_t offset; + unsigned hw_resources; +}; + struct panfrost_context { /* Gallium context */ struct pipe_context base; @@ -133,6 +145,7 @@ struct panfrost_context { /* Sync obj used to keep track of in-flight jobs. */ uint32_t syncobj; + struct kbase_syncobj *syncobj_kbase; /* Set of 32 batches. When the set is full, the LRU entry (the batch * with the smallest seqnum) is flushed to free a slot. @@ -230,18 +243,12 @@ struct panfrost_context { int in_sync_fd; uint32_t in_sync_obj; -}; -struct panfrost_cs { - struct kbase_cs base; - struct panfrost_bo *bo; - pan_command_stream cs; - mali_ptr event_ptr; - uint64_t seqnum; - mali_ptr kcpu_event_ptr; - uint64_t kcpu_seqnum; - uint64_t offset; - unsigned hw_resources; + struct kbase_context *kbase_ctx; + struct panfrost_bo *event_bo; + struct panfrost_cs kbase_cs_vertex; + struct panfrost_cs kbase_cs_fragment; + struct panfrost_bo *tiler_heap_desc; }; /* Corresponds to the CSO */