FernandoS27
3088e36237
Improved GPU Caches lookup Speed
7 years ago
ReinUsesLisp
8d4bb10d44
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
e2bf581e3a
gl_rasterizer_cache: Remove unnecessary memory allocation and copy in CopySurface
7 years ago
Frederic Laing
1d36aec267
gl_rasterizer: Fix compiler warnings
7 years ago
Lioncash
9046f764bf
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
9de523fd90
rasterizer_cache: Add missing virtual destructor to RasterizerCacheObject
Ensures that destruction will always do the right thing in any context.
7 years ago
Lioncash
29f082775b
gl_resource_manager: Amend clang-format discrepancies
Fixes the buildbot.
7 years ago
FernandoS27
d347623d6f
Correct issue where texturelod could not be applied to 2darrayshadow
7 years ago
FernandoS27
ad2f47b579
Implement 3 coordinate array in TEXS instruction
7 years ago
Markus Wick
359db6a673
gl_rasterizer: Skip VAO binding if the state is clean.
7 years ago
Markus Wick
0590dd2971
gl_rasterizer: Split VAO and VB setup functions.
7 years ago
Markus Wick
2c87f10267
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
7e59e907ef
gl_resource_manager: Profile creation and deletion.
7 years ago
Markus Wick
80e4dbdce7
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
54df9fe29e
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
19038db489
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
145ae36963
Implement multi-target viewports and blending
7 years ago
greggameplayer
9249fadb9e
correct syntax
7 years ago
FernandoS27
60a184455c
Fix ASTC Decompressor to support depth parameter
7 years ago
bunnei
4aa9779ae1
memory_manager: Do not MapBufferEx over already in use memory.
- This fixes rendering when changing areas in Super Mario Odyssey.
7 years ago
FernandoS27
aee93f98f9
Fix ASTC formats
7 years ago
FernandoS27
31930a3334
Implemented ASTC 5x5
7 years ago
FernandoS27
678c18aa5c
Implement Cube Arrays
7 years ago
bunnei
de0ab806df
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
9ae972ab4e
Implement SurfaceTarget Texture2DArray
( needed by Mario+Rabbids Kingdom Battle )
7 years ago
Rodolfo Bogado
aca218aea0
Improve OpenGL state handling
7 years ago
ReinUsesLisp
76754f5705
video_core: Move surface declarations out of gl_rasterizer_cache
7 years ago
FernandoS27
5bb80ab009
Assert Control Codes Generation
7 years ago
Frederic L
7a5eda5914
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
80cbd81276
video_core: Move OpenGL specific utils to its renderer
7 years ago
Rodolfo Bogado
e8b565b239
renderer_opengl: Correct bpp value for ASTC_2D_8X5_SRGB
7 years ago
FernandoS27
3aa8b644a9
Assert Control Flow Instructions using Control Codes
7 years ago
FernandoS27
dde3094058
Fixed black textures, pixelation and we no longer require to auto-generate mipmaps
7 years ago
FernandoS27
f0e902a7d6
Fixed mipmap block autosizing algorithm
7 years ago
FernandoS27
87f8181405
Fixed Invalid Image size and Mipmap calculation
7 years ago
FernandoS27
f4432b5d0c
Fixed Block Resizing algorithm and Clang Format
7 years ago
FernandoS27
258f0f5c31
Implement Mip Filter
7 years ago
FernandoS27
dc85e3bff1
Zero out memory region of recreated surface before flushing
7 years ago
FernandoS27
bbf3b2da0c
Implement Mipmaps
7 years ago
Michael
635d1e5651
Enable alpha channel for DXT1 texture format
7 years ago
Tobias
351d5a2227
Correct bpp value for ASTC_2D_8X5
7 years ago
FernandoS27
e5ca097e32
Refactor precise usage and add FMNMX, MUFU, FMUL32 and FADD332
7 years ago
Rodolfo Bogado
0287b2be6d
Implement sRGB Support, including workarounds for nvidia driver issues and QT sRGB support
7 years ago
FernandoS27
d8d557df86
Improved Shader accuracy on Vertex and Geometry Shaders with FFMA, FMUL and FADD
7 years ago
FernandoS27
705300992e
Implement Default Block Height for each format
7 years ago
Frederic Laing
0bf24d310e
gl_rasterizer_cache: Fix compiler warning
7 years ago
bunnei
58444a0376
gl_rasterizer: Implement primitive restart.
7 years ago
bunnei
949d9a7136
maxwell_3d: Add code for initializing register defaults.
7 years ago
bunnei
8cea598158
gl_rasterizer: Implement depth range.
7 years ago
FernandoS27
ca142f35c0
Implemented LD_L and ST_L
7 years ago