summaryrefslogtreecommitdiff
path: root/src/video_core (follow)
Commit message (Collapse)AuthorAgeFilesLines
* gl_rasterizer_cache: Track texture depth.Gravatar bunnei2018-09-083-4/+15
|
* gl_rasterizer_cache: Remove impl. of FlushGLBuffer.Gravatar bunnei2018-09-081-34/+1
| | | | - Will not work for non-2d textures, and was not used anyways.
* gl_rasterizer_cache: Keep track of texture type per surface.Gravatar bunnei2018-09-083-32/+84
|
* gl_rasterizer_cache: Remove unused DownloadGLTexture.Gravatar bunnei2018-09-082-51/+0
|
* gl_state: Keep track of texture target.Gravatar bunnei2018-09-085-26/+28
|
* Merge pull request #1252 from lioncash/headerGravatar bunnei2018-09-061-0/+1
|\ | | | | video_core/CMakeLists: Add missing gl_buffer_cache.h
| * video_core/CMakeLists: Add missing gl_buffer_cache.hGravatar Lioncash2018-09-061-0/+1
| | | | | | | | | | Without this, the header file won't show up by default within IDEs such as Visual Studio.
* | Merge pull request #1253 from lioncash/explicitGravatar bunnei2018-09-062-8/+10
|\ \ | | | | | | video_core/gl_buffer_cache: Minor tidying changes
| * | gl_buffer_cache: Default initialize member variablesGravatar Lioncash2018-09-061-3/+3
| | | | | | | | | | | | Ensures that the cache always has a deterministic initial state.
| * | gl_buffer_cache: Make GetHandle() a const member functionGravatar Lioncash2018-09-062-2/+2
| | | | | | | | | | | | | | | GetHandle() internally calls GetHandle() on the stream_buffer instance, which is a const member function, so this can be made const as well.
| * | gl_buffer_cache: Remove unnecessary includesGravatar Lioncash2018-09-062-2/+4
| | |
| * | gl_buffer_cache: Make constructor explicitGravatar Lioncash2018-09-061-1/+1
| |/ | | | | | | Implicit conversions during construction isn't desirable here.
* | Merge pull request #1255 from bunnei/minor-optGravatar bunnei2018-09-061-4/+2
|\ \ | | | | | | gl_rasterizer: Call state.Apply only once on SetupShaders.
| * | gl_rasterizer: Call state.Apply only once on SetupShaders.Gravatar bunnei2018-09-061-4/+2
| |/
* / gl_shader_decompiler: Implement saturate mode for IPA.Gravatar bunnei2018-09-061-1/+5
|/
* gl_shader_gen: Initialize position.Gravatar Markus Wick2018-09-061-0/+1
| | | | | IMO the old code is fine, but nvidia raises shader compiler warnings. Trivial fix through...
* Merge pull request #1243 from degasus/VAO_cacheGravatar bunnei2018-09-053-53/+60
|\ | | | | gl_rasterizer: Implement a VAO cache.
| * gl_rasterizer: Implement a VAO cache.Gravatar Markus Wick2018-09-053-53/+60
| | | | | | | | | | | | 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.
* | Merge pull request #1244 from FernandoS27/ipaGravatar bunnei2018-09-052-47/+98
|\ \ | | | | | | shader_decompiler: Implemented IPA Properly (Stage 1)
| * | Implemented IPA ProperlyGravatar FernandoS272018-09-052-47/+98
| | |
* | | gl_rasterizer: Skip TODO log.Gravatar Markus Wick2018-09-051-1/+1
| |/ |/| | | | | | | | | | | 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.
* | renderer_opengl: Implement a buffer cache.Gravatar Markus Wick2018-09-055-86/+182
|/ | | | | | | | | 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.
* gl_shader_cache: Use an u32 for the binding point cache.Gravatar Markus Wick2018-09-044-15/+23
| | | | | | | 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.
* Merge pull request #1237 from degasus/optimizationsGravatar bunnei2018-09-042-4/+4
|\ | | | | Optimizations
| * command_processor: Use std::array for bound_engines.Gravatar Markus Wick2018-09-042-4/+4
| | | | | | | | | | 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.
* | Merge pull request #1232 from lioncash/copyGravatar bunnei2018-09-041-1/+1
|\ \ | | | | | | gl_shader_decompiler: Use used_shaders member variable directly within GenerateDeclarations()
| * | gl_shader_decompiler: Use used_shaders member variable directly within ↵Gravatar Lioncash2018-09-021-1/+1
| |/ | | | | | | | | | | | | GenerateDeclarations() Using the getter function intended for external code here makes an unnecessary copy of the already-accessible used_shaders vector.
* / Update microprofile scopes.Gravatar Markus Wick2018-09-041-3/+11
|/ | | | | | 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.
* Merge pull request #1213 from DarkLordZach/octopath-fsGravatar bunnei2018-09-021-2/+3
|\ | | | | filesystem/maxwell_3d: Various changes to boot Project Octopath Traveller
| * maxwell_3d: Use CoreTiming for query timestampGravatar Zach Hilman2018-08-311-2/+3
| |
* | Merge pull request #1215 from ogniK5377/texs-nodep-assertGravatar bunnei2018-09-022-0/+3
|\ \ | | | | | | Added assert for TEXS nodep
| * | Added assert for TEXS nodepGravatar David Marcec2018-09-012-0/+3
| |/
* | Merge pull request #1214 from ogniK5377/ipa-assertGravatar bunnei2018-09-022-6/+13
|\ \ | | | | | | Added better asserts to IPA, Renamed IPA modes to match mesa
| * | Added better asserts to IPA, Renamed IPA modes to match mesaGravatar David Marcec2018-09-012-6/+13
| |/ | | | | | | | | | | | | | | | | | | 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
* | Merge pull request #1216 from ogniK5377/ffma-assertGravatar bunnei2018-09-022-0/+9
|\ \ | | | | | | Added FFMA asserts and missing fields
| * | Removed saturate assertGravatar David Marcec2018-09-012-2/+0
| | | | | | | | | | | | Saturate already implemented
| * | Changed tab5980_0 default from 0 -> 1Gravatar David Marcec2018-09-011-2/+2
| | |
| * | Added FFMA assertsGravatar David Marcec2018-09-012-0/+11
| |/
* | Removed saturate assertGravatar David Marcec2018-09-012-2/+0
| | | | | | | | Unneeded as we already implement it
* | Added FMUL assertsGravatar David Marcec2018-09-012-0/+15
|/
* core/core: Replace includes with forward declarations where applicableGravatar Lioncash2018-08-313-4/+4
| | | | | | | | | | | 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.
* gl_rasterizer_cache: Use accurate framebuffer setting for accurate copies.Gravatar bunnei2018-08-312-73/+54
|
* gl_rasterizer_cache: Also use reserve cache for RecreateSurface.Gravatar bunnei2018-08-312-24/+18
|
* rasterizer_cache: Use boost::interval_map for a more accurate cache.Gravatar bunnei2018-08-311-33/+45
|
* gl_renderer: Cache textures, framebuffers, and shaders based on CPU address.Gravatar bunnei2018-08-318-100/+53
|
* gl_rasterizer: Fix issues with the rasterizer cache.Gravatar bunnei2018-08-314-46/+57
| | | | | - Use a single cached page map. - Fix calculation of ending page.
* Implement BC6H_UF16 & BC6H_SF16 (#1092)Gravatar greggameplayer2018-08-313-31/+55
| | | | | | | | | * Implement BC6H_UF16 & BC6H_SF16 Require by ARMS * correct coding style * correct coding style part 2
* Merge pull request #1204 from lioncash/pimplGravatar bunnei2018-08-311-3/+4
|\ | | | | core: Make the main System class use the PImpl idiom
| * core: Make the main System class use the PImpl idiomGravatar Lioncash2018-08-311-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1207 from degasus/hotfixGravatar bunnei2018-08-311-1/+1
|\ \ | | | | | | Report correct shader size.