mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Lock out shaderDepal from D3D for now, will implement later.
This commit is contained in:
parent
81c36578ca
commit
92a3d45340
3 changed files with 16 additions and 0 deletions
|
@ -33,6 +33,7 @@ const char * const hlsl_preamble_fs =
|
|||
"#define lowp\n"
|
||||
"#define mediump\n"
|
||||
"#define highp\n"
|
||||
"#define fract frac\n"
|
||||
"#define mod(x, y) fmod(x, y)\n";
|
||||
|
||||
static const char * const hlsl_d3d11_preamble_fs =
|
||||
|
|
|
@ -233,6 +233,10 @@ bool GenerateFragmentShader(const FShaderID &id, char *buffer, const ShaderLangu
|
|||
WRITE(p, "Texture2D<vec4> fboTex : register(t1);\n");
|
||||
}
|
||||
WRITE(p, "cbuffer base : register(b0) {\n%s};\n", ub_baseStr);
|
||||
|
||||
if (shaderDepal) {
|
||||
WRITE(p, "float2 textureSize(Texture2D<float4> tex, int mip) { float2 size; tex.GetDimensions(size.x, size.y); return size; }\n");
|
||||
}
|
||||
}
|
||||
|
||||
if (enableAlphaTest) {
|
||||
|
|
|
@ -1850,11 +1850,22 @@ void TextureCacheCommon::ApplyTextureFramebuffer(VirtualFramebuffer *framebuffer
|
|||
|
||||
bool depth = channel == NOTIFY_FB_DEPTH;
|
||||
bool useShaderDepal = framebufferManager_->GetCurrentRenderVFB() != framebuffer && !depth;
|
||||
|
||||
// TODO: Implement shader depal in the fragment shader generator for D3D11 at least.
|
||||
if (!draw_->GetDeviceCaps().fragmentShaderInt32Supported) {
|
||||
useShaderDepal = false;
|
||||
depth = false; // Can't support this
|
||||
}
|
||||
|
||||
switch (draw_->GetShaderLanguageDesc().shaderLanguage) {
|
||||
case ShaderLanguage::HLSL_D3D11:
|
||||
case ShaderLanguage::HLSL_D3D9:
|
||||
useShaderDepal = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (need_depalettize && !g_Config.bDisableSlowFramebufEffects) {
|
||||
if (useShaderDepal) {
|
||||
const GEPaletteFormat clutFormat = gstate.getClutPaletteFormat();
|
||||
|
|
Loading…
Add table
Reference in a new issue