aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2018-09-08gl_rasterizer_cache: Track texture depth.bunnei
2018-09-08gl_rasterizer_cache: Remove impl. of FlushGLBuffer.bunnei
- Will not work for non-2d textures, and was not used anyways.
2018-09-08gl_rasterizer_cache: Keep track of texture type per surface.bunnei
2018-09-08gl_rasterizer_cache: Remove unused DownloadGLTexture.bunnei
2018-09-08gl_state: Keep track of texture target.bunnei
2018-09-06Merge pull request #1252 from lioncash/headerbunnei
video_core/CMakeLists: Add missing gl_buffer_cache.h
2018-09-06Merge pull request #1253 from lioncash/explicitbunnei
video_core/gl_buffer_cache: Minor tidying changes
2018-09-06Merge pull request #1255 from bunnei/minor-optbunnei
gl_rasterizer: Call state.Apply only once on SetupShaders.
2018-09-06gl_rasterizer: Call state.Apply only once on SetupShaders.bunnei
2018-09-06gl_shader_decompiler: Implement saturate mode for IPA.bunnei
2018-09-06gl_buffer_cache: Default initialize member variablesLioncash
Ensures that the cache always has a deterministic initial state.
2018-09-06gl_buffer_cache: Make GetHandle() a const member functionLioncash
GetHandle() internally calls GetHandle() on the stream_buffer instance, which is a const member function, so this can be made const as well.
2018-09-06gl_buffer_cache: Remove unnecessary includesLioncash
2018-09-06gl_buffer_cache: Make constructor explicitLioncash
Implicit conversions during construction isn't desirable here.
2018-09-06video_core/CMakeLists: Add missing gl_buffer_cache.hLioncash
Without this, the header file won't show up by default within IDEs such as Visual Studio.
2018-09-06gl_shader_gen: Initialize position.Markus Wick
IMO the old code is fine, but nvidia raises shader compiler warnings. Trivial fix through...
2018-09-05Merge pull request #1243 from degasus/VAO_cachebunnei
gl_rasterizer: Implement a VAO cache.
2018-09-05Merge pull request #1244 from FernandoS27/ipabunnei
shader_decompiler: Implemented IPA Properly (Stage 1)
2018-09-05Implemented IPA ProperlyFernandoS27
2018-09-05gl_rasterizer: Skip TODO log.Markus Wick
This is called ~3k times per frame in SMO ingame. My laptop spends ~3ms per frame on allocating and freeing this string. Let's just stop printing this kind of redundant information.
2018-09-05gl_rasterizer: Implement a VAO cache.Markus Wick
This patch caches VAO objects instead of re-emiting all pointers per draw call. Configuring this pointers is known as a fast task, but it yields too many GL calls. So for better performance, just bind the VAO instead of 16 pointers.
2018-09-05renderer_opengl: Implement a buffer cache.Markus Wick
The idea of this cache is to avoid redundant uploads. So we are going to cache the uploaded buffers within the stream_buffer and just reuse the old pointers. The next step is to implement a VBO cache on GPU memory, but for now, I want to check the overhead of the cache management. Fetching the buffer over PCI-E should be quite fast.
2018-09-04gl_shader_cache: Use an u32 for the binding point cache.Markus Wick
The std::string generation with its malloc and free requirement was a noticeable overhead. Also switch to an ordered_map to avoid the std::hash call. As those maps usually have a size of two elements, the lookup time shall not matter.
2018-09-04Merge pull request #1237 from degasus/optimizationsbunnei
Optimizations
2018-09-04Merge pull request #1232 from lioncash/copybunnei
gl_shader_decompiler: Use used_shaders member variable directly within GenerateDeclarations()
2018-09-04command_processor: Use std::array for bound_engines.Markus Wick
subchannel is a 3 bit field. So there must not be more than 8 bound engines. And using a hashmap for up to 8 values is a bit overpowered.
2018-09-04Update microprofile scopes.Markus Wick
Blame the subsystems which deserve the blame :) The updated list is not complete, just the ones I've spotted on random sampling the stack trace.
2018-09-02gl_shader_decompiler: Use used_shaders member variable directly within ↵Lioncash
GenerateDeclarations() Using the getter function intended for external code here makes an unnecessary copy of the already-accessible used_shaders vector.
2018-09-02Merge pull request #1213 from DarkLordZach/octopath-fsbunnei
filesystem/maxwell_3d: Various changes to boot Project Octopath Traveller
2018-09-02Merge pull request #1215 from ogniK5377/texs-nodep-assertbunnei
Added assert for TEXS nodep
2018-09-02Merge pull request #1214 from ogniK5377/ipa-assertbunnei
Added better asserts to IPA, Renamed IPA modes to match mesa
2018-09-02Merge pull request #1216 from ogniK5377/ffma-assertbunnei
Added FFMA asserts and missing fields
2018-09-01Removed saturate assertDavid Marcec
Unneeded as we already implement it
2018-09-01Removed saturate assertDavid Marcec
Saturate already implemented
2018-09-01Changed tab5980_0 default from 0 -> 1David Marcec
2018-09-01Added FMUL assertsDavid Marcec
2018-09-01Added FFMA assertsDavid Marcec
2018-09-01Added assert for TEXS nodepDavid Marcec
2018-09-01Added better asserts to IPA, Renamed IPA modes to match mesaDavid Marcec
IpaMode is changed to IpaInterpMode IpaMode is suppose to be 2 bits not 3 Added IpaSampleMode Added Saturate Renamed modes based on https://github.com/mesa3d/mesa/blob/d27c7918916cdc8092959124955f887592e37d72/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gm107.cpp#L2530
2018-08-31maxwell_3d: Use CoreTiming for query timestampZach Hilman
2018-08-31core/core: Replace includes with forward declarations where applicableLioncash
The follow-up to e2457418dae19b889b2ad85255bb95d4cd0e4bff, which replaces most of the includes in the core header with forward declarations. This makes it so that if any of the headers the core header was previously including change, then no one will need to rebuild the bulk of the core, due to core.h being quite a prevalent inclusion. This should make turnaround for changes much faster for developers.
2018-08-31gl_rasterizer_cache: Use accurate framebuffer setting for accurate copies.bunnei
2018-08-31gl_rasterizer_cache: Also use reserve cache for RecreateSurface.bunnei
2018-08-31rasterizer_cache: Use boost::interval_map for a more accurate cache.bunnei
2018-08-31gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.bunnei
2018-08-31gl_rasterizer: Fix issues with the rasterizer cache.bunnei
- Use a single cached page map. - Fix calculation of ending page.
2018-08-31Implement BC6H_UF16 & BC6H_SF16 (#1092)greggameplayer
* Implement BC6H_UF16 & BC6H_SF16 Require by ARMS * correct coding style * correct coding style part 2
2018-08-31Merge pull request #1204 from lioncash/pimplbunnei
core: Make the main System class use the PImpl idiom
2018-08-31Merge pull request #1207 from degasus/hotfixbunnei
Report correct shader size.
2018-08-31core: Make the main System class use the PImpl idiomLioncash
core.h is kind of a massive header in terms what it includes within itself. It includes VFS utilities, kernel headers, file_sys header, ARM-related headers, etc. This means that changing anything in the headers included by core.h essentially requires you to rebuild almost all of core. Instead, we can modify the System class to use the PImpl idiom, which allows us to move all of those headers to the cpp file and forward declare the bulk of the types that would otherwise be included, reducing compile times. This change specifically only performs the PImpl portion.