pshade testing..few fixes
This commit is contained in:
parent
e2d25e3075
commit
e71de0b14b
|
@ -1,5 +1,5 @@
|
||||||
# Microsoft Developer Studio Project File - Name="CxbxKrnl" - Package Owner=<4>
|
# Microsoft Developer Studio Project File - Name="CxbxKrnl" - Package Owner=<4>
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 60000
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
# ** DO NOT EDIT **
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
||||||
|
|
|
@ -66,7 +66,7 @@ typedef signed long sint32;
|
||||||
//#define _DEBUG_TRACE
|
//#define _DEBUG_TRACE
|
||||||
|
|
||||||
// define this to trace warnings
|
// define this to trace warnings
|
||||||
#define _DEBUG_WARNINGS
|
//#define _DEBUG_WARNINGS
|
||||||
|
|
||||||
// version information
|
// version information
|
||||||
#ifndef _DEBUG_TRACE
|
#ifndef _DEBUG_TRACE
|
||||||
|
|
|
@ -2418,12 +2418,27 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_SetPixelShader
|
||||||
|
|
||||||
// redirect to windows d3d
|
// redirect to windows d3d
|
||||||
HRESULT hRet = D3D_OK;
|
HRESULT hRet = D3D_OK;
|
||||||
/* TODO: kingofc's pixel shader stuff
|
|
||||||
HRESULT hRet = g_pD3DDevice8->SetPixelShader
|
// TODO: Pixel Shader emulation
|
||||||
(
|
/*
|
||||||
Handle
|
// simplest possible pixel shader (diffuse only)
|
||||||
);
|
static const char szDiffusePixelShader[] =
|
||||||
//*/
|
"// Diffuse only \n"\
|
||||||
|
"ps.1.1 \n"\
|
||||||
|
"mov r0, v0 \n";// c0
|
||||||
|
|
||||||
|
LPD3DXBUFFER pShader = 0;
|
||||||
|
LPD3DXBUFFER pErrors = 0;
|
||||||
|
|
||||||
|
// assemble the shader
|
||||||
|
D3DXAssembleShader(szDiffusePixelShader, strlen(szDiffusePixelShader) - 1, 0, NULL, &pShader, &pErrors);
|
||||||
|
|
||||||
|
DWORD dwHandle = 0;
|
||||||
|
|
||||||
|
// create the shader device handle
|
||||||
|
g_pD3DDevice8->CreatePixelShader((DWORD*)pShader->GetBufferPointer(), &dwHandle);
|
||||||
|
g_pD3DDevice8->SetPixelShader(dwHandle);
|
||||||
|
*/
|
||||||
|
|
||||||
if(FAILED(hRet))
|
if(FAILED(hRet))
|
||||||
{
|
{
|
||||||
|
@ -2503,11 +2518,11 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_CreateTexture
|
||||||
D3DFORMAT PCFormat = EmuXB2PC_D3DFormat(Format);
|
D3DFORMAT PCFormat = EmuXB2PC_D3DFormat(Format);
|
||||||
|
|
||||||
// TODO: HACK: Devices that don't support this should somehow emulate it!
|
// TODO: HACK: Devices that don't support this should somehow emulate it!
|
||||||
/* This is OK on my GeForce FX 5600
|
//* This is OK on my GeForce FX 5600
|
||||||
if(PCFormat == D3DFMT_D16)
|
if(PCFormat == D3DFMT_D16)
|
||||||
{
|
{
|
||||||
EmuWarning("D3DFMT_D16 is an unsupported texture format!");
|
EmuWarning("D3DFMT_D16 is an unsupported texture format!");
|
||||||
PCFormat = D3DFMT_X8R8G8B8;
|
PCFormat = D3DFMT_R5G6B5;
|
||||||
}
|
}
|
||||||
//*
|
//*
|
||||||
else if(PCFormat == D3DFMT_P8)
|
else if(PCFormat == D3DFMT_P8)
|
||||||
|
@ -2516,13 +2531,13 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_CreateTexture
|
||||||
PCFormat = D3DFMT_X8R8G8B8;
|
PCFormat = D3DFMT_X8R8G8B8;
|
||||||
}
|
}
|
||||||
//*/
|
//*/
|
||||||
/* This is OK on my GeForce FX 5600
|
//* This is OK on my GeForce FX 5600
|
||||||
else if(PCFormat == D3DFMT_D24S8)
|
else if(PCFormat == D3DFMT_D24S8)
|
||||||
{
|
{
|
||||||
EmuWarning("D3DFMT_D24S8 is an unsupported texture format!");
|
EmuWarning("D3DFMT_D24S8 is an unsupported texture format!");
|
||||||
PCFormat = D3DFMT_X8R8G8B8;
|
PCFormat = D3DFMT_X8R8G8B8;
|
||||||
}//*/
|
}//*/
|
||||||
/*else */if(PCFormat == D3DFMT_YUY2)
|
else if(PCFormat == D3DFMT_YUY2)
|
||||||
{
|
{
|
||||||
// cache the overlay size
|
// cache the overlay size
|
||||||
g_dwOverlayW = Width;
|
g_dwOverlayW = Width;
|
||||||
|
@ -2534,7 +2549,7 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_CreateTexture
|
||||||
|
|
||||||
if(PCFormat != D3DFMT_YUY2)
|
if(PCFormat != D3DFMT_YUY2)
|
||||||
{
|
{
|
||||||
DWORD PCUsage = 0;// disabled along with D3DFMT_D16 above
|
DWORD PCUsage = Usage & (D3DUSAGE_RENDERTARGET);
|
||||||
// DWORD PCUsage = Usage & (D3DUSAGE_RENDERTARGET | D3DUSAGE_DEPTHSTENCIL);
|
// DWORD PCUsage = Usage & (D3DUSAGE_RENDERTARGET | D3DUSAGE_DEPTHSTENCIL);
|
||||||
D3DPOOL PCPool = D3DPOOL_MANAGED;
|
D3DPOOL PCPool = D3DPOOL_MANAGED;
|
||||||
|
|
||||||
|
@ -2542,8 +2557,7 @@ HRESULT WINAPI XTL::EmuIDirect3DDevice8_CreateTexture
|
||||||
|
|
||||||
*ppTexture = new X_D3DTexture();
|
*ppTexture = new X_D3DTexture();
|
||||||
|
|
||||||
// disabled along with D3DFMT_D16 above
|
if(Usage & (D3DUSAGE_RENDERTARGET))
|
||||||
if(Usage & (D3DUSAGE_RENDERTARGET | D3DUSAGE_DEPTHSTENCIL))
|
|
||||||
PCPool = D3DPOOL_DEFAULT;
|
PCPool = D3DPOOL_DEFAULT;
|
||||||
|
|
||||||
hRet = g_pD3DDevice8->CreateTexture
|
hRet = g_pD3DDevice8->CreateTexture
|
||||||
|
|
Loading…
Reference in New Issue