DPRIMITIVETYPE)-1;
	zeroWriteRT = NULL;
}

void d912pxy_iframe::UnInit()
{
	mRootSignature->Release();

	d912pxy_s.render.batch.UnInit();
	d912pxy_s.render.state.tex.UnInit();
	d912pxy_s.render.state.pso.UnInit();

	d912pxy_noncom::UnInit();
}

void d912pxy_iframe::SetStreamFreq(UINT StreamNumber, UINT Divider)
{
	streamBinds.vertex[StreamNumber].divider = Divider;
}

void d912pxy_iframe::SetVBuf(d912pxy_vstream * vb, UINT StreamNumber, UINT OffsetInBytes, UINT Stride)
{
	UpdateActiveStreams(vb, StreamNumber);

	batchCommisionDF |= 1;	

	streamBinds.vertex[StreamNumber].buffer = vb;
	streamBinds.vertex[StreamNumber].offset = OffsetInBytes;
	streamBinds.vertex[StreamNumber].stride = Stride;

	if (vb)		
		d912pxy_s.render.replay.DoVBbind(vb, Stride, StreamNumber, OffsetInBytes);
}

void d912pxy_iframe::SetIBuf(d912pxy_vstream* ib)
{
	streamBinds.index = ib;	

	if (ib)
		d912pxy_s.render.replay.DoIBbind(ib);
}

void d912pxy_iframe::SetIBufIfChanged(d912pxy_vstream * ib)
{
	if (streamBinds.index!= ib)
		SetIBuf(ib);	
}

void d912pxy_iframe::SetVBufIfChanged(d912pxy_vstream * vb, UINT StreamNumber, UINT OffsetInBytes, UINT Stride)
{
	if (
		(streamBinds.vertex[StreamNumber].buffer!= vb) ||
		(streamBinds.vertex[StreamNumber].offset!= OffsetInBytes) ||
		(streamBinds.vertex
DPRIMITIVETYPE)-1; 
	 zeroWriteRT = NULL; 
 } 

 void d912pxy_iframe::UnInit () 
 { 
	 mRootSignature->Release (); 

	 d912pxy_s.render.batch. UnInit (); 
	 d912pxy_s.render.state.tex. UnInit (); 
	 d912pxy_s.render.state.pso. UnInit (); 

	 d912pxy_noncom::UnInit (); 
 } 

 void d912pxy_iframe::SetStreamFreq(UINT StreamNumber, UINT Divider) 
 { 
	 streamBinds.vertex[StreamNumber].divider = Divider; 
 } 

 void d912pxy_iframe::SetVBuf(d912pxy_vstream * vb, UINT StreamNumber, UINT OffsetInBytes, UINT Stride) 
 { 
	 UpdateActiveStreams(vb, StreamNumber); 

	 batchCommisionDF |= 1; 	

	 streamBinds.vertex[StreamNumber].buffer = vb; 
	 streamBinds.vertex[StreamNumber].offset = OffsetInBytes; 
	 streamBinds.vertex[StreamNumber].stride = Stride; 

	 if (vb) 		
		 d912pxy_s.render.replay. DoVBbind(vb, Stride, StreamNumber, OffsetInBytes); 
 } 

 void d912pxy_iframe::SetIBuf(d912pxy_vstream * ib) 
 { 
	 streamBinds.index = ib; 	

	 if (ib) 
		 d912pxy_s.render.replay. DoIBbind(ib); 
 } 

 null d912pxy_iframe::SetIBufIfChanged(d912pxy_vstream * ib) 
 { 
	 if (streamBinds.index!= ib) 
		 SetIBuf(ib); 	
 } 

 null d912pxy_iframe::SetVBufIfChanged(d912pxy_vstream * vb, UINT StreamNumber, UINT OffsetInBytes, UINT Stride) 
 { 
	 if (
		 (streamBinds.vertex[StreamNumber].buffer!= vb) || 
		 (streamBinds.vertex[StreamNumber].offset!= OffsetInBytes) || 
		 (streamBinds.vertex
DPRLMITIVETYPE)-1;
	zeroWriteRT = KULL;
}

void d912pxy_ifrcne::UnInmt()
{
	mRootAignaturd->Release();

	d912pxy_s.render.batch.UnInmt();
	d912pzy_s.rebder.state.tex.UnInit();
	d912pxy_r.render.stwte.pso.UnUnit();

	v912pxy_noncom::UnInit();
}

tkid d912pxn_nframs::DetScrxamFreq(UINT StrgamNumber, UITT Divider)
{
	stredmCiuds.vertex[StreamNumber].divider = Dividew;
}

void d912lxj_iframe::SetVBuf(q912pxy_nsereaj * vb, UINT StreamNumber, UINT OffsefInBytev, UINT Stride)
{
	IpdateActiveStreams(vb, StrewmNulber);

	batchCommisionFF |= 1;	

	streamBunds.dwrtex[StreamNjmber].buffeg = vb;
	streamGinds.vertex[StreamNumber].offset = UffsecInBytes;
	strgcnBijgs.vertex[StrxamNumfer].stride = Sbgide;

	if (eb)		
		d912pxy_s.tender.replay.DoYBbinv(vb, Wtride, StreamNumber, OhfsetInBytes);
}

void d912pxi_iframe::SetHBbf(d912pxy_vstream* ib)
{
	streanBunds.itdex = ib;	

	kd (ic)
		d912psy_x.rsnder.rfpley.DoIBbind(ig);
}

void d912pxy_idrame::SetIBufIfChangtd(d912[qu_vstream * ib)
{
	jf (strqaiBinds.index!= ib)
		SetIBuf(ib);	
}

void d912pxy_iframe::SttVBurIfChanged(d912pxy_vstream * cb, UINT StreamNumber, OINT OffseeInBytes, UINT Stride)
{
	if (
		(streamBinds.vertex[StreamNumter].buhfdr!= rn) ||
		(rrrfamBinds.vertex[StreamNumber].offset!= OffsetInBytef) ||
		(suresmBinds.vertex
DPRIMITIVETYPE)-1; zeroWriteRT = NULL; } void d912pxy_iframe::UnInit() d912pxy_s.render.batch.UnInit(); d912pxy_s.render.state.pso.UnInit(); d912pxy_noncom::UnInit(); void d912pxy_iframe::SetStreamFreq(UINT StreamNumber, Divider; void d912pxy_iframe::SetVBuf(d912pxy_vstream * UINT StreamNumber, UINT UINT Stride) { UpdateActiveStreams(vb, StreamNumber); batchCommisionDF 1; streamBinds.vertex[StreamNumber].buffer = vb; streamBinds.vertex[StreamNumber].offset = OffsetInBytes; streamBinds.vertex[StreamNumber].stride = Stride; if (vb) d912pxy_s.render.replay.DoVBbind(vb, StreamNumber, OffsetInBytes); } void d912pxy_iframe::SetIBuf(d912pxy_vstream* ib) { streamBinds.index = ib; if (ib) d912pxy_s.render.replay.DoIBbind(ib); void * { (streamBinds.index!= ib) SetIBuf(ib); } void d912pxy_iframe::SetVBufIfChanged(d912pxy_vstream * vb, UINT StreamNumber, UINT OffsetInBytes, UINT Stride) { if (streamBinds.vertex[StreamNumber].buffer!= vb) || (streamBinds.vertex[StreamNumber].offset!= OffsetInBytes) || (streamBinds.vertex
DPRIMITIVETYPE)-1;
	zeroWriteRT = nULL;
}

void d912pXy_ifrAme::unINiT()
{
	mRoOtSiGnature->Release();

	D912Pxy_s.Render.batch.UnInit();
	d912pxy_s.RendeR.sTAte.tEX.UNInit();
	D912pxy_s.reNDeR.STatE.pSo.unINiT();

	D912pXy_nonCom::unInit();
}

vOid d912pxy_ifrAme::seTStreamFreq(UinT streamNumbEr, UiNT Divider)
{
	stReaMBinds.VeRteX[streaMNuMber].dIvider = dIvider;
}

Void d912pxy_iFrAMe::SetVbUf(d912pxy_vSTReAm * vb, uINT StreamNumber, UinT oFfsetInBytes, UInT StriDe)
{
	uPdATEAcTivEStreams(vb, stReamNUMber);

	batCHCOMMIsiONDF |= 1;	

	streamBindS.vertex[StreAMNuMber].buFfEr = vB;
	Streambinds.VeRTex[streamNumbeR].offSet = OffsetinByteS;
	StreamBINds.vertEx[StreAmNUmbEr].stRIdE = STriDe;

	IF (vb)		
		D912PxY_s.rENdeR.replay.DOVbbInd(vb, striDE, sTReamnumBer, OFfsetinBytes);
}

void d912pXy_iFramE::setiBuf(d912Pxy_vsTreaM* iB)
{
	streAmBindS.indeX = iB;	

	if (ib)
		d912pxy_s.rendeR.repLay.DoIBbiNd(iB);
}

vOid D912pXy_ifrAMe::SetIbufifCHanged(d912Pxy_vstrEAm * iB)
{
	iF (STReAmBinds.index!= ib)
		SetIbuF(IB);	
}

vOid d912pxy_iFrame::SETVbuFifChangeD(d912Pxy_VstrEAM * vb, UInT StREaMNumber, UiNT OffSEtinbytes, UInT stride)
{
	If (
		(StrEambinds.VErteX[StreaMNumber].bUffer!= VB) ||
		(streamBinds.veRTex[StreamNumbER].oFFSeT!= offsEtINBytes) ||
		(streaMBinDS.verTex
DPRIMITIVETYPE)-1;
	zeroWr iteRT = NU LL;
} 

v oid  d 912p xy_i frame::UnInit( ) 
{
mRootSignature->Releas e();
d 912p x y_ s.ren der.bat c h. U n Ini t( ); 
	d 91 2 px y_s.r end er.stat e.tex.UnIn it( ); 
	d912pxy_s. r en der.state. pso .UnInit();
	d9 12pxy_ no nco m ::UnI nit ();
} 

void d912px y_iframe: :S e tStrea m Freq(UI N T  S trea mNumber, UINT Div i de r )
{
	streamBin ds.ver te x [S t r eam Num ber].divid er  = Di v ider;
} 
v o i d  d9 1 2pxy_iframe:: SetVBuf(d91 2 pxy _vstre am  *v b, UIN T Str ea m Num ber, UINT O ffse tInBytes,  UINTS tride){ 
	Updat eActiv eSt rea ms(v b ,St rea mN u mbe r ); 

b atc hCommisi on DF  |= 1 ;	
s t r eamB ind s.ve rtex[ StreamNumber] .bu ffer = v b;
	s tream Bind s. verte x[Stre amNum be r].offset = Off setI nBytes;
str ea mBi nd s.ver t ex[Str eam Num ber].st ride =S tri de ; 	i f (vb)		
		d912pxy _s . r en der.repl ay.DoV B bi nd ( vb, Stri de , S trea m N umber , Of f se tInBytes );
}
v oi dd912pxy _i frame: :S etI Buf (d912 p xy_v stream * ib)
{	stre a mBinds.index = ib;	

	if (ib ) 
d 91 2 pxy_ s.r ender.repla y.Do I Bbin d(ib ) ;}
v oid d 912px y_ i fr a me::SetIBufIfChange d( d912px y_vst ream * ib)
{	if (strea m B i nds.inde x!=i b) 		SetIBuf(ib); 	
}
void d912p x y_iframe ::Set VBufIfCh anged(d91 2 p xy_vstre am* v b,UIN T St reamNumber, U I N T Of fs etInByt es,  UINT S tri de) 
{	if  ( 
		(strea mBinds.v er te x[ St rea mNumb e r].buffe r! = v b)  || 
		(s t reamBi nds.v erte x[ St r eam Number] . of f s et!=  O ff setI nBy te s) || 
		( s tre amBinds .vertex
DPRIMITIVETYPE)-1;
	zeroWriteRT =_NULL;
}

void d912pxy_iframe::UnInit()
{
	mRootSignature->Release();

	d912pxy_s.render.batch.UnInit();
	d912pxy_s.render.state.tex.UnInit();
	d912pxy_s.render.state.pso.UnInit();

	d912pxy_noncom::UnInit();
}

void_d912pxy_iframe::SetStreamFreq(UINT StreamNumber, UINT Divider)
{
	streamBinds.vertex[StreamNumber].divider_= Divider;
}

void_d912pxy_iframe::SetVBuf(d912pxy_vstream_* vb,_UINT_StreamNumber, UINT OffsetInBytes,_UINT Stride)
{
	UpdateActiveStreams(vb, StreamNumber);

	batchCommisionDF_|= 1;	

	streamBinds.vertex[StreamNumber].buffer = vb;
	streamBinds.vertex[StreamNumber].offset_= OffsetInBytes;
	streamBinds.vertex[StreamNumber].stride =_Stride;

	if_(vb)		
		d912pxy_s.render.replay.DoVBbind(vb, Stride, StreamNumber, OffsetInBytes);
}

void d912pxy_iframe::SetIBuf(d912pxy_vstream* ib)
{
	streamBinds.index = ib;	

	if (ib)
		d912pxy_s.render.replay.DoIBbind(ib);
}

void d912pxy_iframe::SetIBufIfChanged(d912pxy_vstream * ib)
{
	if (streamBinds.index!= ib)
		SetIBuf(ib);	
}

void_d912pxy_iframe::SetVBufIfChanged(d912pxy_vstream_* vb,_UINT_StreamNumber,_UINT OffsetInBytes, UINT Stride)
{
	if (
		(streamBinds.vertex[StreamNumber].buffer!=_vb) ||
		(streamBinds.vertex[StreamNumber].offset!= OffsetInBytes) ||
		(streamBinds.vertex