Skip to content

Commit 512a597

Browse files
committed
remove shader dynamic compilation because it isn't needed
1 parent ee04c66 commit 512a597

File tree

9 files changed

+108
-1854
lines changed

9 files changed

+108
-1854
lines changed

materialsystem/shaderapidx9/shaderapidx8.cpp

-152
Original file line numberDiff line numberDiff line change
@@ -2147,159 +2147,7 @@ void CShaderAPIDx8::ReleaseInternalRenderTargets( )
21472147
//-----------------------------------------------------------------------------
21482148
bool CShaderAPIDx8::RestorePersistedDisplay( bool bUseFrontBuffer )
21492149
{
2150-
#if defined( _X360 )
2151-
if ( !( XboxLaunch()->GetLaunchFlags() & LF_INTERNALLAUNCH ) )
2152-
{
2153-
// there is no persisted screen
2154-
return false;
2155-
}
2156-
2157-
OwnGPUResources( false );
2158-
2159-
const char *strVertexShaderProgram =
2160-
" float4x4 matWVP : register(c0);"
2161-
" struct VS_IN"
2162-
" {"
2163-
" float4 ObjPos : POSITION;"
2164-
" float2 TexCoord : TEXCOORD;"
2165-
" };"
2166-
" struct VS_OUT"
2167-
" {"
2168-
" float4 ProjPos : POSITION;"
2169-
" float2 TexCoord : TEXCOORD;"
2170-
" };"
2171-
" VS_OUT main( VS_IN In )"
2172-
" {"
2173-
" VS_OUT Out; "
2174-
" Out.ProjPos = mul( matWVP, In.ObjPos );"
2175-
" Out.TexCoord = In.TexCoord;"
2176-
" return Out;"
2177-
" }";
2178-
2179-
const char *strPixelShaderProgram =
2180-
" struct PS_IN"
2181-
" {"
2182-
" float2 TexCoord : TEXCOORD;"
2183-
" };"
2184-
" sampler detail;"
2185-
" float4 main( PS_IN In ) : COLOR"
2186-
" {"
2187-
" return tex2D( detail, In.TexCoord );"
2188-
" }";
2189-
2190-
D3DVERTEXELEMENT9 VertexElements[3] =
2191-
{
2192-
{ 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
2193-
{ 0, 12, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },
2194-
D3DDECL_END()
2195-
};
2196-
2197-
2198-
IDirect3DTexture *pTexture;
2199-
if ( bUseFrontBuffer )
2200-
{
2201-
Dx9Device()->GetFrontBuffer( &pTexture );
2202-
}
2203-
else
2204-
{
2205-
// 360 holds a persistent image across restarts
2206-
Dx9Device()->GetPersistedTexture( &pTexture );
2207-
}
2208-
2209-
ID3DXBuffer *pErrorMsg = NULL;
2210-
ID3DXBuffer *pShaderCode = NULL;
2211-
2212-
HRESULT hr = D3DXCompileShader( strVertexShaderProgram, (UINT)strlen( strVertexShaderProgram ), NULL, NULL, "main", "vs_2_0", 0, &pShaderCode, &pErrorMsg, NULL );
2213-
if ( FAILED( hr ) )
2214-
{
2215-
return false;
2216-
}
2217-
IDirect3DVertexShader9 *pVertexShader;
2218-
Dx9Device()->CreateVertexShader( (DWORD*)pShaderCode->GetBufferPointer(), &pVertexShader );
2219-
pShaderCode->Release();
2220-
2221-
pErrorMsg = NULL;
2222-
pShaderCode = NULL;
2223-
hr = D3DXCompileShader( strPixelShaderProgram, (UINT)strlen( strPixelShaderProgram ), NULL, NULL, "main", "ps_2_0", 0, &pShaderCode, &pErrorMsg, NULL );
2224-
if ( FAILED(hr) )
2225-
{
2226-
return false;
2227-
}
2228-
IDirect3DPixelShader9 *pPixelShader;
2229-
Dx9Device()->CreatePixelShader( (DWORD*)pShaderCode->GetBufferPointer(), &pPixelShader );
2230-
pShaderCode->Release();
2231-
2232-
int w, h;
2233-
GetBackBufferDimensions( w, h );
2234-
2235-
// Create a vertex declaration from the element descriptions.
2236-
IDirect3DVertexDeclaration9 *pVertexDecl;
2237-
Dx9Device()->CreateVertexDeclaration( VertexElements, &pVertexDecl );
2238-
XMMATRIX matWVP = XMMatrixOrthographicOffCenterLH( 0, (FLOAT)w, (FLOAT)h, 0, 0, 1 );
2239-
2240-
ConVarRef mat_monitorgamma( "mat_monitorgamma" );
2241-
ConVarRef mat_monitorgamma_tv_range_min( "mat_monitorgamma_tv_range_min" );
2242-
ConVarRef mat_monitorgamma_tv_range_max( "mat_monitorgamma_tv_range_max" );
2243-
ConVarRef mat_monitorgamma_tv_exp( "mat_monitorgamma_tv_exp" );
2244-
ConVarRef mat_monitorgamma_tv_enabled( "mat_monitorgamma_tv_enabled" );
2245-
g_pShaderDeviceDx8->SetHardwareGammaRamp( mat_monitorgamma.GetFloat(), mat_monitorgamma_tv_range_min.GetFloat(), mat_monitorgamma_tv_range_max.GetFloat(),
2246-
mat_monitorgamma_tv_exp.GetFloat(), mat_monitorgamma_tv_enabled.GetBool() );
2247-
2248-
// Structure to hold vertex data.
2249-
struct COLORVERTEX
2250-
{
2251-
FLOAT Position[3];
2252-
float TexCoord[2];
2253-
};
2254-
COLORVERTEX Vertices[4];
2255-
2256-
Vertices[0].Position[0] = 0;
2257-
Vertices[0].Position[1] = 0;
2258-
Vertices[0].Position[2] = 0;
2259-
Vertices[0].TexCoord[0] = 0;
2260-
Vertices[0].TexCoord[1] = 0;
2261-
2262-
Vertices[1].Position[0] = w-1;
2263-
Vertices[1].Position[1] = 0;
2264-
Vertices[1].Position[2] = 0;
2265-
Vertices[1].TexCoord[0] = 1;
2266-
Vertices[1].TexCoord[1] = 0;
2267-
2268-
Vertices[2].Position[0] = w-1;
2269-
Vertices[2].Position[1] = h-1;
2270-
Vertices[2].Position[2] = 0;
2271-
Vertices[2].TexCoord[0] = 1;
2272-
Vertices[2].TexCoord[1] = 1;
2273-
2274-
Vertices[3].Position[0] = 0;
2275-
Vertices[3].Position[1] = h-1;
2276-
Vertices[3].Position[2] = 0;
2277-
Vertices[3].TexCoord[0] = 0;
2278-
Vertices[3].TexCoord[1] = 1;
2279-
2280-
Dx9Device()->SetTexture( 0, pTexture );
2281-
Dx9Device()->SetVertexShader( pVertexShader );
2282-
Dx9Device()->SetPixelShader( pPixelShader );
2283-
Dx9Device()->SetVertexShaderConstantF( 0, (FLOAT*)&matWVP, 4 );
2284-
Dx9Device()->SetVertexDeclaration( pVertexDecl );
2285-
Dx9Device()->DrawPrimitiveUP( D3DPT_QUADLIST, 1, Vertices, sizeof( COLORVERTEX ) );
2286-
2287-
Dx9Device()->SetVertexShader( NULL );
2288-
Dx9Device()->SetPixelShader( NULL );
2289-
Dx9Device()->SetTexture( 0, NULL );
2290-
Dx9Device()->SetVertexDeclaration( NULL );
2291-
2292-
pVertexShader->Release();
2293-
pPixelShader->Release();
2294-
pVertexDecl->Release();
2295-
pTexture->Release();
2296-
2297-
OwnGPUResources( true );
2298-
2299-
return true;
2300-
#else
23012150
return false;
2302-
#endif
23032151
}
23042152

23052153
//-----------------------------------------------------------------------------

materialsystem/shaderapidx9/shaderdevicedx8.cpp

-171
Original file line numberDiff line numberDiff line change
@@ -2951,169 +2951,6 @@ void CShaderDeviceDx8::CheckDeviceLost( bool bOtherAppInitializing )
29512951
//-----------------------------------------------------------------------------
29522952
bool CShaderDeviceDx8::AllocNonInteractiveRefreshObjects()
29532953
{
2954-
#if defined( _X360 )
2955-
2956-
const char *strVertexShaderProgram =
2957-
" float4x4 matWVP : register(c0);"
2958-
" struct VS_IN"
2959-
" {"
2960-
" float4 ObjPos : POSITION;"
2961-
" float2 TexCoord : TEXCOORD;"
2962-
" };"
2963-
" struct VS_OUT"
2964-
" {"
2965-
" float4 ProjPos : POSITION;"
2966-
" float2 TexCoord : TEXCOORD;"
2967-
" };"
2968-
" VS_OUT main( VS_IN In )"
2969-
" {"
2970-
" VS_OUT Out; "
2971-
" Out.ProjPos = mul( matWVP, In.ObjPos );"
2972-
" Out.TexCoord = In.TexCoord;"
2973-
" return Out;"
2974-
" }";
2975-
2976-
const char *strPixelShaderProgram =
2977-
" struct PS_IN"
2978-
" {"
2979-
" float2 TexCoord : TEXCOORD;"
2980-
" };"
2981-
" sampler detail : register( s0 );"
2982-
" float4 main( PS_IN In ) : COLOR"
2983-
" {"
2984-
" return tex2D( detail, In.TexCoord );"
2985-
" }";
2986-
2987-
const char *strPixelShaderProgram2 =
2988-
" struct PS_IN"
2989-
" {"
2990-
" float2 TexCoord : TEXCOORD;"
2991-
" };"
2992-
" sampler detail : register( s0 );"
2993-
" float4 main( PS_IN In ) : COLOR"
2994-
" {"
2995-
" return tex2D( detail, In.TexCoord );"
2996-
" }";
2997-
2998-
const char *strPixelShaderProgram3 =
2999-
" struct PS_IN"
3000-
" {"
3001-
" float2 TexCoord : TEXCOORD;"
3002-
" };"
3003-
" float SrgbGammaToLinear( float flSrgbGammaValue )"
3004-
" {"
3005-
" float x = saturate( flSrgbGammaValue );"
3006-
" return ( x <= 0.04045f ) ? ( x / 12.92f ) : ( pow( ( x + 0.055f ) / 1.055f, 2.4f ) );"
3007-
" }"
3008-
"float X360LinearToGamma( float flLinearValue )"
3009-
"{"
3010-
" float fl360GammaValue;"
3011-
""
3012-
" flLinearValue = saturate( flLinearValue );"
3013-
" if ( flLinearValue < ( 128.0f / 1023.0f ) )"
3014-
" {"
3015-
" if ( flLinearValue < ( 64.0f / 1023.0f ) )"
3016-
" {"
3017-
" fl360GammaValue = flLinearValue * ( 1023.0f * ( 1.0f / 255.0f ) );"
3018-
" }"
3019-
" else"
3020-
" {"
3021-
" fl360GammaValue = flLinearValue * ( ( 1023.0f / 2.0f ) * ( 1.0f / 255.0f ) ) + ( 32.0f / 255.0f );"
3022-
" }"
3023-
" }"
3024-
" else"
3025-
" {"
3026-
" if ( flLinearValue < ( 512.0f / 1023.0f ) )"
3027-
" {"
3028-
" fl360GammaValue = flLinearValue * ( ( 1023.0f / 4.0f ) * ( 1.0f / 255.0f ) ) + ( 64.0f / 255.0f );"
3029-
" }"
3030-
" else"
3031-
" {"
3032-
" fl360GammaValue = flLinearValue * ( ( 1023.0f /8.0f ) * ( 1.0f / 255.0f ) ) + ( 128.0f /255.0f );"
3033-
" if ( fl360GammaValue > 1.0f )"
3034-
" {"
3035-
" fl360GammaValue = 1.0f;"
3036-
" }"
3037-
" }"
3038-
" }"
3039-
""
3040-
" fl360GammaValue = saturate( fl360GammaValue );"
3041-
" return fl360GammaValue;"
3042-
"}"
3043-
" sampler detail : register( s0 );"
3044-
" float4 main( PS_IN In ) : COLOR"
3045-
" {"
3046-
" float4 vTextureColor = tex2D( detail, In.TexCoord );"
3047-
" vTextureColor.r = X360LinearToGamma( SrgbGammaToLinear( vTextureColor.r ) );"
3048-
" vTextureColor.g = X360LinearToGamma( SrgbGammaToLinear( vTextureColor.g ) );"
3049-
" vTextureColor.b = X360LinearToGamma( SrgbGammaToLinear( vTextureColor.b ) );"
3050-
" return vTextureColor;"
3051-
" }";
3052-
3053-
D3DVERTEXELEMENT9 VertexElements[4] =
3054-
{
3055-
{ 0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0 },
3056-
{ 0, 12, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0 },
3057-
D3DDECL_END()
3058-
};
3059-
3060-
ID3DXBuffer *pErrorMsg = NULL;
3061-
ID3DXBuffer *pShaderCode = NULL;
3062-
3063-
HRESULT hr = D3DXCompileShader( strVertexShaderProgram, (UINT)strlen( strVertexShaderProgram ), NULL, NULL, "main", "vs_2_0", 0, &pShaderCode, &pErrorMsg, NULL );
3064-
if ( FAILED( hr ) )
3065-
return false;
3066-
3067-
Dx9Device()->CreateVertexShader( (DWORD*)pShaderCode->GetBufferPointer(), &m_NonInteractiveRefresh.m_pVertexShader );
3068-
pShaderCode->Release();
3069-
pShaderCode = NULL;
3070-
if ( pErrorMsg )
3071-
{
3072-
pErrorMsg->Release();
3073-
pErrorMsg = NULL;
3074-
}
3075-
3076-
hr = D3DXCompileShader( strPixelShaderProgram, (UINT)strlen( strPixelShaderProgram ), NULL, NULL, "main", "ps_2_0", 0, &pShaderCode, &pErrorMsg, NULL );
3077-
if ( FAILED(hr) )
3078-
return false;
3079-
3080-
Dx9Device()->CreatePixelShader( (DWORD*)pShaderCode->GetBufferPointer(), &m_NonInteractiveRefresh.m_pPixelShader );
3081-
pShaderCode->Release();
3082-
if ( pErrorMsg )
3083-
{
3084-
pErrorMsg->Release();
3085-
pErrorMsg = NULL;
3086-
}
3087-
3088-
hr = D3DXCompileShader( strPixelShaderProgram3, (UINT)strlen( strPixelShaderProgram3 ), NULL, NULL, "main", "ps_2_0", 0, &pShaderCode, &pErrorMsg, NULL );
3089-
if ( FAILED(hr) )
3090-
return false;
3091-
3092-
Dx9Device()->CreatePixelShader( (DWORD*)pShaderCode->GetBufferPointer(), &m_NonInteractiveRefresh.m_pPixelShaderStartup );
3093-
pShaderCode->Release();
3094-
if ( pErrorMsg )
3095-
{
3096-
pErrorMsg->Release();
3097-
pErrorMsg = NULL;
3098-
}
3099-
3100-
hr = D3DXCompileShader( strPixelShaderProgram2, (UINT)strlen( strPixelShaderProgram2 ), NULL, NULL, "main", "ps_2_0", 0, &pShaderCode, &pErrorMsg, NULL );
3101-
if ( FAILED(hr) )
3102-
return false;
3103-
3104-
Dx9Device()->CreatePixelShader( (DWORD*)pShaderCode->GetBufferPointer(), &m_NonInteractiveRefresh.m_pPixelShaderStartupPass2 );
3105-
pShaderCode->Release();
3106-
if ( pErrorMsg )
3107-
{
3108-
pErrorMsg->Release();
3109-
pErrorMsg = NULL;
3110-
}
3111-
3112-
// Create a vertex declaration from the element descriptions.
3113-
Dx9Device()->CreateVertexDeclaration( VertexElements, &m_NonInteractiveRefresh.m_pVertexDecl );
3114-
3115-
#endif
3116-
31172954
return true;
31182955
}
31192956

@@ -3562,14 +3399,6 @@ void CShaderDeviceDx8::SetHardwareGammaRamp( float fGamma, float fGammaTVRangeMi
35623399
}
35633400

35643401

3565-
//-----------------------------------------------------------------------------
3566-
// Shader compilation
3567-
//-----------------------------------------------------------------------------
3568-
IShaderBuffer* CShaderDeviceDx8::CompileShader( const char *pProgram, size_t nBufLen, const char *pShaderVersion )
3569-
{
3570-
return ShaderManager()->CompileShader( pProgram, nBufLen, pShaderVersion );
3571-
}
3572-
35733402
VertexShaderHandle_t CShaderDeviceDx8::CreateVertexShader( IShaderBuffer *pBuffer )
35743403
{
35753404
return ShaderManager()->CreateVertexShader( pBuffer );

materialsystem/shaderapidx9/shaderdevicedx8.h

-1
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,6 @@ class CShaderDeviceDx8 : public CShaderDeviceBase
166166
virtual ImageFormat GetBackBufferFormat() const;
167167
virtual void GetBackBufferDimensions( int& width, int& height ) const;
168168
virtual void Present();
169-
virtual IShaderBuffer* CompileShader( const char *pProgram, size_t nBufLen, const char *pShaderVersion );
170169
virtual VertexShaderHandle_t CreateVertexShader( IShaderBuffer *pBuffer );
171170
virtual void DestroyVertexShader( VertexShaderHandle_t hShader );
172171
virtual GeometryShaderHandle_t CreateGeometryShader( IShaderBuffer* pShaderBuffer );

0 commit comments

Comments
 (0)