Fix Legacy Overlay & Fix Spammed Begin Error

This commit is contained in:
BenjaminZehowlt
2025-10-20 13:22:02 -04:00
committed by Natsumi
parent b1f85d4b80
commit 8c67b049d7
3 changed files with 66 additions and 53 deletions

View File

@@ -110,7 +110,6 @@ namespace VRCX
if ((IntPtr)_renderTarget.Handle == IntPtr.Zero)
return;
_deviceContext.Begin(_query);
using ComPtr<ID3D11Texture2D> cefTexture =
_device1.OpenSharedResource1<ID3D11Texture2D>(paintInfo.SharedTextureHandle.ToPointer());
_deviceContext.CopyResource(_renderTarget, cefTexture);

View File

@@ -139,37 +139,43 @@ namespace VRCX
_device.SetInfoQueueCallback(msg => logger.Info(SilkMarshal.PtrToString((nint)msg.PDescription)!));
_texture1.Dispose();
_device.CreateTexture2D(new Texture2DDesc
{
Width = 512,
Height = 512,
MipLevels = 1,
ArraySize = 1,
Format = Format.FormatB8G8R8A8Unorm,
SampleDesc = new SampleDesc
SilkMarshal.ThrowHResult
(
_device.CreateTexture2D(new Texture2DDesc
{
Count = 1,
Quality = 0
},
BindFlags = (uint)BindFlag.ShaderResource
}, null, ref _texture1);
Width = 512,
Height = 512,
MipLevels = 1,
ArraySize = 1,
Format = Format.FormatB8G8R8A8Unorm,
SampleDesc = new SampleDesc
{
Count = 1,
Quality = 0
},
BindFlags = (uint)BindFlag.ShaderResource
}, null, ref _texture1)
);
_wristOverlay?.UpdateRender(_device, _deviceContext, _texture1);
_texture2.Dispose();
_device.CreateTexture2D(new Texture2DDesc
{
Width = 1024,
Height = 1024,
MipLevels = 1,
ArraySize = 1,
Format = Format.FormatB8G8R8A8Unorm,
SampleDesc = new SampleDesc
SilkMarshal.ThrowHResult
(
_device.CreateTexture2D(new Texture2DDesc
{
Count = 1,
Quality = 0
},
BindFlags = (uint)BindFlag.ShaderResource
}, null, ref _texture2);
Width = 1024,
Height = 1024,
MipLevels = 1,
ArraySize = 1,
Format = Format.FormatB8G8R8A8Unorm,
SampleDesc = new SampleDesc
{
Count = 1,
Quality = 0
},
BindFlags = (uint)BindFlag.ShaderResource
}, null, ref _texture2)
);
_hmdOverlay?.UpdateRender(_device, _deviceContext, _texture2);
}
}

View File

@@ -133,36 +133,44 @@ namespace VRCX
_device.SetInfoQueueCallback(msg => logger.Info(SilkMarshal.PtrToString((nint)msg.PDescription)!));
_texture1.Dispose();
_device.CreateTexture2D(new Texture2DDesc
{
Width = 512,
Height = 512,
MipLevels = 1,
ArraySize = 1,
Format = Format.FormatB8G8R8A8Unorm,
SampleDesc = new SampleDesc
SilkMarshal.ThrowHResult
(
_device.CreateTexture2D(new Texture2DDesc
{
Count = 1,
Quality = 0
},
BindFlags = (uint)BindFlag.ShaderResource
}, null, ref _texture1);
Width = 512,
Height = 512,
MipLevels = 1,
ArraySize = 1,
Format = Format.FormatB8G8R8A8Unorm,
SampleDesc = new SampleDesc
{
Count = 1,
Quality = 0
},
BindFlags = (uint)BindFlag.ShaderResource,
CPUAccessFlags = (uint)CpuAccessFlag.Write
}, null, ref _texture1)
);
_texture2.Dispose();
_device.CreateTexture2D(new Texture2DDesc
{
Width = 1024,
Height = 1024,
MipLevels = 1,
ArraySize = 1,
Format = Format.FormatB8G8R8A8Unorm,
SampleDesc = new SampleDesc
SilkMarshal.ThrowHResult
(
_device.CreateTexture2D(new Texture2DDesc
{
Count = 1,
Quality = 0
},
BindFlags = (uint)BindFlag.ShaderResource
}, null, ref _texture2);
Width = 1024,
Height = 1024,
MipLevels = 1,
ArraySize = 1,
Format = Format.FormatB8G8R8A8Unorm,
SampleDesc = new SampleDesc
{
Count = 1,
Quality = 0
},
BindFlags = (uint)BindFlag.ShaderResource,
CPUAccessFlags = (uint)CpuAccessFlag.Write
}, null, ref _texture2)
);
}
}