Commit graph

2918 commits

Author SHA1 Message Date
ReinUsesLisp
5678498dfd glsl_decompiler: Implementation 2019-01-15 17:54:50 -03:00
ReinUsesLisp
74ee18de5e shader_ir: Add condition code helper 2019-01-15 17:54:50 -03:00
ReinUsesLisp
283dd9fb61 shader_ir: Add predicate combiner helper 2019-01-15 17:54:49 -03:00
ReinUsesLisp
d28033adca shader_ir: Add comparison helpers 2019-01-15 17:54:49 -03:00
ReinUsesLisp
c0d053482c shader_ir: Add half float helpers 2019-01-15 17:54:49 -03:00
ReinUsesLisp
e46dd3ce5f shader_ir: Add integer helpers 2019-01-15 17:54:49 -03:00
ReinUsesLisp
b91929bf10 shader_ir: Add float helpers 2019-01-15 17:54:49 -03:00
ReinUsesLisp
83e750c9ae shader_ir: Add setters 2019-01-15 17:54:49 -03:00
ReinUsesLisp
394f906044 shader_ir: Add local memory getters 2019-01-15 17:54:49 -03:00
ReinUsesLisp
311d1af657 shader_ir: Add internal flag getters 2019-01-15 17:54:49 -03:00
ReinUsesLisp
a66682374f shader_ir: Add attribute getters 2019-01-15 17:54:49 -03:00
ReinUsesLisp
9d5d96500c shader_ir: Add constant buffer getters 2019-01-15 17:54:49 -03:00
ReinUsesLisp
7f89f99c60 shader_ir: Add register getter 2019-01-15 17:54:49 -03:00
ReinUsesLisp
f43041efe1 shader_ir: Add immediate node constructors 2019-01-15 17:54:49 -03:00
ReinUsesLisp
25f868d8be shader_ir: Initial implementation 2019-01-15 17:54:49 -03:00
ReinUsesLisp
2b5088a8e9 shader_bytecode: Fixup encoding 2019-01-15 17:54:49 -03:00
ReinUsesLisp
f03f054819 shader_header: Make local memory size getter constant 2019-01-15 17:54:49 -03:00
ReinUsesLisp
4495d76090 gl_rasterizer: Workaround Intel VAO DSA bug
There is a bug on Intel's blob driver where it fails to properly build a
vertex array object if it's not bound even after creating it with
glCreateVertexArrays. This workaround binds it after creating it to
bypass the issue.
2019-01-09 02:40:19 -03:00
ReinUsesLisp
0bde2e5fc1 gl_global_cache: Add dummy global cache manager 2019-01-08 17:47:45 -03:00
ReinUsesLisp
33e53c7893 gl_rasterizer: Skip framebuffer configuration if rendertargets have not been changed 2019-01-07 16:23:23 -03:00
bunnei
05929b3674 Merge pull request #1999 from ReinUsesLisp/dirty-shader
gl_shader_cache: Use dirty flags for shaders
2019-01-07 14:22:30 -05:00
ReinUsesLisp
1c8411dc8d gl_rasterizer_cache: Use dirty flags for the depth buffer 2019-01-07 16:22:28 -03:00
ReinUsesLisp
6e932fe118 gl_rasterizer_cache: Use dirty flags for color buffers 2019-01-07 16:20:39 -03:00
ReinUsesLisp
5fec808e30 gl_shader_cache: Use dirty flags for shaders 2019-01-07 16:13:12 -03:00
ReinUsesLisp
a17b13ac37 gl_stream_buffer: Use DSA for buffer management 2019-01-06 16:49:24 -03:00
ReinUsesLisp
fe889fb55b gl_rasterizer: Use DSA for vertex array objects 2019-01-06 16:49:24 -03:00
ReinUsesLisp
5ba137cdfe gl_state: Drop uniform buffer state tracking 2019-01-06 00:28:01 -03:00
ReinUsesLisp
8536bb5cfe 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.
2019-01-05 02:27:55 -03:00
bunnei
676d302ef4 Merge pull request #1961 from ReinUsesLisp/tex-view-2d
gl_rasterizer_cache: Texture view if shader samples array but OGL is not
2019-01-02 17:51:32 -05:00
ReinUsesLisp
dec2113a73 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.
2018-12-29 23:49:12 -03:00
bunnei
82662f374a 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.
2018-12-28 15:36:45 -05:00
Rodolfo Bogado
aa86cd851e Add missing uintBitsToFloat to SetRegisterToHalfFloat 2018-12-27 14:39:10 -03:00
bunnei
dad1c81676 Merge pull request #1892 from Tinob/master
Improve Zero flag implementation
2018-12-27 11:06:59 -05:00
Lioncash
21dec95072 renderer_opengl: Correct forward declaration of FramebufferLayout
This is actually a struct, not a class, which can lead to compilation
warnings.
2018-12-26 17:32:32 -05:00
Rodolfo Bogado
50a48fe118 Apply CC test to the final value to be stored in the register 2018-12-26 18:16:31 -03:00
David
615a0df6b6 Fixed shader linking error due to TLDS (#1934)
* Fixed shader linking error due to TLDS

coord should be coords

* Fix remaining coords
2018-12-26 15:55:39 -05:00
ReinUsesLisp
a04b5e9a42 shader_bytecode: Fixup TEXS.F16 encoding 2018-12-26 01:35:44 -03:00
bunnei
7961e11cd4 Merge pull request #1886 from FearlessTobi/port-4164
Port citra-emu/citra#4164: "citra_qt, video_core: Screenshot functionality"
2018-12-23 14:36:51 -05:00
Rodolfo Bogado
6ef7d94656 Includde saturation in the evaluation of the control code 2018-12-22 19:19:18 -03:00
Rodolfo Bogado
fd77c416fd Handle RZ cases evaluating the expression instead of the register value. 2018-12-22 19:19:18 -03:00
Rodolfo Bogado
0ebab7e4c6 complete emulation of ZeroFlag 2018-12-22 19:19:18 -03:00
bunnei
1dac8b1e9f Merge pull request #1921 from ogniK5377/no-unit
Fixed uninitialized memory due to missing returns in canary
2018-12-21 14:12:54 -05:00
bunnei
fea11df6ee Merge pull request #1920 from heapo/texture_format_selection
Texture format fixes for RGBA16UI for copies and R16U when used as depth
2018-12-21 13:46:17 -05:00
bunnei
0339f523f0 Merge pull request #1909 from heapo/shadow_sampling_fixes
Fix arrayed texture LOD selection and depth comparison ordering
2018-12-19 13:10:37 -05:00
David Marcec
4568a12f6d hopefully fix clang format issue 2018-12-19 13:22:09 +11:00
David Marcec
1dfb0a513a 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.
2018-12-19 12:52:32 +11:00
zhupengfei
2dbb90ed65 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.
2018-12-18 22:54:41 +01:00
heapo
aee93ff8cf Texture format fixes: Flag RGBA16UI as GL_RGBA_INTEGER format, and interpret R16U as Z16 when depth_compare is enabled. 2018-12-18 11:34:51 -08:00
ReinUsesLisp
40f57b087c shader_bytecode: Fixup half float's operator B encoding 2018-12-18 04:28:50 -03:00
heapo
63c820c8b1 Implement postfactor multiplication/division for fmul instructions 2018-12-17 07:56:25 -08:00