• Zebediah Figura's avatar
    wined3d: Recreate swapchain textures in wined3d_swapchain_resize_buffers(). · ebaa0a94
    Zebediah Figura authored
    Instead of using wined3d_texture_update_desc(). This is safe, because:
    
    * ddraw never exposes wined3d textures directly, and always retrieves them
      directly from wined3d when rendering.
    
    * d3d8 and d3d9 (non-extended) will only resize buffers during a reset, and
      resetting is forbidden if the application holds any references to the
      backbuffers. RTVs are also replaced during a reset, so there is no concern
      about retrieving the old RTVs from the device state.
    
    * d3d9ex allows resetting while holding references to the backbuffers, but tests
      (fixed by this patch) show that the backbuffers should in fact be recreated.
    
    * dxgi forbids holding references to back buffers during ResizeBuffers(),
      including indirect references via command lists or device contexts.
    ebaa0a94
d3d9ex.c 224 KB