Files
Revelations/Minecraft.Client
itsRevela 2c23e3e54c wip: flip mode resize buffers experiment (blocked by deferred context IntRefs)
Experimental branch that tried to enable screen tearing by switching the swap chain from DXGI_SWAP_EFFECT_DISCARD (bitblt) to DXGI_SWAP_EFFECT_FLIP_DISCARD with the ALLOW_TEARING flag. Tearing in flip mode requires ResizeBuffers on window resize because flip swap chains take exclusive ownership of the HWND and cannot be destroyed-and-recreated like bitblt ones.

ResizeBuffers fails with DXGI_ERROR_INVALID_CALL (0x887A0001) every time. Diagnosis path got us to the authoritative cause via the DXGI debug layer's info queue and ID3D11Debug::ReportLiveDeviceObjects: both physical backbuffers of the flip chain have an internal reference count of 5 (D3D11 IntRef, not public COM refcount). DXGI's outstanding-references check looks at IntRef, which is why probing public refcount always showed 2 and nothing we released dropped it.

The internal refs come from the 4J Renderer library's use of a deferred context. Renderer::InitialiseContext calls ID3D11Device::CreateDeferredContext and records commands into it via Renderer::Context (stored in thread-local storage). Commands that reference the backbuffer or an RTV wrapping it pin IntRefs on the backbuffer texture until the command list is Finished and then Released. The Renderer library owns that command list and we have no handle to it, so we cannot drop those refs from the outside without reverse engineering significantly more of the 4J library.

This commit preserves the instrumentation and the failed flip mode experiment so we can return to it later if a cleaner approach becomes available. Retained in this file:
- DXGI_FEATURE_PRESENT_ALLOW_TEARING probe and g_bTearingSupported global
- FLIP_DISCARD swap chain config with ALLOW_TEARING flag
- ResizeBuffers call path in ResizeD3D with fallback recovery for when it fails
- Dedicated file logger (FlipTestLog) writing to flip_test.log
- D3D11 and DXGI info queue capture helpers
- ID3D11Debug / IDXGIDebug ReportLiveObjects wiring
- Granular refcount probes throughout the resize cleanup chain
- GPU idle wait via ID3D11Query fence

Not a fix. The next iteration goes back to bitblt and tries exclusive fullscreen for tearing instead.
2026-04-11 05:00:04 -05:00
..
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-12 05:19:39 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-05 01:12:48 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-06 09:52:28 -06:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-04 17:29:43 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-04-08 12:44:56 +03:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-08 18:08:36 -05:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-07 03:31:30 +07:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00
2026-03-01 12:16:08 +08:00

========================================================================
    Xbox 360 APPLICATION : Minecraft.Client Project Overview
========================================================================

AppWizard has created this Minecraft.Client application for you.  

This file contains a summary of what you will find in each of the files that
make up your Minecraft.Client application.

Minecraft.Client.vcxproj
    This is the main project file for VC++ projects generated using an Application Wizard. 
    It contains information about the version of Visual C++ that generated the file, and 
    information about the platforms, configurations, and project features selected with the
    Application Wizard.

Minecraft.Client.cpp
    This is the main application source file.



/////////////////////////////////////////////////////////////////////////////
Other notes:

AppWizard uses "TODO:" comments to indicate parts of the source code you
should add to or customize.

/////////////////////////////////////////////////////////////////////////////