ReinUsesLisp
fc8a8789da
gl_rasterizer_cache: Use GL_STREAM_COPY for PBOs
Since the data is doing the path CPU -> GPU -> GPU copy is the most
approximate hint. Using GL_STREAM_DRAW generated a performance warning
on Nvidia's stack. Changing this hint removed the warning.
7 years ago
ReinUsesLisp
97fb6179b9
gl_rasterizer_cache: Texture view if shader samples array but OGL is not
When a shader samples a texture array but that texture in OpenGL is
created without layers, use a texture view to increase the texture
hierarchy. For example, instead of binding a GL_TEXTURE_2D bind a
GL_TEXTURE_2D_ARRAY view.
7 years ago
bunnei
2020ba06e1
gpu: Remove PixelFormat G8R8U and G8R8S, as they do not seem to exist.
- Fixes UI rendering issues in The Legend of Zelda: Breath of the Wild.
7 years ago
Rodolfo Bogado
fbe900ba6d
Add missing uintBitsToFloat to SetRegisterToHalfFloat
7 years ago
Lioncash
67fa21e143
renderer_opengl: Correct forward declaration of FramebufferLayout
This is actually a struct, not a class, which can lead to compilation
warnings.
7 years ago
Rodolfo Bogado
33056dd833
Apply CC test to the final value to be stored in the register
7 years ago
David
8047873a66
Fixed shader linking error due to TLDS ( #1934 )
* Fixed shader linking error due to TLDS
coord should be coords
* Fix remaining coords
7 years ago
ReinUsesLisp
aaa0e6c346
shader_bytecode: Fixup TEXS.F16 encoding
7 years ago
Rodolfo Bogado
bbf8d6bf01
Includde saturation in the evaluation of the control code
7 years ago
Rodolfo Bogado
946777601b
Handle RZ cases evaluating the expression instead of the register value.
7 years ago
Rodolfo Bogado
7e72b5e453
complete emulation of ZeroFlag
7 years ago
David Marcec
20859802f0
hopefully fix clang format issue
7 years ago
David Marcec
fdd649e2ef
Fixed uninitialized memory due to missing returns in canary
Functions which are suppose to crash on non canary builds usually don't return anything which lead to uninitialized memory being used.
7 years ago
zhupengfei
a2be49305d
yuzu, video_core: Screenshot functionality
Allows capturing screenshot at the current internal resolution (native for software renderer), but a setting is available to capture it in other resolutions. The screenshot is saved to a single PNG in the current layout.
7 years ago
heapo
37280cf555
Texture format fixes: Flag RGBA16UI as GL_RGBA_INTEGER format, and interpret R16U as Z16 when depth_compare is enabled.
7 years ago
ReinUsesLisp
ef061481c5
shader_bytecode: Fixup half float's operator B encoding
7 years ago
heapo
72599cc667
Implement postfactor multiplication/division for fmul instructions
7 years ago
heapo
a6daed74f5
Fix arrayed shadow sampler array slice/depth comparison ordering, as well as invalid GLSL LOD selection.
7 years ago
Lioncash
4c2b94559b
gl_shader_cache: Dehardcode constant in CalculateProgramSize()
This constant is related to the size of the instruction.
7 years ago
Lioncash
861bfdbf5d
gl_shader_cache: Resolve truncation compiler warning
The previous code would cause a warning, as it was truncating size_t
(64-bit) to a u32 (32-bit) implicitly.
7 years ago
Marcos Vitali
430e1f864b
gl_shader_decompiler: IPA FrontFacing: the right value when is the front face is 0xFFFFFFFF.
7 years ago
Fernando Sahmkow
d5d77848e6
Implemented a shader unique identifier.
7 years ago
Marcos Vitali
f4fa7ecb0e
gl_shader_decompiler: TLDS/TLD4/TLD4S Reworked reflecting the source registers, bugs fixed and modularize.
7 years ago
ReinUsesLisp
59a8df1b14
gl_shader_decompiler: Implement TEXS.F16
7 years ago
ReinUsesLisp
370980fdc3
gl_shader_decompiler: Fixup inverted if
7 years ago
heapo
7853e6b5d4
Improve msvc codegen for hot-path array LUTs
In some constexpr functions, msvc is building the LUT at runtime
(pushing each element onto the stack) out of an abundance of caution. Moving the
arrays into be file-scoped constexpr's avoids this and turns the functions into
simple look-ups as intended.
7 years ago
Marcos
ab2108fb2a
Rewrited TEX/TEXS (TEX Scalar). ( #1826 )
* Rewrited TEX/TEXS (TEX Scalar).
* Style fixes.
* Styles issues.
7 years ago
Subv
c4c19fa6c1
Removed unused file.
This is a leftover from #1792
7 years ago
Subv
b873253da1
GPU: Don't try to route PFIFO methods (0-0x40) to the other engines.
7 years ago
Lioncash
e88cdcc912
Fix debug build
A non-existent parameter was left in some formatting calls (the logging
macro for which only does anything meaningful on debug builds)
7 years ago
bunnei
0f43564d09
gl_rasterizer_cache: Update AccurateCopySurface to flush complete source surface.
- Fixes issues with Breath of the Wild with use_accurate_gpu_emulation setting.
7 years ago
ReinUsesLisp
2908d30274
gl_rasterizer: Enable clip distances when set in register and in shader
7 years ago
ReinUsesLisp
1a2bb596db
gl_rasterizer: Implement a framebuffer cache
7 years ago
ReinUsesLisp
e8620eaa9a
gl_shader_manager: Update pipeline when programs have changed
7 years ago
bunnei
3d3cc35ee7
gl_rasterizer_cache: Remove BlitSurface and replace with more accurate copy.
- BlitSurface with different texture targets is inherently broken.
- When target is the same, we can just use FastCopySurface.
- Fixes rendering issues with Breath of the Wild.
7 years ago
ReinUsesLisp
eb700afcf0
gl_shader_decompiler: Remove texture temporal in TLD4
7 years ago
ReinUsesLisp
8d58e5da71
gl_shader_decompiler: Flip negated if else statement
7 years ago
ReinUsesLisp
f4abebd731
gl_shader_decompiler: Use GLSL scope on instructions unrelated to textures
7 years ago
ReinUsesLisp
78fc8f6b66
gl_shader_decompiler: Move texture code generation into lambdas
7 years ago
ReinUsesLisp
ab13b628d0
gl_shader_decompiler: Clean up texture instructions
7 years ago
ReinUsesLisp
6a642022dd
gl_shader_decompiler: Scope GLSL variables with a scoped object
7 years ago
ReinUsesLisp
037449668e
gl_rasterizer: Signal UNIMPLEMENTED when rt_separate_frag_data is not zero
7 years ago
ReinUsesLisp
653d7a3f0d
gl_rasterizer_cache: Use brackets for two-line single-expresion blocks
7 years ago
ReinUsesLisp
432a9872ed
gl_rasterizer: Remove unused struct declarations
7 years ago
ReinUsesLisp
22c7c710b4
gl_rasterizer: Remove extension booleans
7 years ago
bunnei
ac74b71d75
dma_pushbuffer: Optimize to avoid loop and copy on Push.
7 years ago
bunnei
c568f5cea7
gpu: Move command list profiling to DmaPusher::DispatchCalls.
7 years ago
ReinUsesLisp
2e9b90abad
gl_shader_decompiler: Fixup clip distance index
7 years ago
Markus Wick
8747f5fc0d
gl_rasterizer: Fixup for #1723 .
On invalidating the streaming buffer, we need to reupload all vertex buffers.
But we don't need to reconfigure the vertex format.
This was a (silly) misstake in #1723 .
Thanks at Rodrigo for discovering the issue.
Fun fact, as configuring the vertex format also invalidate the vertex buffer,
this misstake had no affect on the behavior.
7 years ago
bunnei
abea6fa90c
gpu: Rewrite GPU command list processing with DmaPusher class.
- More accurate impl., fixes Undertale (among other games).
7 years ago