context: using UnityEngine;
  using System;
  using LuaInterface;
  using SLua;
  using System.Collections.Generic;
  public class Lua_UnityEngine_Rendering_CommandBuffer : LuaObject {
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int constructor(IntPtr l) {
  		try {
  			UnityEngine.Rendering.CommandBuffer o;
  			o=new UnityEngine.Rendering.CommandBuffer();
  			pushValue(l,true);
  			pushValue(l,o);
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Dispose(IntPtr l) {
  		try {
  			UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  			self.Dispose();
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Release(IntPtr l) {
  		try {
  			UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  			self.Release();
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int Clear(IntPtr l) {
  		try {
  			UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  			self.Clear();
  			pushValue(l,true);
  			return 1;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int DrawMesh(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==4){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Mesh a1;
  				checkType(l,2,out a1);
  				UnityEngine.Matrix4x4 a2;
  				checkValueType(l,3,out a2);
  				UnityEngine.Material a3;
  				checkType(l,4,out a3);
  				self.DrawMesh(a1,a2,a3);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==5){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Mesh a1;
  				checkType(l,2,out a1);
  				UnityEngine.Matrix4x4 a2;
  				checkValueType(l,3,out a2);
  				UnityEngine.Material a3;
  				checkType(l,4,out a3);
  				System.Int32 a4;
  				checkType(l,5,out a4);
  				self.DrawMesh(a1,a2,a3,a4);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==6){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Mesh a1;
  				checkType(l,2,out a1);
  				UnityEngine.Matrix4x4 a2;
  				checkValueType(l,3,out a2);
  				UnityEngine.Material a3;
  				checkType(l,4,out a3);
  				System.Int32 a4;
  				checkType(l,5,out a4);
  				System.Int32 a5;
  				checkType(l,6,out a5);
  				self.DrawMesh(a1,a2,a3,a4,a5);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==7){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Mesh a1;
  				checkType(l,2,out a1);
  				UnityEngine.Matrix4x4 a2;
  				checkValueType(l,3,out a2);
  				UnityEngine.Material a3;
  				checkType(l,4,out a3);
  				System.Int32 a4;
  				checkType(l,5,out a4);
  				System.Int32 a5;
  				checkType(l,6,out a5);
  				UnityEngine.MaterialPropertyBlock a6;
  				checkType(l,7,out a6);
  				self.DrawMesh(a1,a2,a3,a4,a5,a6);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  			LuaDLL.lua_pushstring(l,"No matched override function to call");
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int DrawRenderer(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==3){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Renderer a1;
  				checkType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				self.DrawRenderer(a1,a2);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==4){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Renderer a1;
  				checkType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				System.Int32 a3;
  				checkType(l,4,out a3);
  				self.DrawRenderer(a1,a2,a3);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==5){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Renderer a1;
  				checkType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				System.Int32 a3;
  				checkType(l,4,out a3);
  				System.Int32 a4;
  				checkType(l,5,out a4);
  				self.DrawRenderer(a1,a2,a3,a4);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  			LuaDLL.lua_pushstring(l,"No matched override function to call");
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int DrawProcedural(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==6){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Matrix4x4 a1;
  				checkValueType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				System.Int32 a3;
  				checkType(l,4,out a3);
  				UnityEngine.MeshTopology a4;
  				checkEnum(l,5,out a4);
  				System.Int32 a5;
  				checkType(l,6,out a5);
  				self.DrawProcedural(a1,a2,a3,a4,a5);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==7){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Matrix4x4 a1;
  				checkValueType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				System.Int32 a3;
  				checkType(l,4,out a3);
  				UnityEngine.MeshTopology a4;
  				checkEnum(l,5,out a4);
  				System.Int32 a5;
  				checkType(l,6,out a5);
  				System.Int32 a6;
  				checkType(l,7,out a6);
  				self.DrawProcedural(a1,a2,a3,a4,a5,a6);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==8){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Matrix4x4 a1;
  				checkValueType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				System.Int32 a3;
  				checkType(l,4,out a3);
  				UnityEngine.MeshTopology a4;
  				checkEnum(l,5,out a4);
  				System.Int32 a5;
  				checkType(l,6,out a5);
  				System.Int32 a6;
  				checkType(l,7,out a6);
  				UnityEngine.MaterialPropertyBlock a7;
  				checkType(l,8,out a7);
  				self.DrawProcedural(a1,a2,a3,a4,a5,a6,a7);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  			LuaDLL.lua_pushstring(l,"No matched override function to call");
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int DrawProceduralIndirect(IntPtr l) {
  		try {
  			int argc = LuaDLL.lua_gettop(l);
  			if(argc==6){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Matrix4x4 a1;
  				checkValueType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				System.Int32 a3;
  				checkType(l,4,out a3);
  				UnityEngine.MeshTopology a4;
  				checkEnum(l,5,out a4);
  				UnityEngine.ComputeBuffer a5;
  				checkType(l,6,out a5);
  				self.DrawProceduralIndirect(a1,a2,a3,a4,a5);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==7){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Matrix4x4 a1;
  				checkValueType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				System.Int32 a3;
  				checkType(l,4,out a3);
  				UnityEngine.MeshTopology a4;
  				checkEnum(l,5,out a4);
  				UnityEngine.ComputeBuffer a5;
  				checkType(l,6,out a5);
  				System.Int32 a6;
  				checkType(l,7,out a6);
  				self.DrawProceduralIndirect(a1,a2,a3,a4,a5,a6);
  				pushValue(l,true);
  				return 1;
  			}
  			else if(argc==8){
  				UnityEngine.Rendering.CommandBuffer self=(UnityEngine.Rendering.CommandBuffer)checkSelf(l);
  				UnityEngine.Matrix4x4 a1;
  				checkValueType(l,2,out a1);
  				UnityEngine.Material a2;
  				checkType(l,3,out a2);
  				System.Int32 a3;
  				checkType(l,4,out a3);
  				UnityEngine.MeshTopology a4;
  				checkEnum(l,5,out a4);
  				UnityEngine.ComputeBuffer a5;
  				checkType(l,6,out a5);
  				System.Int32 a6;
  				checkType(l,7,out a6);
  				UnityEngine.MaterialPropertyBlock a7;
  				checkType(l,8,out a7);
  				self.DrawProceduralIndirect(a1,a2,a3,a4,a5,a6,a7);
  				pushValue(l,true);
  				return 1;
  			}
  			pushValue(l,false);
  			LuaDLL.lua_pushstring(l,"No matched override function to call");
  			return 2;
  		}
  		catch(Exception e) {
  			return error(l,e);
  		}
  	}
  	[MonoPInvokeCallbackAttribute(typeof(LuaCSFunction))]
  	static public int SetRenderTarget(IntPtr l) {
  		try {
  
gt: 			int argc = LuaDLL.lua_gettop(l);