X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fstate_trackers%2Fclover%2Fcore%2Fqueue.hpp;h=bddb86c0e4c9c3acab1e2de94b3a5ccd5fbb89c0;hb=b408734e5e2fe1e1ef08080c4425ad8a7ed33579;hp=81b9781cf47d0bca4f326e191ac1c908b8399699;hpb=9ae0bd3829a34d4239521d9c7838089395c2336c;p=mesa.git diff --git a/src/gallium/state_trackers/clover/core/queue.hpp b/src/gallium/state_trackers/clover/core/queue.hpp index 81b9781cf47..bddb86c0e4c 100644 --- a/src/gallium/state_trackers/clover/core/queue.hpp +++ b/src/gallium/state_trackers/clover/core/queue.hpp @@ -24,6 +24,7 @@ #define CLOVER_CORE_QUEUE_HPP #include +#include #include "core/object.hpp" #include "core/context.hpp" @@ -37,7 +38,7 @@ namespace clover { class command_queue : public ref_counter, public _cl_command_queue { public: - command_queue(context &ctx, device &dev, + command_queue(clover::context &ctx, clover::device &dev, cl_command_queue_properties props); ~command_queue(); @@ -47,11 +48,11 @@ namespace clover { void flush(); - cl_command_queue_properties props() const; + cl_command_queue_properties properties() const; bool profiling_enabled() const; - context &ctx; - device &dev; + const intrusive_ref context; + const intrusive_ref device; friend class resource; friend class root_resource; @@ -65,11 +66,12 @@ namespace clover { private: /// Serialize a hardware event with respect to the previous ones, /// and push it to the pending list. - void sequence(hard_event *ev); + void sequence(hard_event &ev); - cl_command_queue_properties _props; + cl_command_queue_properties props; pipe_context *pipe; - std::deque> queued_events; + std::mutex queued_events_mutex; + std::deque> queued_events; }; }