From d9f6546c166138a70b10d03dc1afccc3c117da4b Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 16 Mar 2018 18:51:43 +0100 Subject: [PATCH] - removed Shader Model 1.4 support. The only hardware ever to support this is ATI's R200 which has been deprecated by ATI before Vista got released, and is no longer a relevant target. --- src/gl/system/gl_swframebuffer.cpp | 3 +- src/gl/system/gl_swframebuffer.h | 1 - src/win32/fb_d3d9.cpp | 277 ++---------------- src/win32/fb_d3d9_wipe.cpp | 10 - src/win32/win32swiface.h | 3 - wadsrc/static/shaders/d3d/build.bat | 3 - wadsrc/static/shaders/d3d/shaders.ps | 17 -- wadsrc/static/shaders/d3d/sm14/BurnWipe.pso | Bin 228 -> 0 bytes .../shaders/d3d/sm14/GammaCorrection.pso | Bin 460 -> 0 bytes .../shaders/d3d/sm14/InGameColormap.pso | Bin 196 -> 0 bytes .../shaders/d3d/sm14/InGameColormapDesat.pso | Bin 328 -> 0 bytes .../shaders/d3d/sm14/InGameColormapInv.pso | Bin 256 -> 0 bytes .../d3d/sm14/InGameColormapInvDesat.pso | Bin 344 -> 0 bytes .../shaders/d3d/sm14/InGameColormapPal.pso | Bin 324 -> 0 bytes .../d3d/sm14/InGameColormapPalDesat.pso | Bin 436 -> 0 bytes .../shaders/d3d/sm14/InGameColormapPalInv.pso | Bin 368 -> 0 bytes .../d3d/sm14/InGameColormapPalInvDesat.pso | Bin 452 -> 0 bytes .../static/shaders/d3d/sm14/NormalColor.pso | Bin 180 -> 0 bytes .../shaders/d3d/sm14/NormalColorInv.pso | Bin 240 -> 0 bytes .../shaders/d3d/sm14/NormalColorPal.pso | Bin 308 -> 0 bytes .../shaders/d3d/sm14/NormalColorPalInv.pso | Bin 352 -> 0 bytes wadsrc/static/shaders/d3d/sm14/RedToAlpha.pso | Bin 212 -> 0 bytes .../static/shaders/d3d/sm14/RedToAlphaInv.pso | Bin 256 -> 0 bytes .../shaders/d3d/sm14/SpecialColormap.pso | Bin 276 -> 0 bytes .../shaders/d3d/sm14/SpecialColormapPal.pso | Bin 388 -> 0 bytes .../static/shaders/d3d/sm14/VertexColor.pso | Bin 116 -> 0 bytes wadsrc/static/shaders/d3d/sm14/build.bat | 25 -- 27 files changed, 23 insertions(+), 316 deletions(-) delete mode 100644 wadsrc/static/shaders/d3d/sm14/BurnWipe.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/GammaCorrection.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/InGameColormap.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/InGameColormapDesat.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/InGameColormapInv.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/InGameColormapInvDesat.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/InGameColormapPal.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/InGameColormapPalDesat.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/InGameColormapPalInv.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/InGameColormapPalInvDesat.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/NormalColor.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/NormalColorInv.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/NormalColorPal.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/NormalColorPalInv.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/RedToAlpha.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/RedToAlphaInv.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/SpecialColormap.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/SpecialColormapPal.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/VertexColor.pso delete mode 100644 wadsrc/static/shaders/d3d/sm14/build.bat diff --git a/src/gl/system/gl_swframebuffer.cpp b/src/gl/system/gl_swframebuffer.cpp index a1a7269e1..d3607be00 100644 --- a/src/gl/system/gl_swframebuffer.cpp +++ b/src/gl/system/gl_swframebuffer.cpp @@ -2312,7 +2312,6 @@ OpenGLSWFrameBuffer::OpenGLPal::OpenGLPal(FRemapTable *remap, OpenGLSWFrameBuffe { } count = pow2count; - DoColorSkip = false; BorderColor = 0; RoundedPaletteSize = count; @@ -2392,7 +2391,7 @@ bool OpenGLSWFrameBuffer::OpenGLPal::Update() pal = Remap->Palette; // See explanation in UploadPalette() for skipat rationale. - skipat = MIN(numEntries, DoColorSkip ? 256 - 8 : 256); + skipat = MIN(numEntries, 256); #ifndef NO_SSE // Manual SSE vectorized version here to workaround a bug in GCC's auto-vectorizer diff --git a/src/gl/system/gl_swframebuffer.h b/src/gl/system/gl_swframebuffer.h index 401c0a072..3b2528781 100644 --- a/src/gl/system/gl_swframebuffer.h +++ b/src/gl/system/gl_swframebuffer.h @@ -293,7 +293,6 @@ private: std::unique_ptr Tex; uint32_t BorderColor; - bool DoColorSkip; bool Update(); diff --git a/src/win32/fb_d3d9.cpp b/src/win32/fb_d3d9.cpp index 7e35c55b1..ca7a977e1 100644 --- a/src/win32/fb_d3d9.cpp +++ b/src/win32/fb_d3d9.cpp @@ -155,7 +155,6 @@ public: IDirect3DTexture9 *Tex; D3DCOLOR BorderColor; - bool DoColorSkip; bool Update(); @@ -416,8 +415,8 @@ void D3DFB::SetInitialState() for (unsigned i = 0; i < countof(Texture); ++i) { Texture[i] = NULL; - D3DDevice->SetSamplerState(i, D3DSAMP_ADDRESSU, (i == 1 && SM14) ? D3DTADDRESS_BORDER : D3DTADDRESS_CLAMP); - D3DDevice->SetSamplerState(i, D3DSAMP_ADDRESSV, (i == 1 && SM14) ? D3DTADDRESS_BORDER : D3DTADDRESS_CLAMP); + D3DDevice->SetSamplerState(i, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP); + D3DDevice->SetSamplerState(i, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP); if (i > 1) { // Set linear filtering for the SM14 gamma texture. @@ -429,24 +428,6 @@ void D3DFB::SetInitialState() NeedPalUpdate = true; OldRenderTarget = NULL; - if (!Windowed && SM14) - { - // Fix for Radeon 9000, possibly other R200s: When the device is - // reset, it resets the gamma ramp, but the driver apparently keeps a - // cached copy of the ramp that it doesn't update, so when - // SetGammaRamp is called later to handle the NeedGammaUpdate flag, - // it doesn't do anything, because the gamma ramp is the same as the - // one passed in the last call, even though the visible gamma ramp - // actually has changed. - // - // So here we force the gamma ramp to something absolutely horrible and - // trust that we will be able to properly set the gamma later when - // NeedGammaUpdate is handled. - D3DGAMMARAMP ramp; - memset(&ramp, 0, sizeof(ramp)); - D3DDevice->SetGammaRamp(0, 0, &ramp); - } - // This constant is used for grayscaling weights (.xyz) and color inversion (.w) float weights[4] = { 77/256.f, 143/256.f, 37/256.f, 1 }; D3DDevice->SetPixelShaderConstantF(PSCONST_Weights, weights, 1); @@ -540,7 +521,6 @@ bool D3DFB::CreateResources() { return false; } - CreateGammaTexture(); CreateBlockSurfaces(); return true; } @@ -556,7 +536,7 @@ bool D3DFB::CreateResources() bool D3DFB::LoadShaders() { - static const char models[][4] = { "30/", "20/", "14/" }; + static const char models[][4] = { "30/", "20/" }; FString shaderdir, shaderpath; unsigned model, i; int lump; @@ -584,7 +564,6 @@ bool D3DFB::LoadShaders() } if (i == NUM_SHADERS) { // Success! - SM14 = (model == countof(models) - 1); return true; } // Failure. Release whatever managed to load (which is probably nothing.) @@ -839,25 +818,6 @@ bool D3DFB::CreatePaletteTexture () return true; } -//========================================================================== -// -// D3DFB :: CreateGammaTexture -// -//========================================================================== - -bool D3DFB::CreateGammaTexture () -{ - // If this fails, you just won't get gamma correction in a window - // on SM14 cards. - assert(GammaTexture == NULL); - if (SM14) - { - return SUCCEEDED(D3DDevice->CreateTexture(256, 1, 1, 0, D3DFMT_A8R8G8B8, - D3DPOOL_MANAGED, &GammaTexture, NULL)); - } - return false; -} - //========================================================================== // // D3DFB :: CreateVertexes @@ -1466,23 +1426,11 @@ void D3DFB::DoWindowedGamma() D3DDevice->SetFVF(D3DFVF_FBVERTEX); SetTexture(0, TempRenderTexture); SetPixelShader(Windowed && GammaShader ? GammaShader : Shaders[SHADER_NormalColor]); - if (SM14 && Windowed && GammaShader) - { - SetTexture(2, GammaTexture); - SetTexture(3, GammaTexture); - SetTexture(4, GammaTexture); - } SetAlphaBlend(D3DBLENDOP(0)); EnableAlphaTest(FALSE); D3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 2, verts, sizeof(FBVERTEX)); OldRenderTarget->Release(); OldRenderTarget = NULL; - if (SM14 && Windowed && GammaShader) - { -// SetTexture(0, GammaTexture); -// SetPixelShader(Shaders[SHADER_NormalColor]); -// D3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 2, verts, sizeof(FBVERTEX)); - } } } @@ -1512,138 +1460,10 @@ void D3DFB::UpdateGammaTexture(float igamma) } } -//========================================================================== -// -// D3DFB :: DoOffByOneCheck -// -// Pixel Shader 1.x does not have enough precision to properly map a "color" -// from the source texture to an index in the palette texture. The best we -// can do is use 255 pixels of the palette and get the 256th from the -// texture border color. This routine determines which pixel of the texture -// is skipped so that we don't use it for palette data. -// -//========================================================================== - -void D3DFB::DoOffByOneCheck () -{ - IDirect3DSurface9 *savedrendertarget; - IDirect3DSurface9 *testsurf, *readsurf; - D3DLOCKED_RECT lockrect; - RECT testrect = { 0, 0, 256, 1 }; - float texright = 256.f / float(FBWidth); - float texbot = 1.f / float(FBHeight); - FBVERTEX verts[4] = - { - { -0.5f, -0.5f, 0.5f, 1.f, D3DCOLOR_RGBA(0,0,0,0), D3DCOLOR_RGBA(255,255,255,255), 0.f, 0.f }, - { 255.5f, -0.5f, 0.5f, 1.f, D3DCOLOR_RGBA(0,0,0,0), D3DCOLOR_RGBA(255,255,255,255), texright, 0.f }, - { 255.5f, 0.5f, 0.5f, 1.f, D3DCOLOR_RGBA(0,0,0,0), D3DCOLOR_RGBA(255,255,255,255), texright, texbot }, - { -0.5f, 0.5f, 0.5f, 1.f, D3DCOLOR_RGBA(0,0,0,0), D3DCOLOR_RGBA(255,255,255,255), 0.f, texbot } - }; - int i, c; - - if (SkipAt >= 0) - { - return; - } - - // Create an easily recognizable R3G3B2 palette. - if (SUCCEEDED(PaletteTexture->LockRect(0, &lockrect, NULL, 0))) - { - uint8_t *pal = (uint8_t *)(lockrect.pBits); - for (i = 0; i < 256; ++i) - { - pal[i*4+0] = (i & 0x03) << 6; // blue - pal[i*4+1] = (i & 0x1C) << 3; // green - pal[i*4+2] = (i & 0xE0); // red; - pal[i*4+3] = 255; - } - PaletteTexture->UnlockRect (0); - } - else - { - return; - } - // Prepare a texture with values 0-256. - if (SUCCEEDED(FBTexture->LockRect(0, &lockrect, &testrect, 0))) - { - for (i = 0; i < 256; ++i) - { - ((uint8_t *)lockrect.pBits)[i] = i; - } - FBTexture->UnlockRect(0); - } - else - { - return; - } - // Create a render target that we can draw it to. - if (FAILED(D3DDevice->GetRenderTarget(0, &savedrendertarget))) - { - return; - } - if (FAILED(D3DDevice->CreateRenderTarget(256, 1, D3DFMT_A8R8G8B8, D3DMULTISAMPLE_NONE, 0, FALSE, &testsurf, NULL))) - { - return; - } - if (FAILED(D3DDevice->CreateOffscreenPlainSurface(256, 1, D3DFMT_A8R8G8B8, D3DPOOL_SYSTEMMEM, &readsurf, NULL))) - { - testsurf->Release(); - return; - } - if (FAILED(D3DDevice->SetRenderTarget(0, testsurf))) - { - testsurf->Release(); - readsurf->Release(); - return; - } - // Write it to the render target using the pixel shader. - D3DDevice->BeginScene(); - D3DDevice->SetTexture(0, FBTexture); - D3DDevice->SetTexture(1, PaletteTexture); - D3DDevice->SetFVF(D3DFVF_FBVERTEX); - D3DDevice->SetPixelShader(Shaders[SHADER_NormalColorPal]); - SetConstant(PSCONST_PaletteMod, 1.f, 0.5f / 256.f, 0, 0); - D3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 2, verts, sizeof(FBVERTEX)); - D3DDevice->EndScene(); - D3DDevice->SetRenderTarget(0, savedrendertarget); - savedrendertarget->Release(); - // Now read it back and see where it skips an entry - if (SUCCEEDED(D3DDevice->GetRenderTargetData(testsurf, readsurf)) && - SUCCEEDED(readsurf->LockRect(&lockrect, &testrect, D3DLOCK_READONLY))) - { - const uint8_t *pix = (const uint8_t *)lockrect.pBits; - for (i = 0; i < 256; ++i, pix += 4) - { - c = (pix[0] >> 6) | // blue - ((pix[1] >> 5) << 2) | // green - ((pix[2] >> 5) << 5); // red - if (c != i) - { - break; - } - } - } - readsurf->UnlockRect(); - readsurf->Release(); - testsurf->Release(); - SkipAt = i; -} - void D3DFB::UploadPalette () { D3DLOCKED_RECT lockrect; - if (SkipAt < 0) - { - if (SM14) - { - DoOffByOneCheck(); - } - else - { - SkipAt = 256; - } - } if (SUCCEEDED(PaletteTexture->LockRect(0, &lockrect, NULL, 0))) { uint8_t *pix = (uint8_t *)lockrect.pBits; @@ -1657,14 +1477,6 @@ void D3DFB::UploadPalette () pix[3] = (i == 0 ? 0 : 255); // To let masked textures work, the first palette entry's alpha is 0. } - pix += 4; - for (; i < 255; ++i, pix += 4) - { - pix[0] = SourcePalette[i].b; - pix[1] = SourcePalette[i].g; - pix[2] = SourcePalette[i].r; - pix[3] = 255; - } PaletteTexture->UnlockRect(0); BorderColor = D3DCOLOR_XRGB(SourcePalette[255].r, SourcePalette[255].g, SourcePalette[255].b); } @@ -2418,24 +2230,12 @@ D3DPal::D3DPal(FRemapTable *remap, D3DFB *fb) Prev = &fb->Palettes; fb->Palettes = this; - // Palette textures must be 256 entries for Shader Model 1.4 - if (fb->SM14) - { - count = 256; - // If the palette isn't big enough, then we don't need to - // worry about setting the gamma ramp. - DoColorSkip = (remap->NumEntries >= 256 - 8); - } - else - { - int pow2count; + int pow2count; - // Round up to the nearest power of 2. - for (pow2count = 1; pow2count < remap->NumEntries; pow2count <<= 1) - { } - count = pow2count; - DoColorSkip = false; - } + // Round up to the nearest power of 2. + for (pow2count = 1; pow2count < remap->NumEntries; pow2count <<= 1) + { } + count = pow2count; BorderColor = 0; RoundedPaletteSize = count; if (SUCCEEDED(fb->D3DDevice->CreateTexture(count, 1, 1, 0, @@ -2496,7 +2296,7 @@ bool D3DPal::Update() pal = Remap->Palette; // See explanation in UploadPalette() for skipat rationale. - skipat = MIN(Remap->NumEntries, DoColorSkip ? 256 - 8 : 256); + skipat = MIN(Remap->NumEntries, 256); for (i = 0; i < skipat; ++i) { @@ -3848,55 +3648,22 @@ void D3DFB::SetTexture(int tnum, IDirect3DTexture9 *texture) void D3DFB::SetPaletteTexture(IDirect3DTexture9 *texture, int count, D3DCOLOR border_color) { - if (SM14) - { - // Shader Model 1.4 only uses 256-color palettes. - SetConstant(PSCONST_PaletteMod, 1.f, 0.5f / 256.f, 0, 0); - if (border_color != 0 && CurBorderColor != border_color) - { - CurBorderColor = border_color; - D3DDevice->SetSamplerState(1, D3DSAMP_BORDERCOLOR, border_color); - } - } - else - { - // The pixel shader receives color indexes in the range [0.0,1.0]. - // The palette texture is also addressed in the range [0.0,1.0], - // HOWEVER the coordinate 1.0 is the right edge of the texture and - // not actually the texture itself. We need to scale and shift - // the palette indexes so they lie exactly in the center of each - // texel. For a normal palette with 256 entries, that means the - // range we use should be [0.5,255.5], adjusted so the coordinate - // is still within [0.0,1.0]. - // - // The constant register c2 is used to hold the multiplier in the - // x part and the adder in the y part. - float fcount = 1 / float(count); - SetConstant(PSCONST_PaletteMod, 255 * fcount, 0.5f * fcount, 0, 0); - } + // The pixel shader receives color indexes in the range [0.0,1.0]. + // The palette texture is also addressed in the range [0.0,1.0], + // HOWEVER the coordinate 1.0 is the right edge of the texture and + // not actually the texture itself. We need to scale and shift + // the palette indexes so they lie exactly in the center of each + // texel. For a normal palette with 256 entries, that means the + // range we use should be [0.5,255.5], adjusted so the coordinate + // is still within [0.0,1.0]. + // + // The constant register c2 is used to hold the multiplier in the + // x part and the adder in the y part. + float fcount = 1 / float(count); + SetConstant(PSCONST_PaletteMod, 255 * fcount, 0.5f * fcount, 0, 0); SetTexture(1, texture); } void D3DFB::SetPalTexBilinearConstants(Atlas *tex) { -#if 0 - float con[8]; - - // Don't bother doing anything if the constants won't be used. - if (PalTexShader == PalTexBilinearShader) - { - return; - } - - con[0] = float(tex->Width); - con[1] = float(tex->Height); - con[2] = 0; - con[3] = 1 / con[0]; - con[4] = 0; - con[5] = 1 / con[1]; - con[6] = con[5]; - con[7] = con[3]; - - D3DDevice->SetPixelShaderConstantF(3, con, 2); -#endif } diff --git a/src/win32/fb_d3d9_wipe.cpp b/src/win32/fb_d3d9_wipe.cpp index 62533899a..6c23e052d 100644 --- a/src/win32/fb_d3d9_wipe.cpp +++ b/src/win32/fb_d3d9_wipe.cpp @@ -638,18 +638,8 @@ bool D3DFB::Wiper_Burn::Run(int ticks, D3DFB *fb) fb->SetAlphaBlend(D3DBLENDOP_ADD, D3DBLEND_SRCALPHA, D3DBLEND_INVSRCALPHA); fb->SetPixelShader(fb->Shaders[SHADER_BurnWipe]); fb->D3DDevice->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR); - if (fb->SM14) - { - fb->D3DDevice->SetSamplerState(1, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP); - fb->D3DDevice->SetSamplerState(1, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP); - } fb->D3DDevice->DrawPrimitiveUP(D3DPT_TRIANGLEFAN, 2, verts, sizeof(BURNVERTEX)); fb->D3DDevice->SetSamplerState(1, D3DSAMP_MAGFILTER, D3DTEXF_POINT); - if (fb->SM14) - { - fb->D3DDevice->SetSamplerState(1, D3DSAMP_ADDRESSU, D3DTADDRESS_BORDER); - fb->D3DDevice->SetSamplerState(1, D3DSAMP_ADDRESSV, D3DTADDRESS_BORDER); - } fb->D3DDevice->SetFVF(D3DFVF_FBVERTEX); // The fire may not always stabilize, so the wipe is forced to end diff --git a/src/win32/win32swiface.h b/src/win32/win32swiface.h index be9234410..11256f37b 100644 --- a/src/win32/win32swiface.h +++ b/src/win32/win32swiface.h @@ -66,7 +66,6 @@ public: HRESULT GetHR (); bool Is8BitMode() { return false; } virtual int GetTrueHeight() { return TrueHeight; } - virtual bool LegacyHardware() const { return SM14; } private: friend class D3DTex; @@ -150,7 +149,6 @@ private: bool CreatePaletteTexture(); bool CreateGammaTexture(); bool CreateVertexes(); - void DoOffByOneCheck(); void UploadPalette(); void UpdateGammaTexture(float igamma); void FillPresentParameters (D3DPRESENT_PARAMETERS *pp, bool fullscreen, bool vsync); @@ -221,7 +219,6 @@ private: RECT BlendingRect; int In2D; bool InScene; - bool SM14; bool GatheringWipeScreen; bool AALines; uint8_t BlockNum; diff --git a/wadsrc/static/shaders/d3d/build.bat b/wadsrc/static/shaders/d3d/build.bat index 4f81b24e7..b56c18b2d 100644 --- a/wadsrc/static/shaders/d3d/build.bat +++ b/wadsrc/static/shaders/d3d/build.bat @@ -1,6 +1,3 @@ -cd sm14 -call build.bat - cd ..\sm20 call build.bat diff --git a/wadsrc/static/shaders/d3d/shaders.ps b/wadsrc/static/shaders/d3d/shaders.ps index b2a69f8b5..4f1e0e221 100644 --- a/wadsrc/static/shaders/d3d/shaders.ps +++ b/wadsrc/static/shaders/d3d/shaders.ps @@ -1,10 +1,5 @@ sampler2D Image : register(s0); sampler1D Palette : register(s1); -#if PS14 -sampler1D Gamma1 : register(s2); -sampler1D Gamma2 : register(s3); -sampler1D Gamma3 : register(s4); -#endif float4 Desaturation : register(c1); // { Desat, 1 - Desat } float4 PaletteMod : register(c2); @@ -106,19 +101,7 @@ float4 InGameColormap(float2 tex_coord : TEXCOORD0, float4 color : COLOR0, float float4 GammaCorrection(float2 tex_coord : TEXCOORD0) : COLOR { float4 color = tex2D(Image, tex_coord); -#if !PS14 color.rgb = pow(color.rgb, Gamma.rgb); -#else - // On PS14 targets, we can only sample once from each sampler - // per stage. Fortunately, we have 16 samplers to play with, - // so we can just set three of them to the gamma texture and - // use one for each component. Unfortunately, all these - // texture lookups are probably not as efficient as the pow() - // solution that later targets make possible. - color.r = tex1D(Gamma1, color.r * Gamma.w).r; - color.g = tex1D(Gamma2, color.g * Gamma.w).g; - color.b = tex1D(Gamma3, color.b * Gamma.w).b; -#endif return color; } diff --git a/wadsrc/static/shaders/d3d/sm14/BurnWipe.pso b/wadsrc/static/shaders/d3d/sm14/BurnWipe.pso deleted file mode 100644 index 566e518b0d37c8cdce0d201ce8e040b181bb3a4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 228 zcmZQ!{Qv*oe@zDG5Jx8&1_p*)AZ7uIF#%~1pMjBqAq_~m05LO=1LQLJ05J%}05LNV zBa1ne7UeOlUcH)yfd{M_BnJY1spY}RMX9NI3}>NJy3X4TA$iMVXNH;gmNm+`KX;DK?OA&dzz^F{+u|)83i#$_*%~pa#v8HJJ3At$ z1yi=voE`D3Yad=S8``JW{CIp3OI;LYS)i_!&jv-hUKgOba4})>ismjstg&!(?b@YQMdh? zh6NUL`45Gd7&eBR3XeSRt+?@g=6QIdqTktH2godqhE-Tt!4Yw^#D>@qhs-uJ5PZsw VRtHQ;)8AY3xTVK1JF|{E{sAD|PEh~= diff --git a/wadsrc/static/shaders/d3d/sm14/InGameColormap.pso b/wadsrc/static/shaders/d3d/sm14/InGameColormap.pso deleted file mode 100644 index 18a747196229fc5495350f3b2745dadb06afc043..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 196 zcmZQ!{Qv*oe52p8?4508$1(%nac&SO94d@XSq2Pi0uW znuUP}s0;)lprAP3Fy4g0H#4~?zc@dwL_s4+Q^Cd9CBjl6I3qD7wMfA^Ker$=2gtD0 zGc?sRH@DO?00N*Mk|DS;Y0L+Cd A`Tzg` diff --git a/wadsrc/static/shaders/d3d/sm14/InGameColormapDesat.pso b/wadsrc/static/shaders/d3d/sm14/InGameColormapDesat.pso deleted file mode 100644 index 9eedbdadc595f2e372145f5fbcafea3636b7d36d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmY*SyH3ME5S%raM}fo-P`HG~BH|IbBymGQ!$YKtEHJSpf+O3JQr;)HOow|nd{n-J zWA><+)7;L^&F&d-?#JC={&YJ#1@J{0dPl604HX^K!i@J}Ba7ave>ladbiGUo*ez!~%!!F|}Z<+75B(2J8cjd@p$J fjDH_lfg{lc%&7-vgqnWK+UgwOcUtahodbRW*<(Uo diff --git a/wadsrc/static/shaders/d3d/sm14/InGameColormapInv.pso b/wadsrc/static/shaders/d3d/sm14/InGameColormapInv.pso deleted file mode 100644 index 4122e261aa1d6872ce47ee7eb251e505df9f20a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmZQ!{Qv*oe_aOW5Jx8&1_p*|AZ7uIF#%~1pMjBqp#(^|05LO!%isf~K_CW*nHboB zN|+c@z#lLCnkP`HG~A|epEBymGQLx_?tvWST-5gge@qC9@!k`DK7c$DA4 zG3%sZPjkC7yR&PQbHDBu)2F-1Ie>4%P&;B44h4KMEeTDc_@|;XJ_woP2rMB{6B^#X zxhN^)>b;1oEPq4Wwu&wV)BD78zl}Eu8wRJ;v<&@O8n2VWpXS?L_R1m*hBv`@90pemxi#rmomrs!(X16tr2h2angO}Sz$$ds mL)RQ1xQ3&K#vJCQuP|>!7Y*F8*Idn9ix22;SnjT!1O5OE>qZd( diff --git a/wadsrc/static/shaders/d3d/sm14/InGameColormapPal.pso b/wadsrc/static/shaders/d3d/sm14/InGameColormapPal.pso deleted file mode 100644 index d8294f66302a8b376b42d059dbadf38888754cde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 324 zcmZvVv2MaZ5JczfiztYcA4uVnG!_Vu zir;|C?9no((e6FX?rLT2)y5dkUI)(r46Vt0R{28#zbp${7{6H2qJs8GgnbF1zG;t7 z(Las=<9)JCVT{J3OG{q#mh959Org=d$0zv)M!5^x-H@5$xa=%@m}Kiie#}40p!NO| zjJl&m985oxO?n81`M$_@Y~rxf52Gj!+Z4~6fh@pN1)Tr1>wWg9JmBPEe!5sdGU}G8 XB%{!%6wb7*S?dQf*&&R3YRj2_Bl|ps diff --git a/wadsrc/static/shaders/d3d/sm14/InGameColormapPalDesat.pso b/wadsrc/static/shaders/d3d/sm14/InGameColormapPalDesat.pso deleted file mode 100644 index daec85c3a7b474361822012247313d29bc9c2225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 436 zcmZuty-ve07(6GYtppM;z>pD^hzd}Zkv0Pil@LFIt%|5=BekST%M)0gzJ2YfS z(t=0Q;h7A*4|s6`@k$1M`giutYn?xNsj4#lP-Z$W?y+94g-?<`-{qVxvzg+9#FpRS z_Bxzp3#GM!#O8ncxR~Nv<+Hi2u&O5g$sxx1ZCO;sosM?T_oDP5y-A{rc{WvLG%A*> ze8D1#`$zF$ki`20hJMqw0oo_&>yR}}z;6g})qGlbkAU}>p7->OKx;Z^8~2|9y1p0m g|73KTVX3){);LYj!yVLY&Dq+`ftfCcdTqJq8*JKAp8x;= diff --git a/wadsrc/static/shaders/d3d/sm14/InGameColormapPalInv.pso b/wadsrc/static/shaders/d3d/sm14/InGameColormapPalInv.pso deleted file mode 100644 index e94efa48aa079f4bc74b95fb341da5e7fa5c6fde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmZvXJx;?w5QX15ODI6%0u(Nxv4{eS+(D9tA`;?9&_xzm5=)L8#d`oFQBwE-6fTk6 zP^L`BMRE;T-fSwQJnLy@KEEA%wQ}y)U1D&5)jtOCO=~jEDl-(YX36N*c7$aWz0oZO z7{R*$>VppWDEiYAVC7l+AG@9>Q-h|_IP@E2hv+8BjI{D zW(zEeac6vvQTn{hi~PlgC%32JuseK;!@F5BG0Sj}&lhRNCXPB6QLh(AXB2;<>HAej zC9wIDyYpu3Q3gOA;GzC;fMgVWMmV)!Dr{ccaJ8IKoOzziRpiy4M3`q^l2?v9{s6ph BMHT=6 diff --git a/wadsrc/static/shaders/d3d/sm14/InGameColormapPalInvDesat.pso b/wadsrc/static/shaders/d3d/sm14/InGameColormapPalInvDesat.pso deleted file mode 100644 index c75fd148d30048dce37d1f312d9c0bfb0b5e3055..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmZutJ5Iwu6r8n95(y+OK;aS^iwIEUlEeiRks>~VF0zP8EG0OyO~2g0M{tSchLVya z&{N`yJHRq;DG(AP&F*`%^X5tGDPz9O2}T#k!yN!0q(^OoxAaiJJ1<&%SD4XQje91Xo#q)#@9=7ZT z*(;dD%cLw5c-Z_;A7?XMCFy)o7FZY4{`3&z^d`@W?6&lG&-VQ2Ai56y^F=&Ma(|Sq z*6ET(81#>V!5|Fw2@LI~Z4IQh&52p8?4508$1(%nac&SO94d@XSq2Pi0uW znuUP}s0;)lprAP3Fy4g0H#4~?zc@dwL_s4+Q^Cd9CBjl6I3qD7wMfA^Ker$=2gtD0 qGc?sRH@DO?00N*Nat(|OPbL7xC;b17xl5QOLK>p4m9Nml707-ai=yJHiD%}&_uMqz{EdDE89u((p2BS9rxr%4)%fT%&ca3pJTaN$C3Ki~vQi+q5^mBKZa zmUj7({D!V?_A0@*JZ9$Yo7o+$ocnQ?7~WqEjsfgQO-(aO4F!BLWMr!;VHpK4WQzt` z@G1iFMg}~JeD@0Q>9zJB?Ru3g4C-3r$WM?Nf}12W)*5IW{-=-gIcnu!)x2-;VA93X z7FZY4-t-*fbhgQh{K_238ZpIvC08{}c)wcu0qu@QFGe0O5_Rnp&s_E%SE!=X>*0JXoqsu{- diff --git a/wadsrc/static/shaders/d3d/sm14/RedToAlpha.pso b/wadsrc/static/shaders/d3d/sm14/RedToAlpha.pso deleted file mode 100644 index 07e43e9f22749cdeea0af49fe4c992dd41b4680c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 212 zcmZQ!{Qv*oe52p8?4508$1(%nac&SO94d@XSq2Pi0uW znuUP}s0;)lprAP3Fy4g0H#4~?zc@dwL_s4+Q^Cd9CBjl6I3qD7wMfA^Ker$=2gtD0 zGc?sRH@DO?00N*3{NHi=?OqF2Sx@Cpcn&C>_1TK R{{)D={2(E00479Ez|%2 diff --git a/wadsrc/static/shaders/d3d/sm14/RedToAlphaInv.pso b/wadsrc/static/shaders/d3d/sm14/RedToAlphaInv.pso deleted file mode 100644 index 5f87a11cdec594f4b5cccb43f30b38ece61d8316..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 256 zcmX|*!4APd7=&kQgM-8iIP}Otqd}xMv=<2%Bpf6n6iqa3v^SS}1CQX|i-+ObUho&K$$BB4n+e@!rjS7o=eo& z>+_qHADqrD| z=L!vSbKbQM!s984nJbj~@N4XKy*}pQ?iR(-A+f#|-au1|0o4i`zLv{sPV`A?ta3)I5jD!FfQtJ394 z7uXc@!TbcX^nRNc`GXD*E)T=$@$@bZuU5%IZNo{v-lQ3uI2xQr!(kj95qw5H_ECEV zXx`o5`7`z~0Z;|FslF}XJObY1bfRbIe-UWPKBoYE!`^h!RBcA@k$ZZr^Oe*_@E%K_ JEkRo5{sJWEN@M^4 diff --git a/wadsrc/static/shaders/d3d/sm14/VertexColor.pso b/wadsrc/static/shaders/d3d/sm14/VertexColor.pso deleted file mode 100644 index 7cc88be7e5632c6957133c368a075132696d8646..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 116 zcmZQ!{Qv*oe{lxq5Jx8&1_lOYAZ7uI0VxPzWMBY^7Zk@E#+xwsW+oTq7w4yyC};#} zD!3TCL|7^WXC$Vi7AZLA=N4q<02!8ghNgPv=9YQ}K)|qi^=hCIK)~O?!0==O$YcPN CiXH&~ diff --git a/wadsrc/static/shaders/d3d/sm14/build.bat b/wadsrc/static/shaders/d3d/sm14/build.bat deleted file mode 100644 index f8b515a15..000000000 --- a/wadsrc/static/shaders/d3d/sm14/build.bat +++ /dev/null @@ -1,25 +0,0 @@ -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /ENormalColor -DPALTEX=0 -DINVERT=0 /FoNormalColor.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /ENormalColor -DPALTEX=0 -DINVERT=1 /FoNormalColorInv.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /ENormalColor -DPALTEX=1 -DINVERT=0 /FoNormalColorPal.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /ENormalColor -DPALTEX=1 -DINVERT=1 /FoNormalColorPalInv.pso - -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /ERedToAlpha -DINVERT=0 /FoRedToAlpha.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /ERedToAlpha -DINVERT=1 /FoRedToAlphaInv.pso - -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EVertexColor /FoVertexColor.pso - -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /ESpecialColormap -DPALTEX=0 -DINVERT=0 /FoSpecialColormap.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /ESpecialColormap -DPALTEX=1 -DINVERT=0 /FoSpecialColormapPal.pso - -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EInGameColormap -DPALTEX=0 -DINVERT=0 -DDESAT=0 /FoInGameColormap.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EInGameColormap -DPALTEX=0 -DINVERT=0 -DDESAT=1 /FoInGameColormapDesat.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EInGameColormap -DPALTEX=0 -DINVERT=1 -DDESAT=0 /FoInGameColormapInv.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EInGameColormap -DPALTEX=0 -DINVERT=1 -DDESAT=1 /FoInGameColormapInvDesat.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EInGameColormap -DPALTEX=1 -DINVERT=0 -DDESAT=0 /FoInGameColormapPal.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EInGameColormap -DPALTEX=1 -DINVERT=0 -DDESAT=1 /FoInGameColormapPalDesat.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EInGameColormap -DPALTEX=1 -DINVERT=1 -DDESAT=0 /FoInGameColormapPalInv.pso -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EInGameColormap -DPALTEX=1 -DINVERT=1 -DDESAT=1 /FoInGameColormapPalInvDesat.pso - -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EBurnWipe /FoBurnWipe.pso - -fxc ..\shaders.ps /Tps_1_4 /LD -DPS14=1 /EGammaCorrection /FoGammaCorrection.pso