Skip to content

Performance enhancement for DirectX 11 OutputMergerWrapper #901

@GoogleCodeExporter

Description

@GoogleCodeExporter
hi,
it would be great if you could add a SetBlendState method to the 
OutputMergerWrapper which performs exactly as the 
ID3D11DeviceContext::OMSetBlendState method of the DirectX API for performance 
reasons. 
At the moment the wrapper provides getting/setting of the three parameters via 
properties, which internally involves calls to 
ID3D11DeviceContext::OMGetBlendState to get the current values of the other two 
parameters before setting the new parameter. In worst case, this leads to three 
calls to OMGetBlendState and three calls to OMSetBlendState if you wish to set 
all three parameters. Even in the common case you just wish to set the 
BlendState object, a totally unneccessary call to OMGetBlendState precedes the 
set call, even if your code holds all three parameters and could just send them 
to one OMSetBlendState call.
Although I assume the driver caches these objects to deliver them back to the 
caller without asking the graphics card to deliver the data, this seems to be a 
waste of resources in most cases. 
You may leave the properties access as is, but it would be nice to deliver a 
method to supply the complete blend state call at once to the DirectX API.

Original issue reported on code.google.com by tr...@posteo.de on 19 Nov 2013 at 3:58

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions