summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/D3D/TextureCache.cpp
AgeCommit message (Collapse)Author
2016-12-26TextureCache: Drop unused parameter in backend API.degasus
2016-12-26TextureCache: Extract BP enum check to VideoCommon.degasus
We have TOO many video backends.
2016-12-09TextureCacheBase: Eliminate static stateLioncash
2016-08-10D3D11: Support texture dumping of non-zero mipmap levelsStenzek
2016-06-24Reformat all the things. Have fun with merge conflicts.Pierre Bourdon
2016-03-26D3D11: Fix some cases where render target switches desynced StateManagerStenzek
This was occuring in certain EFB copy patterns, leaving the textures unbound for the next draw call.
2016-02-14Copy all layers of textures with CopyRectangleFromTexturemimimi085181
2016-02-14For partial texture updates check the dimensions of the efb copy and the ↵mimimi085181
target texture, not just the binary size. This should get Donkey Kong Country Returns characters to be as broken as they should be. They will be fixed in a later pr. Expected result is: efbtex: characters are always flickering or invisible, no matter what scaling or IR setting efb2ram: characters are always working properly at 1xIR, no matter what scaling or IR setting
2015-12-29TextureCache, fix an incorrect assert.Scott Mansell
2015-12-28D3D: Fix compilation error on windowsStenzek
2015-12-28Merge pull request #3295 from stenzek/d3d-xfb-msaaMarkus Wick
D3D: Fix multiple issues relating to MSAA
2015-12-20VideoBackends: Simplify initialization and deinitialization of resourcesLioncash
Approximately three or four times now, the issue of pointers being in an inconsistent state been an issue in the video backend renderers with regards to tripping up other developers. Global (ugh) resources are put into a unique_ptr and will always have a well-defined state of being - null or not null
2015-12-08D3D: Fix EFB depth buffer copies, filtering on scaled EFB copies when MSAA ↵Stenzek
is enabled, real XFB filtering Since ResolveSubresource cannot be used with depth textures (and throws an error with the debug layer enabled), use a shader which selects the minimum depth value from all samples. Changes the sampler by XFBEncoder to use a linear filter, rather than point, to match GL behavior.
2015-11-24D3D: Remove redundant cast, move pitch calculation to callerStenzek
2015-11-15TextureCache: Rewrite EFB Copy control flowdegasus
2015-11-15TextureCache: Split efb2ram from efb2texdegasus
2015-11-15D3D-TextureEncoder: Remove TCache::Entry usagedegasus
2015-11-06VideoCommon: rename TextureCache to TextureCacheBaseTillmann Karras
2015-09-07Make efb2tex behave more like efb2ram.Scott Mansell
Instead of having special case code for efb2tex that ignores hashes, the only diffence between efb2tex and efb2ram now is that efb2tex writes zeros to the memory instead of actual texture data. Though keep in mind, all efb2tex copies will have hashes of zero as their hash.
2015-09-06Fix palette conversions for 4 bit efb copies.Scott Mansell
Fixes purple shadow in THPS4 and many other things.
2015-09-06Move common EFB copy code into VideoCommonScott Mansell
Addded a few duplicated depth copy texture formats to the enum in TextureDecoder.h. These texture formats were already implemented in TextureCacheBase and the ogl/dx11 texture cache implementations.
2015-09-05Cleanup and unify handling of efb copy stride.Scott Mansell
2015-07-02Implement scaled partial texture updatesRodolfo Bogado
2015-06-21Support partial texture updates via efb copiesmimimi085181
2015-05-25Set copyright year to when a file was createdTillmann Karras
2015-05-25Update license headers to GPLv2+Tillmann Karras
2015-03-15quiet some warnings which appear on vs2015.Shawn Hoffman
quieted warnings include shadowed variable names and integer extensions.
2015-02-24VideoCommon: rename efb2tex and efb2ramdegasus
2015-02-19Decode EFB copies used as paletted textures.magumagu
A number of games make an EFB copy in I4/I8 format, then use it as a texture in C4/C8 format. Detect when this happens, and decode the copy on the GPU using the specified palette. This has a few advantages: it allows using EFB2Tex for a few more games, it, it preserves the resolution of scaled EFB copies, and it's probably a bit faster. D3D only at the moment, but porting to OpenGL should be straightforward..
2015-01-27Fix D3D regression from PR1948.magumagu
Make sure we don't have a texture bound as both an ShaderResourceView and a RenderTargetView; this causes rendering glitches. This isn't really the right place to do this... but I'm not sure how the code should be structured.
2015-01-23Remove EFB to RAM cache, and simplify code.magumagu
2015-01-18TexCache: merge texture and rendertarget factory functiondegasus
2015-01-18TexCache: remove PC_TexFormatdegasus
We only support rgba32 for a while now, so there is no need to have everything in common configureable.
2015-01-11TexCache: create a const Config structdegasus
2015-01-11Merge pull request #1501 from degasus/texture_creationMarkus Wick
D3D: remove load texture on creation optimization
2015-01-10Update size_in_bytes of texture cache entries when copying efb to rammimimi085181
2015-01-10TexCache: remove expanded_widthdegasus
This variable isn't use any more.
2015-01-10TexCache: don't load tex level 0 on creationdegasus
This reverts an optimization which isn't worth imo. Every texture uploads have to alloc vram and a staging buffer, so there is no need to do both in the same call.
2014-12-21PixelShaderCache: Support stereoscopic EFB format changes.Jules Blok
2014-12-18Merge pull request #1689 from kayru/d3d_efb_copy_fixshuffle2
D3D: Fixed D3D validation error during EFB to texture copy
2014-12-17D3D: Moved setting texture by slot mask into StateManagerYuriy O'Donnell
2014-12-14TextureCache: Add stereoscopy support for EFB to texture copies.Jules Blok
2014-12-14D3D: Use common GetEFBLayers() instead of GetEFBSlices().Jules Blok
2014-12-14D3D: Use two slices for most of our textures.Jules Blok
2014-12-13D3D: Fixed D3D validation error during EFB to texture copyYuriy O'Donnell
Texture was being bound as a render target while still being set as a shader resource. D3D automatically unbinds the SRV in this case and generates a validation error. The fix is to manually unbind SRV, render into it and then re-bind to old slots.
2014-12-07D3D: Fixed StateManager member function name caseYuriy O'Donnell
2014-12-07D3D: Removed cull mode changes for lines and pointsYuriy O'Donnell
Fixed include order and whitespace
2014-12-07D3D: Implemented context state cachingYuriy O'Donnell
This avoids most of the redundant API calls.
2014-03-25BPMemory: Expose the pixel_format and zformat fields in PE_CONTROL as ↵Tony Wasserka
enumerations.
2014-03-09clang-modernize -use-nullptrTillmann Karras
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine