mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 05:47:56 -07:00
D3D11:
Hardcode the backbuffer size again. Fix R5G6B5 texture converting, textures should be perfect now. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5697 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
c1ca3ae96c
commit
67283e54fc
@ -317,9 +317,10 @@ HRESULT Create(HWND wnd)
|
|||||||
mode_desc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED;
|
mode_desc.Scaling = DXGI_MODE_SCALING_UNSPECIFIED;
|
||||||
hr = output->FindClosestMatchingMode(&mode_desc, &swap_chain_desc.BufferDesc, NULL);
|
hr = output->FindClosestMatchingMode(&mode_desc, &swap_chain_desc.BufferDesc, NULL);
|
||||||
if (FAILED(hr)) MessageBox(wnd, _T("Failed to find a supported video mode"), _T("Dolphin Direct3D 11 plugin"), MB_OK | MB_ICONERROR);
|
if (FAILED(hr)) MessageBox(wnd, _T("Failed to find a supported video mode"), _T("Dolphin Direct3D 11 plugin"), MB_OK | MB_ICONERROR);
|
||||||
// TODO: Enable these two lines, they're breaking stuff for SOME reason right now
|
|
||||||
// xres = swap_chain_desc.BufferDesc.Width;
|
// forcing buffer resolution to xres and yres.. TODO: The new video mode might not actually be supported!
|
||||||
// yres = swap_chain_desc.BufferDesc.Height;
|
swap_chain_desc.BufferDesc.Width = xres;
|
||||||
|
swap_chain_desc.BufferDesc.Height = yres;
|
||||||
|
|
||||||
#if defined(_DEBUG) || defined(DEBUGFAST)
|
#if defined(_DEBUG) || defined(DEBUGFAST)
|
||||||
D3D11_CREATE_DEVICE_FLAG device_flags = (D3D11_CREATE_DEVICE_FLAG)(D3D11_CREATE_DEVICE_DEBUG|D3D11_CREATE_DEVICE_SINGLETHREADED);
|
D3D11_CREATE_DEVICE_FLAG device_flags = (D3D11_CREATE_DEVICE_FLAG)(D3D11_CREATE_DEVICE_DEBUG|D3D11_CREATE_DEVICE_SINGLETHREADED);
|
||||||
|
@ -119,8 +119,12 @@ void ReplaceTexture2D(ID3D11Texture2D* pTexture, const u8* buffer, unsigned int
|
|||||||
u32* pBits = (u32*)((u8*)outptr + y * destPitch);
|
u32* pBits = (u32*)((u8*)outptr + y * destPitch);
|
||||||
for (unsigned int x = 0; x < width; x++)
|
for (unsigned int x = 0; x < width; x++)
|
||||||
{
|
{
|
||||||
|
// we can't simply shift here, since e.g. 11111 must map to 11111111 and not 11111000
|
||||||
const u16 col = *in;
|
const u16 col = *in;
|
||||||
*pBits = 0xFF000000 | (((col&0x1f)<<3)) | ((col&0x7e0)<<5) | ((col&0xF800)<<8);
|
*pBits = 0xFF000000 | // alpha
|
||||||
|
((((col&0xF800) << 5) * 255 / 31) & 0xFF0000) | // red
|
||||||
|
((((col& 0x7e0) << 3) * 255 / 63) & 0xFF00) | // green
|
||||||
|
(( (col& 0x1f) * 255 / 31)); // blue
|
||||||
pBits++;
|
pBits++;
|
||||||
in++;
|
in++;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user