summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon
AgeCommit message (Collapse)Author
2016-06-20analytics: Report OpenGL's adapter name too.Scott Mansell
2016-06-18Externals: Add libcurl.Pierre Bourdon
2016-06-18TextureCache: Rename functions and add comments to clear up docsScott Mansell
2016-06-17TextureCache: Track efb copies used in a partially updated textureScott Mansell
Fixes a major preformance regression in Skies of Arcadia during battle transisions. I had plans for a more advanced version of this code after 5.0, but here is a minimal implemenation for now.
2016-05-19OGL: Work around slowdown of glMapBufferRange with SSBO on NVIDIA driversStenzek
Using glMapBufferRange to read back the contents of the SSBO is extremely slow on NVIDIA drivers. This is more noticeable at higher internal resolutions. Using glGetBufferSubData instead does not seem to exhibit this slowdown.
2016-05-11OGL: Use coherent mapping on Qualcomm devices.degasus
2016-05-11DriverDetails: Drop BUG_BROKENALPHATEST.degasus
This flag is not in use at all.
2016-05-11OGL: Drop QC ES3.1 workaround.degasus
This was never tested well: HdkR> The tester was most likely trying to load a stale shader cache or something
2016-05-08D3D12: Implement XFB encoding/decoding (support Real XFB)Stenzek
2016-04-29Merge pull request #3796 from endrift/indtev-simplifyMathew Maidment
VideoCommon: Workaround Intel OS X bug again
2016-04-26Make integral auto IR(multiple of 640x528) work as expectedmimimi085181
Right now, it's possible that x and y are scaled differently, if efb and xfb size are not the same.
2016-04-23VideoCommon: Simplify indirect texture lookup code slightlyJeffrey Pfau
2016-04-23Revert "VideoBackend: Remove extraneous shifts from indirect texture lookups"Jeffrey Pfau
This reverts commit 1f1b127b69e47728593e8174d4ed8883622792a5.
2016-04-11Merge pull request #3748 from mimimi085181/partial-updates-paletted-texturesPierre Bourdon
Partial updates for paletted textures
2016-04-11Merge pull request #3774 from phire/Fix_Metroid_Other_MPierre Bourdon
Fix Metroid: Other M
2016-04-10PixelShaderGen: Fixes implicit type conversion or PR #3772.degasus
This regression did only happen on OpenGL ES.
2016-04-10Merge pull request #3772 from degasus/shader_optPierre Bourdon
PixelShaderGen: Move constant multiplication to constant generation.
2016-04-09Partial updates for paletted texturesmimimi085181
This pr fixes another regression that happened after pr #3165 was merged. The shadows in mario baseball should now work again.
2016-04-09Merge pull request #3752 from ↵Pierre Bourdon
mimimi085181/remove-use-only-once-restriction-partial-updates Remove the restriction to use efb copies only once as partial update
2016-04-10Alternative fix: promote cycleslate to an s64 everywhere.Scott Mansell
Also changed a few functions to be static.
2016-04-09PixelShaderGen: Move constant multiplication to constant generation.degasus
No need to do this within the shader per pixel if it can be done once.
2016-04-02Partial texture updates: Allow the efb copy to start before the texturemimimi085181
This is an oversight from pr https://github.com/dolphin-emu/dolphin/pull/3266 . Thanks to degasus for pointing this out. It's possible that MAX_TEXTURE_BINARY_SIZE can be optimised, but i wanted to play it safe considering the 5.0 stable release.
2016-03-30ShaderGen: Only specify storage qualifier in interface block when neededStenzek
Drivers that don't support GL_ARB_shading_language_420pack require that the storage qualifier be specified even when inside an interface block. AMD's driver throws a compile error when "centroid in/out" is used within an interface block. Our previous behavior was to include the storage qualifier regardless, but this wasn't working on AMD, therefore we should check for the presence of the extension and include based on this, instead.
2016-03-27Remove the restriction to apply efb copies only once as partial updatemimimi085181
I'm not entirely sure what is happening, but this optimisation is causing an issue in Sonic Riders: Zero Gravity. Apparently the issue would also be fixed by PR#3747, but this PR should also fix similar issues. Games that use partial updates might get slower with this, so some performance regression testing would be nice. Games like New Super Mario Bros, RS2, Zelda TP and Silent Hill. Testing with high graphics settings makes sense, since this would mostly end up in more work for the GPU.
2016-03-26Merge pull request #3672 from EmptyChaos/d3d-anisotropyPierre Bourdon
Fix D3D Forced Anisotropy
2016-03-26Merge pull request #3719 from Sonicadvance1/workaround_osx_video_driversPierre Bourdon
Workaround OS X video driver bug #24983074
2016-03-24VideoCommon: Refactor TexMode0 mipmaps disabled test into a helper functionEmptyChaos
2016-03-24VideoBackends: Do not use Anisotropy on Point filtered textures.EmptyChaos
The D3D backend was always forcing Anisotropic filtering when that is enabled regardless of how the game chose to configure the texture filtering registers; this causes the same issues as "Force Filtering" without Anisotropy, such as causing game UI elements to no longer line up adjacent correctly. Historically, OpenGL's Anisotropy support has always worked "better" than D3D's due to seeming to not have this problem; unfortunately, OpenGL's Anisotropy specification only gives GL_LINEAR based filtering modes defined behavior, with only the mipmap setting being required to be considered. Some OpenGL implementations were implicitly disabling Anisotropy when the min/mag filters were set to GL_NEAREST, but this behavior is not required by the spec so cannot be relied on.
2016-03-18Merge pull request #3266 from ↵Pierre Bourdon
mimimi085181/partial-updates-with-parts-of-efb-copies Partial texture updates with parts of efb copies
2016-03-17Merge pull request #3684 from Sonicadvance1/fix_vertexshadergen_assertsPierre Bourdon
Fix a few asserts in the VertexShaderGen.
2016-03-16Minor fixes to the partial updates codemimimi085181
- remove an outdated comment about the efb to ram and scaled efb restriction - when upscaling efb copies, mark the new texture as efb copy - dx12 fixes for the src box, especially the number of layers for 3D
2016-03-16Partial texture updates with parts of efb copies new versionmimimi085181
2016-03-14Merge pull request #3700 from degasus/custom_texturesRyan Houdek
CustomTextures: Fix loading of the last mipmaps.
2016-03-10Merge pull request #3570 from endrift/indtev-reduce-shiftingRyan Houdek
VideoBackend: Remove extraneous shifts from indirect texture lookups
2016-03-09Workaround OS X video driver bug #24983074Ryan Houdek
OS X's shader compiler has a bug with interface blocks where interface block members don't properly inherit the layout qualifier from the interface block. Work around this limitation by explicitly stating the layout qualifier on both the interface block and every single member inside of that block.
2016-03-04Merge pull request #3709 from Sonicadvance1/mesa_intel_geometry_shadersPierre Bourdon
Mark Mesa Intel Sandy Bridge geometry shaders not broken in Mesa 11.2
2016-03-04Mark Mesa Intel Sandy Bridge geometry shaders not broken in Mesa 11.2Ryan Houdek
2016-03-03Merge pull request #3551 from RisingFog/videodump_proper_delayRyan Houdek
Properly Handle Video Dumping from Power On
2016-03-03Merge pull request #3686 from Armada651/revert-3578Pierre Bourdon
Revert "Merge pull request #3578 from Armada651/forced-slow-depth"
2016-03-02CustomTextures: Fix loading of the last mipmaps.degasus
Non-square textures still have mipmaps down to 1x1.
2016-03-01Merge pull request #3675 from rohit-n/build-pchMathew Maidment
Fix building with PCH disabled.
2016-02-29Remove two more asserts in VertexShaderGen.Ryan Houdek
As confirmed by a hardware test if we are using the texgen type of COLOR_STRGBC0/STRGBC1 then it sets the texture coordinates to those values regardless of what the input form or source row is. Thanks to Ornox for testing again
2016-02-29Confirm with hardware test that the high bit of the input form is ignored.Ryan Houdek
Thanks to Ornox for testing
2016-02-29Fix a few asserts in the VertexShaderGen.Ryan Houdek
Removes a couple asserts in the vertex shader gen when dealing with the input form. Typically input form ABC1 is used, so it'll pull in the first three elements and always set the fourth to 1.0 The other input form available is AB11, which sets the last two components to 1.0 (Theoretically). No titles actually use this input form that we know of except for Project M, but it can have some fairly drastic visual differences. Confirmed correct by hardware test
2016-02-29Revert "Merge pull request #3578 from Armada651/forced-slow-depth"Jules Blok
This reverts commit e2a1a085b6a9f36b23128872de85da727d231882, reversing changes made to 2aea549eef85ba165672c8355d0e90781d805efd.
2016-02-29Merge pull request #3355 from ↵Pierre Bourdon
mimimi085181/partial-texture-updates-check-dimensions Partial texture updates: Check the dimensions of the efb copy
2016-02-26Fix building with PCH disabled.Rohit Nirmal
2016-02-22Merge pull request #3578 from Armada651/forced-slow-depthJules Blok
VideoConfig: Replace FastDepthCalc by ForcedSlowDepth.
2016-02-22TextureConversionShader: Invert depth for Z24 encoder with D3DStenzek
2016-02-20VideoBackendBase: Store video backends as unique_ptrLioncash