@@ -226,7 +226,7 @@ ID3D11RenderTargetView* getOrCreateMSAARTV(ID3D11Device* dev, ID3D11RenderTarget
226
226
D3D11_TEXTURE2D_DESC desc;
227
227
hostTex->GetDesc (&desc);
228
228
desc.Format = vdesc.Format ;
229
- desc.SampleDesc .Count = 8 ;
229
+ desc.SampleDesc .Count = config. msaaSamples ;
230
230
desc.SampleDesc .Quality = 0 ;
231
231
while (desc.SampleDesc .Count > 1 ) {
232
232
UINT quality = 0 ;
@@ -263,7 +263,7 @@ ID3D11DepthStencilView* getOrCreateMSAADSV(ID3D11Device* dev, ID3D11DepthStencil
263
263
D3D11_TEXTURE2D_DESC desc;
264
264
hostTex->GetDesc (&desc);
265
265
desc.Format = vdesc.Format ;
266
- desc.SampleDesc .Count = 8 ;
266
+ desc.SampleDesc .Count = config. msaaSamples ;
267
267
desc.SampleDesc .Quality = 0 ;
268
268
while (desc.SampleDesc .Count > 1 ) {
269
269
UINT quality = 0 ;
@@ -779,7 +779,7 @@ class DeviceWrapper final : public ID3D11Device, IDXGIDevice1 {
779
779
780
780
HRESULT STDMETHODCALLTYPE CreatePixelShader (const void * pShaderBytecode, SIZE_T BytecodeLength, ID3D11ClassLinkage* pClassLinkage, ID3D11PixelShader** ppPixelShader) override {
781
781
void * converted = nullptr ;
782
- if (shouldUseSampleRate (pShaderBytecode, BytecodeLength))
782
+ if (config. msaaSamples > 1 && shouldUseSampleRate (pShaderBytecode, BytecodeLength))
783
783
converted = convertShaderToSampleRate (pShaderBytecode, BytecodeLength);
784
784
HRESULT res = dev->CreatePixelShader (converted ? converted : pShaderBytecode, BytecodeLength, pClassLinkage, ppPixelShader);
785
785
if (converted)
@@ -789,7 +789,8 @@ class DeviceWrapper final : public ID3D11Device, IDXGIDevice1 {
789
789
790
790
HRESULT STDMETHODCALLTYPE CreateRasterizerState (const D3D11_RASTERIZER_DESC* pRasterizerDesc, ID3D11RasterizerState** ppRasterizerState) override {
791
791
D3D11_RASTERIZER_DESC desc = *pRasterizerDesc;
792
- desc.MultisampleEnable = TRUE ;
792
+ if (config.msaaSamples > 1 )
793
+ desc.MultisampleEnable = TRUE ;
793
794
return dev->CreateRasterizerState (&desc, ppRasterizerState);
794
795
}
795
796
@@ -1159,7 +1160,7 @@ class ContextWrapper final : public ID3D11DeviceContext {
1159
1160
ID3D11RenderTargetView* msaaTex = nullptr ;
1160
1161
ID3D11DepthStencilView* msaaDepth = nullptr ;
1161
1162
1162
- if (ppRTVs && RTVCount == 1 && pDSV) {
1163
+ if (config. msaaSamples > 1 && ppRTVs && RTVCount == 1 && pDSV) {
1163
1164
ppRTVs[0 ]->GetResource (&base);
1164
1165
UINT info;
1165
1166
UINT size = sizeof (info);
0 commit comments