From 17db53ed45e157f656c107091d4fe210b8b49782 Mon Sep 17 00:00:00 2001 From: turanszkij Date: Sun, 31 Jan 2016 13:21:59 +0100 Subject: [PATCH] sampler refactor - complete --- WickedEngine/cubeShadowPS.hlsl | 1 - WickedEngine/effectVS_reflection.hlsl | 1 - WickedEngine/wiRenderer.cpp | 17 +++++++++-------- WickedEngine/wiRenderer.h | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/WickedEngine/cubeShadowPS.hlsl b/WickedEngine/cubeShadowPS.hlsl index 4c89f8887..2d426212a 100644 --- a/WickedEngine/cubeShadowPS.hlsl +++ b/WickedEngine/cubeShadowPS.hlsl @@ -1,7 +1,6 @@ #include "pointLightHF.hlsli" Texture2D xTextureTex:register(t0); -SamplerState texSampler:register(s0); struct VertextoPixel { diff --git a/WickedEngine/effectVS_reflection.hlsl b/WickedEngine/effectVS_reflection.hlsl index 7267a727b..be0579ad6 100644 --- a/WickedEngine/effectVS_reflection.hlsl +++ b/WickedEngine/effectVS_reflection.hlsl @@ -2,7 +2,6 @@ #include "effectHF_VS.hlsli" Texture2D noiseTex:register(t0); -SamplerState texSampler:register(s0); PixelInputType main(Input input) { diff --git a/WickedEngine/wiRenderer.cpp b/WickedEngine/wiRenderer.cpp index 0d36971cf..0147fa22b 100644 --- a/WickedEngine/wiRenderer.cpp +++ b/WickedEngine/wiRenderer.cpp @@ -33,7 +33,7 @@ bool wiRenderer::DX11 = false,wiRenderer::VSYNC=true,wiRenderer::DEFERREDCONTEXT DeviceContext wiRenderer::deferredContexts[]; CommandList wiRenderer::commandLists[]; mutex wiRenderer::graphicsMutex; -Sampler wiRenderer::samplers[SSLOT_COUNT_PERSISTENT]; +Sampler wiRenderer::samplers[SSLOT_COUNT]; map wiRenderer::drawCalls; BufferResource wiRenderer::constantBuffers[CBTYPE_LAST]; @@ -1079,14 +1079,15 @@ void wiRenderer::SetUpStates() Lock(); { - for (int i = 0; i < SSLOT_COUNT_PERSISTENT; ++i) + for (int i = 0; i < SSLOT_COUNT; ++i) { - int slot = i + SSLOT_COUNT_ONDEMAND; - BindSamplerPS(samplers[i], slot, immediateContext); - BindSamplerVS(samplers[i], slot, immediateContext); - BindSamplerGS(samplers[i], slot, immediateContext); - BindSamplerDS(samplers[i], slot, immediateContext); - BindSamplerHS(samplers[i], slot, immediateContext); + if (samplers[i] == nullptr) + continue; + BindSamplerPS(samplers[i], i, immediateContext); + BindSamplerVS(samplers[i], i, immediateContext); + BindSamplerGS(samplers[i], i, immediateContext); + BindSamplerDS(samplers[i], i, immediateContext); + BindSamplerHS(samplers[i], i, immediateContext); } } Unlock(); diff --git a/WickedEngine/wiRenderer.h b/WickedEngine/wiRenderer.h index 5c43632d3..4c86f12a6 100644 --- a/WickedEngine/wiRenderer.h +++ b/WickedEngine/wiRenderer.h @@ -81,7 +81,7 @@ public: inline static void Lock(){ graphicsMutex.lock(); } inline static void Unlock(){ graphicsMutex.unlock(); } - static Sampler samplers[SSLOT_COUNT_PERSISTENT]; + static Sampler samplers[SSLOT_COUNT]; static int SCREENWIDTH,SCREENHEIGHT;