aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2018-09-09Merge pull request #1268 from FernandoS27/tmmlbunnei
shader_decompiler: Implemented TMML
2018-09-09Implemented TMMLFernandoS27
2018-09-09Merge pull request #1272 from Subv/dma_2dbunnei
GPU/DMA: Partially implemented the 'enable_2d' bit in the DMA engine.
2018-09-09Merge pull request #1280 from zero334/improvementsbunnei
video_core: fixed arithmetic overflow warnings & improved code style
2018-09-09Implemented TXQ dimension query type, used by SMO.FernandoS27
2018-09-09video_core: fixed arithmetic overflow warnings & improved code stylePatrick Elsässer
- Fixed all warnings, for renderer_opengl items, which were indicating a possible incorrect behavior from integral promotion rules and types larger than those in which arithmetic is typically performed. - Added const for variables where possible and meaningful. - Added constexpr where possible.
2018-09-08Change name of TEXQ to TXQ, in order to match NVIDIA's namingFernandoS27
2018-09-08GPU/DMA: Partially implemented the 'enable_2d' bit in the DMA engine.Subv
When not set, this tells the GPU to only use the X size when performing a DMA copy. This is only implemented for linear->linear and tiled->tiled copies. Conversion copies still retain the assert. This bit is unset by some games for various purposes, and by nouveau when copying the vertex buffers.
2018-09-08Merge pull request #1256 from bunnei/tex-target-supportbunnei
Initial support for non-2D textures
2018-09-08gl_rasterizer: Use baseInstance instead of moving the buffer points.bunnei
This hopefully helps our cache not to redundant upload the vertex buffer. # Conflicts: # src/video_core/renderer_opengl/gl_rasterizer.cpp
2018-09-08video_core: Arithmetic overflow warning fix for gl_rasterizer (#1262)Patrick Elsässer
* video_core: Arithmetic overflow fix for gl_rasterizer - Fixed warnings, which were indicating incorrect behavior from integral promotion rules and types larger than those in which arithmetic is typically performed. - Added const for variables where possible and meaningful. * Changed the casts from C to C++ style Changed the C-style casts to C++ casts as proposed. Took also care about signed / unsigned behaviour.
2018-09-08gl_rasterizer_cache: Improve accuracy of RecreateSurface for non-2D textures.bunnei
2018-09-08maxwell_3d: Remove assert that no longer applies.bunnei
2018-09-08gl_rasterizer_cache: Partially implement several non-2D texture types.bunnei
2018-09-08gl_shader_decompiler: Partially implement several non-2D texture types (Subv).bunnei
2018-09-08gl_rasterizer: Implement texture wrap mode p.bunnei
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