mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Many fixes to SSAO, should be good now.
This commit is contained in:
@@ -227,6 +227,27 @@ class CommandQueueMT {
|
||||
virtual void call() { (instance->*method)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); }
|
||||
};
|
||||
|
||||
template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12>
|
||||
struct Command12 : public CommandBase {
|
||||
|
||||
T *instance;
|
||||
M method;
|
||||
typename GetSimpleTypeT<P1>::type_t p1;
|
||||
typename GetSimpleTypeT<P2>::type_t p2;
|
||||
typename GetSimpleTypeT<P3>::type_t p3;
|
||||
typename GetSimpleTypeT<P4>::type_t p4;
|
||||
typename GetSimpleTypeT<P5>::type_t p5;
|
||||
typename GetSimpleTypeT<P6>::type_t p6;
|
||||
typename GetSimpleTypeT<P7>::type_t p7;
|
||||
typename GetSimpleTypeT<P8>::type_t p8;
|
||||
typename GetSimpleTypeT<P9>::type_t p9;
|
||||
typename GetSimpleTypeT<P10>::type_t p10;
|
||||
typename GetSimpleTypeT<P11>::type_t p11;
|
||||
typename GetSimpleTypeT<P12>::type_t p12;
|
||||
|
||||
virtual void call() { (instance->*method)(p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); }
|
||||
};
|
||||
|
||||
/* comands that return */
|
||||
|
||||
template <class T, class M, class R>
|
||||
@@ -906,6 +927,31 @@ public:
|
||||
if (sync) sync->post();
|
||||
}
|
||||
|
||||
template <class T, class M, class P1, class P2, class P3, class P4, class P5, class P6, class P7, class P8, class P9, class P10, class P11, class P12>
|
||||
void push(T *p_instance, M p_method, P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8, P9 p9, P10 p10, P11 p11, P12 p12) {
|
||||
|
||||
Command12<T, M, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> *cmd = allocate_and_lock<Command12<T, M, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> >();
|
||||
|
||||
cmd->instance = p_instance;
|
||||
cmd->method = p_method;
|
||||
cmd->p1 = p1;
|
||||
cmd->p2 = p2;
|
||||
cmd->p3 = p3;
|
||||
cmd->p4 = p4;
|
||||
cmd->p5 = p5;
|
||||
cmd->p6 = p6;
|
||||
cmd->p7 = p7;
|
||||
cmd->p8 = p8;
|
||||
cmd->p9 = p9;
|
||||
cmd->p10 = p10;
|
||||
cmd->p11 = p11;
|
||||
cmd->p12 = p12;
|
||||
|
||||
unlock();
|
||||
|
||||
if (sync) sync->post();
|
||||
}
|
||||
|
||||
/*** PUSH AND RET COMMANDS ***/
|
||||
|
||||
template <class T, class M, class R>
|
||||
|
||||
Reference in New Issue
Block a user