dolphin/Source/Core/VideoBackends/D3D
Phil Christensen 2ed61b0ee1 C++ conformance fixes (MSVC /permissive-)
We (the Microsoft C++ team) use the dolphin project as part of our "Real world code" tests.
I noticed a few issues in windows specific code when building dolphin with the MSVC compiler
in its conformance mode (/permissive-).  For more information on /permissive- see our blog
https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/.

These changes are to address 3 different types of issues:

1) Use of qualified names in member declarations

    struct A {
        void A::f() { } // error C4596: illegal qualified name in member declaration
                        // remove redundant 'A::' to fix
    };

2) Binding a non-const reference to a temporary

    struct S{};
  
    // If arg is in 'in' parameter, then it should be made const.
    void func(S& arg){}
  
    int main() {
      //error C2664: 'void func(S &)': cannot convert argument 1 from 'S' to 'S &'
      //note: A non-const reference may only be bound to an lvalue
      func( S() );
   
      //Work around this by creating a local, and using it to call the function
      S s;
      func( s );
    }

3) Add missing #include <intrin.h>

Because of the workaround you are using in the code you will need to include
this.  This is because of changes in the libraries and not /permissive-
2017-02-15 20:37:04 -08:00
..
BoundingBox.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
BoundingBox.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
CMakeLists.txt cmake: Build D3D and D3D12 video backends 2017-01-21 00:35:55 +01:00
D3D.vcxproj VideoBackend: Get rid of a boolean global 2016-01-02 18:03:28 -05:00
D3D.vcxproj.filters VideoBackend: Get rid of a boolean global 2016-01-02 18:03:28 -05:00
D3DBase.cpp D3DBase: Create the swapchain in fullscreen mode if enabled. 2016-11-11 20:36:10 +01:00
D3DBase.h D3DBase: Create the swapchain in fullscreen mode if enabled. 2016-11-11 20:36:10 +01:00
D3DBlob.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
D3DBlob.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
D3DShader.cpp Core: Remove double newlines at the end of *_LOG messages. 2016-11-02 02:09:33 +00:00
D3DShader.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
D3DState.cpp VideoBackends: Always enable dual-source blending if supported. 2016-10-10 17:32:51 +02:00
D3DState.h specify custom brace style to fix unions 2017-01-05 12:55:13 +01:00
D3DTexture.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
D3DTexture.h D3D: Add CommonTypes include to D3DTexture.h 2017-02-03 12:07:53 -05:00
D3DUtil.cpp LightingShaderGen: Remove unnecessary includes 2017-02-01 01:06:00 -05:00
D3DUtil.h RenderBase: Forward declare EFBAccessType 2017-01-23 12:41:26 -05:00
FramebufferManager.cpp FramebufferManagerBase: Return a std::pair from GetTargetSize 2017-02-03 15:27:53 -05:00
FramebufferManager.h FramebufferManagerBase: Return a std::pair from GetTargetSize 2017-02-03 15:27:53 -05:00
GeometryShaderCache.cpp Common: Add alignment header 2016-12-06 20:33:53 +01:00
GeometryShaderCache.h C++ conformance fixes (MSVC /permissive-) 2017-02-15 20:37:04 -08:00
NativeVertexFormat.cpp Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
PSTextureEncoder.cpp ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
PSTextureEncoder.h ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
PerfQuery.cpp Improve PerfQuery accuracy 2016-07-04 18:54:49 +10:00
PerfQuery.h Fix D3D12 headers missing includes. 2016-06-24 11:14:10 +00:00
PixelShaderCache.cpp VideoCommon: Make dst_alpha state implicit. 2017-01-04 20:02:31 +01:00
PixelShaderCache.h VideoCommon: Make dst_alpha state implicit. 2017-01-04 20:02:31 +01:00
Render.cpp ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
Render.h RenderBase: Forward declare EFBAccessType 2017-01-23 12:41:26 -05:00
Television.cpp ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
Television.h ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
TextureCache.cpp ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
TextureCache.h TextureCache: Drop unused parameter in backend API. 2016-12-26 22:10:32 +01:00
TextureEncoder.h ShaderGenCommon: Remove unnecessary includes 2017-02-01 12:19:55 -05:00
VertexManager.cpp LightingShaderGen: Remove unnecessary includes 2017-02-01 01:06:00 -05:00
VertexManager.h LightingShaderGen: Remove unnecessary includes 2017-02-01 01:06:00 -05:00
VertexShaderCache.cpp Common: Add alignment header 2016-12-06 20:33:53 +01:00
VertexShaderCache.h C++ conformance fixes (MSVC /permissive-) 2017-02-15 20:37:04 -08:00
VideoBackend.h VideoCommon: Drop GetConfigName. 2016-06-26 12:34:59 +02:00
XFBEncoder.cpp specify custom brace style to fix unions 2017-01-05 12:55:13 +01:00
XFBEncoder.h Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
main.cpp VideoConfig: Add option for full-resolution frame dumping 2016-11-28 20:14:59 +10:00