summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/BPStructs.cpp
AgeCommit message (Collapse)Author
2017-12-02VideoCommon: Fix -Wformat warningsLéo Lam
2017-11-17Video Backends: Remove the right of the xfb region for games where theiwubcode
VI stride does not match the VI width
2017-11-17HybridXFB: Fix lint errorsiwubcode
2017-11-17VideoCommon: Output gamma now comes from the xfb copyiwubcode
2017-11-17Add 'immediate xfb' which reduces xfb latency at the cost of graphical errorsiwubcode
2017-11-17Video Backends: Implement vertical scaling for xfb copies. This fixes theiwubcode
display of PAL games that run in 50hz mode.
2017-11-17FifoPlayer: Generate fake VideoInterface updatesiwubcode
2017-11-17Add support for hybrid XFBiwubcode
2017-09-03RenderBase: Drop SetColorMask and SetLogicOpModeStenzek
These are now incorporated into the blend state for all backends.
2017-08-01Ubershaders: Fix 6-bit color truncation not being appliedStenzek
2017-07-30ShaderGen: Implement pixel ubershadersStenzek
2017-07-30BPMemory: Convert a number of unions to BitFieldsScott Mansell
2017-07-10Implement minimal emulation of TMEM cachingmimimi085181
This is a remake of https://github.com/dolphin-emu/dolphin/pull/3749 Full credit goes to phire. Old message: "If none of the texture registers have changed and TMEM hasn't been invalidated or changed in other ways, we can blindly reuse the old texture cache entries without rehashing. Not only does this fix the bloom effect in Spyro: A Hero's Tail (The game abused texture cache) but it will also provide speedups for other games which use the same texture over multiple draw calls, especially when safe texture cache is in use." Changed the pr per phire's instructions to only return the current texture(s) if none of the texture registers were changed. If any texture register was changed, fall back to the default hashing and rebuilding textures from memory.
2017-04-18VideoCommon: Drop SetDitherMode()Stenzek
It was a no-op on all backends apart from GL anyhow.
2017-03-10Merge pull request #4935 from Armada651/depth-range-fixMarkus Wick
VideoBackends: Set the maximum range when the depth range is oversized.
2017-03-04VideoCommon: Eliminate static state in RendererStenzek
2017-02-26VideoBackends: Use vertex shader depth range if ztexture is used.Jules Blok
2017-01-23RenderBase: Forward declare EFBAccessTypeLioncash
2017-01-06OGL: Use VideoCommon blend state for framebuffer configuration.degasus
2016-12-26TextureCache: Extract BP enum check to VideoCommon.degasus
We have TOO many video backends.
2016-12-09TextureCacheBase: Eliminate static stateLioncash
2016-10-08Remove Frameskipanthony
2016-09-06BPStructs: remove case statments which never match.Scott Mansell
Visual Studio's code analyzer complains about these.
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-01-25Fifo: Make g_use_deterministic_gpu_thread a TU-local variableLioncash
2016-01-25Fifo: Make g_bSkipCurrentFrame a TU-local variableLioncash
This is only ever queried, making it a global isn't necessary.
2016-01-17VideoCommon: Header cleanupLioncash
Also remedies places where the video backends and core rely on things being indirectly included.
2016-01-12Fifo: Create a "Fifo" namespace.degasus
2015-11-06VideoCommon: rename TextureCache to TextureCacheBaseTillmann Karras
2015-11-05Remove the "Show EFB Copy Regions" debug option.Scott Mansell
It was only implemented in OpenGL, though the option was visible in both backends, leading to memory leaks if you enabled it in DirectX. And it wasn't particularly useful as a debug feature as it only showed where in the EFB the copies were taken from, not what format it was, or what the copy was used for, or what content was in the EFB at that point in time. Also, it stretched the copy regions relative to the window, so the on-screen regions don't even line up with the window unless the game used the full EFB (some pal games) and you game image stretched to the full window.
2015-11-05BPStructs: add debug info for texture setup.Scott Mansell
2015-09-23Silence -Wshadow warning.Rohit Nirmal
2015-09-22FifoRecorder: Use Video Common to record efb2ram correctly.Scott Mansell
Texture updates have been moved into TextureCache, while TMEM updates where moved into bpmem. Code for handling efb2ram updates was added to TextureCache. There was a bug for preloaded RGBA8 textures, it only copied half the texture. The TODO was wrong too.
2015-09-05Cleanup and unify handling of efb copy stride.Scott Mansell
2015-09-04Remove extra space from 5a32c3fJosJuice
2015-09-03VideoCommon: xfb height calculation adjustedbooto
Baten Kaitos allocates its XFBs from a tagged heap structure. With the old calculation, too many lines were being written so the tag of the allocation after the XFB was being corrupted. Fixes crash mentioned in this comment: https://code.google.com/p/dolphin-emu/issues/detail?id=7734#c6
2015-07-27VideoCommon: reduce level of debug outputbooto
2015-07-25Video: stride in bytes rather than pixelsbooto
2015-07-25Video: respect stride of efb copies to xfbbooto
2015-06-12Options: merge SCoreStartupParameter into SConfigdegasus
2015-05-25Merge pull request #2274 from degasus/disable_bboxRyan Houdek
Disable bbox
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-05-25VideoCommon: return 0 if bbox is disableddegasus
Through just returning the last written value sounds better, this crashes Paper Mario. In my opinion, gfx issues are fine on older GPUs, but crashes should not happen.
2015-05-25VideoCommon: Make BBox emulation optionaldegasus
2014-12-21VideoCommon: split VertexLoaderBase from VertexLoaderdegasus
2014-12-15VideoCommon: Merge LineGeometryShader into GeometryShaderGen.Jules Blok
This adds line-width emulation support to OpenGL.
2014-12-15GeometryShaderGen: Support multiple primitive types.Jules Blok
And make more stereoscopy code optional.
2014-12-15GeometryShaderManager: Upload Line/Point width constants.Jules Blok
2014-12-14VideoCommon: Add a separate constants buffer for the geometry shader.Jules Blok