Rodolfo Bogado
bcf804a44e
fix viewport and scissor behavior
7 years ago
Frederic Laing
8dcfc75e4e
textures/decoders: Minor cleanup
7 years ago
Frederic Laing
fc8fa005b7
gl_rasterizer_chache: Minor cleanup
7 years ago
Lioncash
583e1bd5eb
video_core/renderer_base: Remove GL include from the renderer base class files
Keeps the base class source files implementation-agnostic.
7 years ago
Frederic L
56a27afdea
gl_rasterizer: Minor cleanup
Minor code cleanup from unaddressed feedback in #1654
7 years ago
Lioncash
940b24a84b
gl_state: Amend compilation warnings
Makes float -> integral conversions explicit via casts and also silences
a sign conversion warning.
7 years ago
greggameplayer
ec188ec832
Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB ( #1666 )
* Implement ASTC_2D_10X8 & ASTC_2D_10X8_SRGB
( needed by Mario+Rabbids Kingdom Battle )
* Small placement correction
7 years ago
Rodolfo Bogado
2cd792b3cf
Use core extensions when available to set max anisotropic filtering level
7 years ago
Rodolfo Bogado
32412d2a33
Improve state management by splitting some of the states id separated function to avoid a full apply overhead
7 years ago
Rodolfo Bogado
a7c68376fe
Try to fix problems with stencil test in some games, relax translation to opengl enums to avoid crashing and only generate logs of the errors.
7 years ago
Rodolfo Bogado
6233b6b235
set sampler max lod, min lod, lod bias and max anisotropy
7 years ago
FernandoS27
2db82d4c09
Improved GPU Caches lookup Speed
7 years ago
ReinUsesLisp
e915947a0a
gl_shader_decompiler: Guard out of bound geometry shader input reads
Geometry shaders follow a pattern that results in out of bound reads.
This pattern is:
- VSETP to predicate
- Use that predicate to conditionally set a register a big number
- Use the register to access geometry shaders
At the time of writing this commit I don't know what's the intent of
this number. Some drivers argue about these out of bound reads. To avoid
this issue, input reads are guarded limiting reads to the highest
posible vertex input of the current topology (e.g. points to 1 and
triangles to 3).
7 years ago
Frederic Laing
e374638ff2
gl_rasterizer_cache: Remove unnecessary memory allocation and copy in CopySurface
7 years ago
Frederic Laing
b1d82f91b8
gl_rasterizer: Fix compiler warnings
7 years ago
Lioncash
b182af1e9b
rasterizer_cache: Remove reliance on the System singleton
Rather than have a transparent dependency, we can make it explicit in
the interface. This also gets rid of the need to put the core include in
a header.
7 years ago
Lioncash
8280ddfd1c
rasterizer_cache: Add missing virtual destructor to RasterizerCacheObject
Ensures that destruction will always do the right thing in any context.
7 years ago
Lioncash
7364c759a5
gl_resource_manager: Amend clang-format discrepancies
Fixes the buildbot.
7 years ago
FernandoS27
aea243d21e
Correct issue where texturelod could not be applied to 2darrayshadow
7 years ago
FernandoS27
df2eb1cfdb
Implement 3 coordinate array in TEXS instruction
7 years ago
Markus Wick
755aa28572
gl_rasterizer: Skip VAO binding if the state is clean.
7 years ago
Markus Wick
29d148c063
gl_rasterizer: Split VAO and VB setup functions.
7 years ago
Markus Wick
6546a1aa88
gl_rasterizer_cache: Add profiles for Copy and Blit.
They were missed, and Copy is very high in profile here. It doesn't block the GPU,
but it stalls the driver thread. So with our bad GL instructions, this might block quite a while.
7 years ago
Markus Wick
6bd55db4ca
gl_resource_manager: Profile creation and deletion.
7 years ago
Markus Wick
a485e5210c
gl_stream_buffer: Profile orphaning of stream buffer.
This serialize to the driver thread and so it may block for a while.
So if it is in the benchmark, we get noticed if it happens too often.
7 years ago
Markus Wick
4da1b985fd
gl_resource_manager: Split implementations in .cpp file.
Those implementations are quite costly, so there is no need to inline them to the caller.
Ressource deletion is often a performance bug, so in this way, we support to add breakpoints to them.
7 years ago
Rodolfo Bogado
92d9f97224
Add support to color mask to avoid issues in blending caused by wrong values in the alpha channel in some render targets.
7 years ago
Rodolfo Bogado
fbd0d677a3
Implement multi-target viewports and blending
7 years ago
greggameplayer
8886cfe261
correct syntax
7 years ago
FernandoS27
82d04c5e99
Fix ASTC Decompressor to support depth parameter
7 years ago
bunnei
938dd94181
memory_manager: Do not MapBufferEx over already in use memory.
- This fixes rendering when changing areas in Super Mario Odyssey.
7 years ago
FernandoS27
fe596b4c6e
Fix ASTC formats
7 years ago
FernandoS27
493bb10cce
Implemented ASTC 5x5
7 years ago
FernandoS27
d125512225
Implement Cube Arrays
7 years ago
bunnei
42b74a5e41
maxwell_3d: Restructure macro upload to use a single macro code memory.
- Fixes an issue where macros could be skipped.
- Fixes rendering of distant objects in Super Mario Odyssey.
7 years ago
greggameplayer
39efd5a7f0
Implement SurfaceTarget Texture2DArray
( needed by Mario+Rabbids Kingdom Battle )
7 years ago
Rodolfo Bogado
cbbb016f34
Improve OpenGL state handling
7 years ago
ReinUsesLisp
58988435c2
video_core: Move surface declarations out of gl_rasterizer_cache
7 years ago
FernandoS27
906d2fd5af
Assert Control Codes Generation
7 years ago
Frederic L
c76f4b6aec
global: Use std::optional instead of boost::optional ( #1578 )
* get rid of boost::optional
* Remove optional references
* Use std::reference_wrapper for optional references
* Fix clang format
* Fix clang format part 2
* Adressed feedback
* Fix clang format and MacOS build
7 years ago
ReinUsesLisp
06aee386b7
video_core: Move OpenGL specific utils to its renderer
7 years ago
Rodolfo Bogado
c7a7479993
renderer_opengl: Correct bpp value for ASTC_2D_8X5_SRGB
7 years ago
FernandoS27
8b69038887
Assert Control Flow Instructions using Control Codes
7 years ago
FernandoS27
af83b683d8
Fixed black textures, pixelation and we no longer require to auto-generate mipmaps
7 years ago
FernandoS27
be78be20dc
Fixed mipmap block autosizing algorithm
7 years ago
FernandoS27
c9f347e156
Fixed Invalid Image size and Mipmap calculation
7 years ago
FernandoS27
b6e94867b9
Fixed Block Resizing algorithm and Clang Format
7 years ago
FernandoS27
5d5236c512
Implement Mip Filter
7 years ago
FernandoS27
76ce66359d
Zero out memory region of recreated surface before flushing
7 years ago
FernandoS27
87d1001720
Implement Mipmaps
7 years ago