• Home
  • Raw
  • Download

Lines Matching full:this

5  * copy of this software and associated documentation files (the "Software"),
11 * The above copyright notice and this permission notice (including the next
43 NineSwapChain9_ctor( struct NineSwapChain9 *This, in NineSwapChain9_ctor() argument
54 DBG("This=%p pDevice=%p pPresent=%p pCTX=%p hFocusWindow=%p\n", in NineSwapChain9_ctor()
55 This, pParams->device, pPresent, pCTX, hFocusWindow); in NineSwapChain9_ctor()
57 hr = NineUnknown_ctor(&This->base, pParams); in NineSwapChain9_ctor()
61 This->screen = NineDevice9_GetScreen(This->base.device); in NineSwapChain9_ctor()
62 This->implicit = implicit; in NineSwapChain9_ctor()
63 This->actx = pCTX; in NineSwapChain9_ctor()
64 This->present = pPresent; in NineSwapChain9_ctor()
65 This->mode = NULL; in NineSwapChain9_ctor()
68 if (!This->actx->thread_submit && in NineSwapChain9_ctor()
69 This->base.device->minor_version_num > 2) { in NineSwapChain9_ctor()
73 params2.AllowDISCARDDelayedRelease = This->actx->discard_delayed_release; in NineSwapChain9_ctor()
74 params2.TearFreeDISCARD = This->actx->tearfree_discard; in NineSwapChain9_ctor()
81 This->rendering_done = FALSE; in NineSwapChain9_ctor()
82 This->pool = NULL; in NineSwapChain9_ctor()
83 return NineSwapChain9_Resize(This, pPresentationParameters, mode); in NineSwapChain9_ctor()
87 D3DWindowBuffer_create(struct NineSwapChain9 *This, in D3DWindowBuffer_create() argument
93 struct pipe_context *pipe = nine_context_get_pipe_acquire(This->base.device); in D3DWindowBuffer_create()
100 This->screen->resource_get_handle(This->screen, pipe, resource, in D3DWindowBuffer_create()
106 nine_context_get_pipe_release(This->base.device); in D3DWindowBuffer_create()
109 hr = ID3DPresent_NewD3DWindowBufferFromDmaBuf(This->present, in D3DWindowBuffer_create()
127 NineSwapChain9_GetBackBufferCountForParams( struct NineSwapChain9 *This,
131 NineSwapChain9_Resize( struct NineSwapChain9 *This, in NineSwapChain9_Resize() argument
135 struct NineDevice9 *pDevice = This->base.device; in NineSwapChain9_Resize()
145 DBG("This=%p pParams=%p\n", This, pParams); in NineSwapChain9_Resize()
193 This->desired_fences = This->actx->throttling ? This->actx->throttling_value + 1 : 0; in NineSwapChain9_Resize()
195 if (This->desired_fences > DRI_SWAP_FENCES_MAX) in NineSwapChain9_Resize()
196 This->desired_fences = DRI_SWAP_FENCES_MAX; in NineSwapChain9_Resize()
198 if (This->actx->vblank_mode == 0) in NineSwapChain9_Resize()
200 else if (This->actx->vblank_mode == 3) in NineSwapChain9_Resize()
203 if (mode && This->mode) { in NineSwapChain9_Resize()
204 *(This->mode) = *mode; in NineSwapChain9_Resize()
206 This->mode = malloc(sizeof(D3DDISPLAYMODEEX)); in NineSwapChain9_Resize()
207 memcpy(This->mode, mode, sizeof(D3DDISPLAYMODEEX)); in NineSwapChain9_Resize()
209 free(This->mode); in NineSwapChain9_Resize()
210 This->mode = NULL; in NineSwapChain9_Resize()
215 hr = ID3DPresent_SetPresentParameters(This->present, pParams, This->mode); in NineSwapChain9_Resize()
219 oldBufferCount = This->num_back_buffers; in NineSwapChain9_Resize()
220 newBufferCount = NineSwapChain9_GetBackBufferCountForParams(This, pParams); in NineSwapChain9_Resize()
225 hr = d3dmultisample_type_check(This->screen, pParams->BackBufferFormat, in NineSwapChain9_Resize()
233 pf = d3d9_to_pipe_format_checked(This->screen, pParams->BackBufferFormat, in NineSwapChain9_Resize()
237 if (This->actx->linear_framebuffer || in NineSwapChain9_Resize()
242 (This->actx->ref && This->actx->ref == This->screen)) in NineSwapChain9_Resize()
273 if (This->tasks[i]) in NineSwapChain9_Resize()
274 _mesa_threadpool_wait_for_task(This->pool, &(This->tasks[i])); in NineSwapChain9_Resize()
276 memset(This->tasks, 0, sizeof(This->tasks)); in NineSwapChain9_Resize()
278 if (This->pool) { in NineSwapChain9_Resize()
279 _mesa_threadpool_destroy(This, This->pool); in NineSwapChain9_Resize()
280 This->pool = NULL; in NineSwapChain9_Resize()
282This->enable_threadpool = This->actx->thread_submit && (pParams->SwapEffect != D3DSWAPEFFECT_COPY); in NineSwapChain9_Resize()
283 if (This->enable_threadpool) in NineSwapChain9_Resize()
284 This->pool = _mesa_threadpool_create(This); in NineSwapChain9_Resize()
285 if (!This->pool) in NineSwapChain9_Resize()
286 This->enable_threadpool = FALSE; in NineSwapChain9_Resize()
289 ID3DPresent_DestroyD3DWindowBuffer(This->present, This->present_handles[i]); in NineSwapChain9_Resize()
290 This->present_handles[i] = NULL; in NineSwapChain9_Resize()
291 if (This->present_buffers[i]) in NineSwapChain9_Resize()
292 pipe_resource_reference(&(This->present_buffers[i]), NULL); in NineSwapChain9_Resize()
298 NineUnknown_Detach(NineUnknown(This->buffers[i])); in NineSwapChain9_Resize()
301 This->buffers[i] = NULL; in NineSwapChain9_Resize()
302 This->present_handles[i] = NULL; in NineSwapChain9_Resize()
305 This->num_back_buffers = newBufferCount; in NineSwapChain9_Resize()
312 tmplt.format = d3d9_to_pipe_format_checked(This->screen, in NineSwapChain9_Resize()
319 resource = This->screen->resource_create(This->screen, &tmplt); in NineSwapChain9_Resize()
326 if (This->buffers[i]) { in NineSwapChain9_Resize()
327 NineSurface9_SetMultiSampleType(This->buffers[i], desc.MultiSampleType); in NineSwapChain9_Resize()
328 NineSurface9_SetResourceResize(This->buffers[i], resource); in NineSwapChain9_Resize()
334 hr = NineSurface9_new(pDevice, NineUnknown(This), resource, NULL, 0, in NineSwapChain9_Resize()
335 0, 0, &desc, &This->buffers[i]); in NineSwapChain9_Resize()
342 This->buffers[i]->base.base.forward = FALSE; in NineSwapChain9_Resize()
348 if (This->actx->linear_framebuffer) in NineSwapChain9_Resize()
352 resource = This->screen->resource_create(This->screen, &tmplt); in NineSwapChain9_Resize()
353 pipe_resource_reference(&(This->present_buffers[i]), resource); in NineSwapChain9_Resize()
355 This->present_handles[i] = D3DWindowBuffer_create(This, resource, depth, false); in NineSwapChain9_Resize()
357 if (!This->present_handles[i]) { in NineSwapChain9_Resize()
364 tmplt.format = d3d9_to_pipe_format_checked(This->screen, in NineSwapChain9_Resize()
374 if (This->zsbuf) { in NineSwapChain9_Resize()
375 resource = This->screen->resource_create(This->screen, &tmplt); in NineSwapChain9_Resize()
381 NineSurface9_SetMultiSampleType(This->zsbuf, desc.MultiSampleType); in NineSwapChain9_Resize()
382 NineSurface9_SetResourceResize(This->zsbuf, resource); in NineSwapChain9_Resize()
392 (IDirect3DSurface9 **)&This->zsbuf, in NineSwapChain9_Resize()
398 NineUnknown_ConvertRefToBind(NineUnknown(This->zsbuf)); in NineSwapChain9_Resize()
402 This->params = *pParams; in NineSwapChain9_Resize()
417 swap_fences_pop_front(struct NineSwapChain9 *This) in swap_fences_pop_front() argument
419 struct pipe_screen *screen = This->screen; in swap_fences_pop_front()
422 if (This->desired_fences == 0) in swap_fences_pop_front()
425 if (This->cur_fences >= This->desired_fences) { in swap_fences_pop_front()
426 screen->fence_reference(screen, &fence, This->swap_fences[This->tail]); in swap_fences_pop_front()
427 screen->fence_reference(screen, &This->swap_fences[This->tail++], NULL); in swap_fences_pop_front()
428 This->tail &= DRI_SWAP_FENCES_MASK; in swap_fences_pop_front()
429 --This->cur_fences; in swap_fences_pop_front()
442 swap_fences_see_front(struct NineSwapChain9 *This) in swap_fences_see_front() argument
444 struct pipe_screen *screen = This->screen; in swap_fences_see_front()
447 if (This->desired_fences == 0) in swap_fences_see_front()
450 if (This->cur_fences >= This->desired_fences) { in swap_fences_see_front()
451 screen->fence_reference(screen, &fence, This->swap_fences[This->tail]); in swap_fences_see_front()
464 swap_fences_push_back(struct NineSwapChain9 *This, in swap_fences_push_back() argument
467 struct pipe_screen *screen = This->screen; in swap_fences_push_back()
469 if (!fence || This->desired_fences == 0) in swap_fences_push_back()
472 while(This->cur_fences == This->desired_fences) in swap_fences_push_back()
473 swap_fences_pop_front(This); in swap_fences_push_back()
475 This->cur_fences++; in swap_fences_push_back()
476 screen->fence_reference(screen, &This->swap_fences[This->head++], in swap_fences_push_back()
478 This->head &= DRI_SWAP_FENCES_MASK; in swap_fences_push_back()
488 swap_fences_unref(struct NineSwapChain9 *This) in swap_fences_unref() argument
490 struct pipe_screen *screen = This->screen; in swap_fences_unref()
492 while(This->cur_fences) { in swap_fences_unref()
493 screen->fence_reference(screen, &This->swap_fences[This->tail++], NULL); in swap_fences_unref()
494 This->tail &= DRI_SWAP_FENCES_MASK; in swap_fences_unref()
495 --This->cur_fences; in swap_fences_unref()
500 NineSwapChain9_dtor( struct NineSwapChain9 *This ) in NineSwapChain9_dtor() argument
504 DBG("This=%p\n", This); in NineSwapChain9_dtor()
506 if (This->pool) in NineSwapChain9_dtor()
507 _mesa_threadpool_destroy(This, This->pool); in NineSwapChain9_dtor()
509 for (i = 0; i < This->num_back_buffers; i++) { in NineSwapChain9_dtor()
510 if (This->buffers[i]) in NineSwapChain9_dtor()
511 NineUnknown_Detach(NineUnknown(This->buffers[i])); in NineSwapChain9_dtor()
512 if (This->present_handles[i]) in NineSwapChain9_dtor()
513 ID3DPresent_DestroyD3DWindowBuffer(This->present, This->present_handles[i]); in NineSwapChain9_dtor()
514 if (This->present_buffers[i]) in NineSwapChain9_dtor()
515 pipe_resource_reference(&(This->present_buffers[i]), NULL); in NineSwapChain9_dtor()
517 if (This->zsbuf) in NineSwapChain9_dtor()
518 NineUnknown_Unbind(NineUnknown(This->zsbuf)); in NineSwapChain9_dtor()
520 if (This->present) in NineSwapChain9_dtor()
521 ID3DPresent_Release(This->present); in NineSwapChain9_dtor()
523 swap_fences_unref(This); in NineSwapChain9_dtor()
524 NineUnknown_dtor(&This->base); in NineSwapChain9_dtor()
528 create_present_buffer( struct NineSwapChain9 *This, in create_present_buffer() argument
548 if (This->actx->linear_framebuffer) in create_present_buffer()
550 *resource = This->screen->resource_create(This->screen, &tmplt); in create_present_buffer()
552 *present_handle = D3DWindowBuffer_create(This, *resource, 24, true); in create_present_buffer()
560 handle_draw_cursor_and_hud( struct NineSwapChain9 *This, struct pipe_resource *resource) in handle_draw_cursor_and_hud() argument
562 struct NineDevice9 *device = This->base.device; in handle_draw_cursor_and_hud()
590 * This happens to be also the position of the cursor when we are fullscreen. in handle_draw_cursor_and_hud()
602 pipe = NineDevice9_GetPipe(This->base.device); in handle_draw_cursor_and_hud()
608 (void)NineDevice9_GetPipe(This->base.device); in handle_draw_cursor_and_hud()
634 static void pend_present(struct NineSwapChain9 *This, in pend_present() argument
639 work->screen = This->screen; in pend_present()
640 work->fence_to_wait = swap_fences_pop_front(This); in pend_present()
641 work->present = This->present; in pend_present()
642 work->present_handle = This->present_handles[0]; in pend_present()
644 This->tasks[0] = _mesa_threadpool_queue_task(This->pool, work_present, work); in pend_present()
650 present( struct NineSwapChain9 *This, in present() argument
663 DBG("present: This=%p pSourceRect=%p pDestRect=%p " in present()
666 This, pSourceRect, pDestRect, pDirtyRegion, in present()
667 hDestWindowOverride, (int)dwFlags, This->buffers[0]->base.resource); in present()
684 * In this case, either resize rngdata, or pass NULL instead in present()
686 /* Note: This->buffers[0]->level should always be 0 */ in present()
688 if (This->rendering_done) in present()
691 resource = This->buffers[0]->base.resource; in present()
693 if (This->params.SwapEffect == D3DSWAPEFFECT_DISCARD) in present()
694 handle_draw_cursor_and_hud(This, resource); in present()
696 pipe = NineDevice9_GetPipe(This->base.device); in present()
698 if (This->present_buffers[0]) { in present()
710 resource = This->present_buffers[0]; in present()
734 if (This->params.SwapEffect != D3DSWAPEFFECT_DISCARD) in present()
735 handle_draw_cursor_and_hud(This, resource); in present()
740 swap_fences_push_back(This, fence); in present()
741 This->screen->fence_reference(This->screen, &fence, NULL); in present()
744 This->rendering_done = TRUE; in present()
750 fence = swap_fences_see_front(This); in present()
752 still_draw = !This->screen->fence_finish(This->screen, NULL, fence, 0); in present()
753 This->screen->fence_reference(This->screen, &fence, NULL); in present()
759 if (!This->enable_threadpool) { in present()
760 This->tasks[0]=NULL; in present()
761 fence = swap_fences_pop_front(This); in present()
763 (void) This->screen->fence_finish(This->screen, NULL, fence, PIPE_TIMEOUT_INFINITE); in present()
764 This->screen->fence_reference(This->screen, &fence, NULL); in present()
767 …hr = ID3DPresent_PresentBuffer(This->present, This->present_handles[0], hDestWindowOverride, pSour… in present()
771 pend_present(This, hDestWindowOverride); in present()
773 This->rendering_done = FALSE; in present()
779 NineSwapChain9_Present( struct NineSwapChain9 *This, in NineSwapChain9_Present() argument
792 DBG("This=%p pSourceRect=%p pDestRect=%p hDestWindowOverride=%p " in NineSwapChain9_Present()
794 This, pSourceRect, pDestRect, hDestWindowOverride, in NineSwapChain9_Present()
797 if (This->base.device->ex) { in NineSwapChain9_Present()
798 if (NineSwapChain9_GetOccluded(This)) { in NineSwapChain9_Present()
803 if (NineSwapChain9_GetOccluded(This) || in NineSwapChain9_Present()
804 NineSwapChain9_ResolutionMismatch(This)) { in NineSwapChain9_Present()
805 This->base.device->device_needs_reset = TRUE; in NineSwapChain9_Present()
807 if (This->base.device->device_needs_reset) { in NineSwapChain9_Present()
813 nine_csmt_process(This->base.device); in NineSwapChain9_Present()
815 hr = present(This, pSourceRect, pDestRect, in NineSwapChain9_Present()
820 if (This->base.device->minor_version_num > 2 && in NineSwapChain9_Present()
821 This->params.SwapEffect == D3DSWAPEFFECT_DISCARD && in NineSwapChain9_Present()
822 This->params.PresentationInterval == D3DPRESENT_INTERVAL_IMMEDIATE && in NineSwapChain9_Present()
823 !This->actx->thread_submit) { in NineSwapChain9_Present()
828 for (i = 1; i < This->num_back_buffers; i++) { in NineSwapChain9_Present()
829 if (ID3DPresent_IsBufferReleased(This->present, This->present_handles[i])) { in NineSwapChain9_Present()
837 ID3DPresent_WaitBufferReleaseEvent(This->present); in NineSwapChain9_Present()
841 pipe_resource_reference(&res, This->buffers[0]->base.resource); in NineSwapChain9_Present()
843 This->buffers[0], This->buffers[next_buffer]->base.resource); in NineSwapChain9_Present()
845 This->buffers[next_buffer], res); in NineSwapChain9_Present()
848 if (This->present_buffers[0]) { in NineSwapChain9_Present()
849 pipe_resource_reference(&res, This->present_buffers[0]); in NineSwapChain9_Present()
850 pipe_resource_reference(&This->present_buffers[0], This->present_buffers[next_buffer]); in NineSwapChain9_Present()
851 pipe_resource_reference(&This->present_buffers[next_buffer], res); in NineSwapChain9_Present()
855 handle_temp = This->present_handles[0]; in NineSwapChain9_Present()
856 This->present_handles[0] = This->present_handles[next_buffer]; in NineSwapChain9_Present()
857 This->present_handles[next_buffer] = handle_temp; in NineSwapChain9_Present()
860 assert(!This->tasks[0] && !This->tasks[next_buffer]); in NineSwapChain9_Present()
862 switch (This->params.SwapEffect) { in NineSwapChain9_Present()
868 pipe_resource_reference(&res, This->buffers[0]->base.resource); in NineSwapChain9_Present()
869 for (i = 1; i < This->num_back_buffers; i++) { in NineSwapChain9_Present()
870 NineSurface9_SetResourceResize(This->buffers[i - 1], in NineSwapChain9_Present()
871 This->buffers[i]->base.resource); in NineSwapChain9_Present()
874 This->buffers[This->num_back_buffers - 1], res); in NineSwapChain9_Present()
877 if (This->present_buffers[0]) { in NineSwapChain9_Present()
878 pipe_resource_reference(&res, This->present_buffers[0]); in NineSwapChain9_Present()
879 for (i = 1; i < This->num_back_buffers; i++) in NineSwapChain9_Present()
880 … pipe_resource_reference(&(This->present_buffers[i-1]), This->present_buffers[i]); in NineSwapChain9_Present()
881 … pipe_resource_reference(&(This->present_buffers[This->num_back_buffers - 1]), res); in NineSwapChain9_Present()
885 handle_temp = This->present_handles[0]; in NineSwapChain9_Present()
886 for (i = 1; i < This->num_back_buffers; i++) { in NineSwapChain9_Present()
887 This->present_handles[i-1] = This->present_handles[i]; in NineSwapChain9_Present()
889 This->present_handles[This->num_back_buffers - 1] = handle_temp; in NineSwapChain9_Present()
890 task_temp = This->tasks[0]; in NineSwapChain9_Present()
891 for (i = 1; i < This->num_back_buffers; i++) { in NineSwapChain9_Present()
892 This->tasks[i-1] = This->tasks[i]; in NineSwapChain9_Present()
894 This->tasks[This->num_back_buffers - 1] = task_temp; in NineSwapChain9_Present()
902 if (This->tasks[0]) in NineSwapChain9_Present()
903 _mesa_threadpool_wait_for_task(This->pool, &(This->tasks[0])); in NineSwapChain9_Present()
905 ID3DPresent_WaitBufferReleased(This->present, This->present_handles[0]); in NineSwapChain9_Present()
908 This->base.device->context.changed.group |= NINE_STATE_FB; in NineSwapChain9_Present()
914 NineSwapChain9_GetFrontBufferData( struct NineSwapChain9 *This, in NineSwapChain9_GetFrontBufferData() argument
918 struct NineDevice9 *pDevice = This->base.device; in NineSwapChain9_GetFrontBufferData()
926 DBG("GetFrontBufferData: This=%p pDestSurface=%p\n", in NineSwapChain9_GetFrontBufferData()
927 This, pDestSurface); in NineSwapChain9_GetFrontBufferData()
937 create_present_buffer(This, width, height, &temp_resource, &temp_handle); in NineSwapChain9_GetFrontBufferData()
952 hr = NineSurface9_new(pDevice, NineUnknown(This), temp_resource, NULL, 0, in NineSwapChain9_GetFrontBufferData()
960 ID3DPresent_FrontBufferCopy(This->present, temp_handle); in NineSwapChain9_GetFrontBufferData()
964 ID3DPresent_DestroyD3DWindowBuffer(This->present, temp_handle); in NineSwapChain9_GetFrontBufferData()
971 NineSwapChain9_GetBackBuffer( struct NineSwapChain9 *This, in NineSwapChain9_GetBackBuffer() argument
976 DBG("GetBackBuffer: This=%p iBackBuffer=%d Type=%d ppBackBuffer=%p\n", in NineSwapChain9_GetBackBuffer()
977 This, iBackBuffer, Type, ppBackBuffer); in NineSwapChain9_GetBackBuffer()
981 user_assert(iBackBuffer < This->params.BackBufferCount, D3DERR_INVALIDCALL); in NineSwapChain9_GetBackBuffer()
983 NineUnknown_AddRef(NineUnknown(This->buffers[iBackBuffer])); in NineSwapChain9_GetBackBuffer()
984 *ppBackBuffer = (IDirect3DSurface9 *)This->buffers[iBackBuffer]; in NineSwapChain9_GetBackBuffer()
989 NineSwapChain9_GetRasterStatus( struct NineSwapChain9 *This, in NineSwapChain9_GetRasterStatus() argument
992 DBG("GetRasterStatus: This=%p pRasterStatus=%p\n", in NineSwapChain9_GetRasterStatus()
993 This, pRasterStatus); in NineSwapChain9_GetRasterStatus()
995 return ID3DPresent_GetRasterStatus(This->present, pRasterStatus); in NineSwapChain9_GetRasterStatus()
999 NineSwapChain9_GetDisplayMode( struct NineSwapChain9 *This, in NineSwapChain9_GetDisplayMode() argument
1006 DBG("GetDisplayMode: This=%p pMode=%p\n", in NineSwapChain9_GetDisplayMode()
1007 This, pMode); in NineSwapChain9_GetDisplayMode()
1010 hr = ID3DPresent_GetDisplayMode(This->present, &mode, &rot); in NineSwapChain9_GetDisplayMode()
1021 NineSwapChain9_GetPresentParameters( struct NineSwapChain9 *This, in NineSwapChain9_GetPresentParameters() argument
1024 DBG("GetPresentParameters: This=%p pPresentationParameters=%p\n", in NineSwapChain9_GetPresentParameters()
1025 This, pPresentationParameters); in NineSwapChain9_GetPresentParameters()
1027 *pPresentationParameters = This->params; in NineSwapChain9_GetPresentParameters()
1065 NineSwapChain9_GetOccluded( struct NineSwapChain9 *This ) in NineSwapChain9_GetOccluded() argument
1067 if (This->base.device->minor_version_num > 0) { in NineSwapChain9_GetOccluded()
1068 return ID3DPresent_GetWindowOccluded(This->present); in NineSwapChain9_GetOccluded()
1075 NineSwapChain9_ResolutionMismatch( struct NineSwapChain9 *This ) in NineSwapChain9_ResolutionMismatch() argument
1077 if (This->base.device->minor_version_num > 1) { in NineSwapChain9_ResolutionMismatch()
1078 return ID3DPresent_ResolutionMismatch(This->present); in NineSwapChain9_ResolutionMismatch()
1085 NineSwapChain9_CreateThread( struct NineSwapChain9 *This, in NineSwapChain9_CreateThread() argument
1089 if (This->base.device->minor_version_num > 1) { in NineSwapChain9_CreateThread()
1090 return ID3DPresent_CreateThread(This->present, pFuncAddress, pParam); in NineSwapChain9_CreateThread()
1097 NineSwapChain9_WaitForThread( struct NineSwapChain9 *This, in NineSwapChain9_WaitForThread() argument
1100 if (This->base.device->minor_version_num > 1) { in NineSwapChain9_WaitForThread()
1101 (void) ID3DPresent_WaitForThread(This->present, thread); in NineSwapChain9_WaitForThread()
1106 NineSwapChain9_GetBackBufferCountForParams( struct NineSwapChain9 *This, in NineSwapChain9_GetBackBufferCountForParams() argument
1123 if (This->actx->thread_submit && count < 3) in NineSwapChain9_GetBackBufferCountForParams()
1135 if (!This->actx->thread_submit && in NineSwapChain9_GetBackBufferCountForParams()
1136 This->base.device->minor_version_num > 2 && in NineSwapChain9_GetBackBufferCountForParams()