aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2018-09-10Merge pull request #1284 from bunnei/bgra8_srgbbunnei
gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB.
2018-09-10video_core: Refactor command_processor.Markus Wick
Inline the WriteReg helper as it is called ~20k times per frame.
2018-09-10video_core: Move command buffer loop.Markus Wick
This moves the hot loop into video_core. This refactoring shall reduce the CPU overhead of calling ProcessCommandList.
2018-09-10rasterizer: Drop unused handler.Markus Wick
This virtual function is called in a very hot spot, and it does nothing. If this kind of feature is required, please be more specific and add callbacks in the switch statement within Maxwell3D::WriteReg. There is no point in having another switch statement within the rasterizer.
2018-09-10gl_rasterizer_cache: Only use depth for applicable texture formats.bunnei
- Fixes an issue with Octopath Traveler leaving stale data here.
2018-09-10gl_rasterizer: Implement clear for non-zero render targets.bunnei
- Several misc. changes to ConfigureFramebuffers in support of this.
2018-09-10gl_rasterizer_cache: Implement RenderTargetFormat::BGRA8_SRGB.bunnei
- Used by Octopath Traveler (with multiple render targets).
2018-09-09gl_rasterizer: Implement multiple color attachments.bunnei
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-08Port Citra #4047 & #4052: add change background color supporttech4me
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()