st/nine: Check discard_delayed_release is set before allocating more
When discard_delayed_release is set (default), we allocate more buffers and use a different buffer wait path. Check if it is set, and use the old paths if not (the alternative buffer wait path could still be used, but there is no advantage to using it in this case). Signed-off-by: Axel Davy <davyaxel0@gmail.com>
This commit is contained in:
@@ -958,6 +958,7 @@ NineSwapChain9_Present( struct NineSwapChain9 *This,
|
||||
return hr;
|
||||
|
||||
if (This->base.device->minor_version_num > 2 &&
|
||||
This->actx->discard_delayed_release &&
|
||||
This->params.SwapEffect == D3DSWAPEFFECT_DISCARD &&
|
||||
This->params.PresentationInterval == D3DPRESENT_INTERVAL_IMMEDIATE) {
|
||||
int next_buffer = -1;
|
||||
@@ -1283,6 +1284,7 @@ NineSwapChain9_GetBackBufferCountForParams( struct NineSwapChain9 *This,
|
||||
* . Buffer scheduled kernel side to be next on screen.
|
||||
* . Last buffer sent. */
|
||||
if (This->base.device->minor_version_num > 2 &&
|
||||
This->actx->discard_delayed_release &&
|
||||
pParams->PresentationInterval == D3DPRESENT_INTERVAL_IMMEDIATE) {
|
||||
if (This->actx->thread_submit && count < 4)
|
||||
count = 4;
|
||||
|
||||
Reference in New Issue
Block a user