void push_state();
/** Restores a previously saved state. Must be matched with an earlier
- push_state call. */
+ push_state() call. */
void pop_state();
private:
/** Draws a batch of primitives. A shader must be active. */
void draw(const Batch &);
- /** Draws multiple instances of a batch of primitives. A shader must be active. */
+ /** Draws multiple instances of a batch of primitives. A shader must be
+ active. */
void draw_instanced(const Batch &, unsigned);
+private:
+ void apply_batch(const Batch &);
+
+public:
+ /** Dispatches a compute operation. */
+ void dispatch(unsigned, unsigned = 1, unsigned = 1);
+
/** Resolves multisample attachments from the active framebuffer into
- target. */
- void resolve_multisample(Framebuffer &target);
+ their corresponding resolve attachments. */
+ void resolve_multisample();
void begin_query(const QueryPool &, unsigned);
void end_query(const QueryPool &, unsigned);