Jump to content
  • Advertisement
Sign in to follow this  
piluve

DX12 Porting to DX12

This topic is 370 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey guys,

I started working on a port from dx11 to dx12. The first thing, was to setup everything to work with Dx11On12. Right now I've got that done. Basically, the render frame goes as follows:

 

D3D12Prepare(); 		// setups the command list and command allocators (as well as basic clear and set render targets)
GetWrappedResources(); 	// Dx11on12 step to adquire resources

Render();				// Basically all the Dx11 rendering code etc

D3D12End();				// On D3D12Prepare we left the command list opened so we can add aditional	
						// commands, now close and execute it

ReleaseWrappedResources();

Flush();				// Flush all the dx11 code

Dx12Sync();				// Wait for fence
Dx12Present();

 

That setup is working and I changed some commands inside Render() from dx11 to dx12. (Basic stuff like setviewport)

I want to start porting more stuff inside the Render(), for example, we have a simple method to draw a quad (without vertex or index buffers, we use the vertex_id inside the shader).

Basically, it should translate to this:

 

mCmdList->IASetPrimitiveTopology(D3D_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP);
mCmdList->DrawInstanced(4, 1, 0, 0);

But even that simple piece of code is just not working. I would like to get some advice from someone that has done a similar process (using dx11on12), what are the limitations, things that wont work etc

My main concern right now, is that if I want to start setting up commands that touch the IA, I would have to also create the PSO, root signatures etc etc.

 

Thanks.

 

 

 

Edited by piluve

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!