Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


#ActualRyan_001

Posted 26 June 2013 - 08:34 PM

As far as a wish list...  Perhaps more for D3D12 but I'd like to see:
 
Input assembler moved completely into the vertex shader.  You bind resources of pretty much any type to the vertex shader, access them directly via texture look-ups.  Would make things a lot simpler and more flexible IMHO.  Granted you sort-of can do this already, but I'd be nice if the GPUs/drivers were optimized for it.
 
Depth/stencil/blend stage moved completely into the pixel shader.  Sort of like UAVs but not necessarily with the ability to do 'scatter' operations.  Could be exposed by allowing 'SV_Target0', 'SV_Target1' ect... to be read and write.  So initially its loaded with the value of the target, and it can be read, compared, operated on, and then if necessary written.
 
Full support for double precision through the whole pipeline.  Including 64-bit formats.
 
Unify textures and buffers.  They are already inter-changable in many ways.  Call them textures, arrays, buffers, resources, blobs, whatever.  Make it a 4D structured block of data that can be used for input or output all throughout the pipeline.  Where necessary a few creation flags in order to improve performance.  And all resources/buffers/whatever are 4D.  Remove resource dimension limits (ie. make them 32 or 64 bit unsigned ints), if there's memory available I should be able to create it.
 
Sampler states removed and rolled into the shaders.  Replace them with a few HLSL intrinsics.  Again this can be done already but with HLSL intrinsics supporting it, it shouldn't incur any performance penalty.
 
Not that any of this'll be in there, but one can always hope ;)  Bottom line I generally dislike state and fixed function mess, rolling these things into shaders gives a lot of additional flexibility, while making things simpler in general.


#2Ryan_001

Posted 26 June 2013 - 08:33 PM

As far as a wish list...  Perhaps more for D3D12 but I'd like to see:
 
Input assembler moved completely into the vertex shader.  You bind resources of pretty much any type to the vertex shader, access them directly via texture look-ups.  Would make things a lot simpler and more flexible IMHO.  Granted you sort-of can do this already, but I'd be nice if the GPUs/drivers were optimized for it.
 
Depth/stencil/blend stage moved completely into the pixel shader.  Sort of like UAVs but not necessarily with the ability to do 'scatter' operations.  Could be exposed by allowing 'SV_Target0', 'SV_Target1' ect... to be read and write.  So initially its loaded with the value of the target, and it can be read, compared, operated on, and then if necessary written.
 
Full support for double precision through the whole pipeline.  Including 64-bit formats.
 
Unify textures and buffers.  They are already inter-changable in many ways.  Call them textures, arrays, buffers, resources, blobs, whatever.  Make it a 4D structured block of data that can be used for input or output all throughout the pipeline.  Where necessary a few creation flags in order to improve performance.  And all resources/buffers/whatever are 4D.  Remove resource dimension limits (ie. make them 32 or 64 bit unsigned ints), if there's memory available I should be able to create it.
 
Sample states removed and rolled into the shaders.  Replace them with a few HLSL intrinsics.  Again this can be done already but with HLSL intrinsics supporting it, it shouldn't incur any performance penalty.
 
Not that any of this'll be in there, but one can always hope ;)  Bottom line I generally dislike state and fixed function mess, rolling these things into shaders gives a lot of additional flexibility, while making things simpler in general.


#1Ryan_001

Posted 26 June 2013 - 08:32 PM

As far as a wish list...  Perhaps more for D3D12 but I'd like to see:

 

Input assembler moved completely into the vertex shader.  You bind resources of pretty much any type to the vertex shader, access them directly via texture look-ups.  Would make things a lot simpler and more flexible IMHO.  Granted you sort-of can do this already, but I'd be nice if the GPUs/drivers were optimized for it.

 

Depth/stencil/blend stage moved completely into the pixel shader.  Sort of like UAVs but not necessarily with the ability to do 'scatter' operations.  Could be exposed by allowing 'SV_Target0', 'SV_Target1' ect... to be read and write.  So initially its loaded with the value of the target, and it can be read, compared, operated on, and then if necessary written.

 

Full support for double precision through the whole pipeline.  Including 64-bit formats.

 

Unify textures and buffers.  They are already inter-changable in many ways.  Call them textures, arrays, buffers, resources, blobs, whatever.  Make it a 4D structured block of data that can be used for input or output all throughout the pipeline.  Where necessary a few creation flags in order to improve performance.  And all resources/buffers/whatever are 4D.  Remove resource dimension limits (ie. make them 32 or 64 bit unsigned ints), if there's memory available I should be able to create it.

 

Sample states removed and rolled into the shaders.  Replace them with a few HLSL intrinsics.  Again this can be done already but with HLSL intrinsics supporting it, it shouldn't incur any performance penalty.

 

Not that any of this'll be in there, but one can always hope ;)  Bottom line I generally dislike state and fixed function mess, rolling these things into shaders gives a lot of additional flexibility, while making things simpler in general.


PARTNERS