bunnei
674ebdda6a
frontend: Refactor ScopeAcquireWindowContext out of renderer_opengl.
2019-01-23 19:19:23 -05:00
ReinUsesLisp
fdb76f6147
maxwell_3d: Set rt_separate_frag_data to 1 by default
...
Commercial games assume that this value is 1 but they never set it. On
the other hand nouveau manually sets this register. On
ConfigureFramebuffers we were asserting for what we are actually
implementing (according to envytools).
2019-01-22 04:14:29 -03:00
bunnei
eea45eb2ab
Merge pull request #2008 from ReinUsesLisp/dirty-framebuffers
...
gl_rasterizer_cache: Use dirty flags for framebuffers
2019-01-20 14:06:26 -05:00
bunnei
42e3e0cfee
Merge pull request #2002 from ReinUsesLisp/dsa-vao-buffer
...
gl_rasterizer: Use DSA for VAOs and buffers
2019-01-20 14:06:01 -05:00
ReinUsesLisp
189c792193
gl_rasterizer: Silent unsafe mix warning
2019-01-18 03:25:28 -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
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
heapo
63c820c8b1
Implement postfactor multiplication/division for fmul instructions
2018-12-17 07:56:25 -08:00
heapo
a2df3bdd64
Fix arrayed shadow sampler array slice/depth comparison ordering, as well as invalid GLSL LOD selection.
2018-12-17 07:53:48 -08:00
bunnei
a402bf311e
Merge pull request #1893 from lioncash/warn
...
gl_shader_cache: Resolve truncation compiler warning
2018-12-11 20:47:10 -05:00
bunnei
d0098f0fb4
Merge pull request #1888 from marcosvitali/glFrontFacing
...
gl_shader_decompiler: IPA fix FrontFacing.
2018-12-11 11:43:38 -05:00
Lioncash
6bdc98b5c8
gl_shader_cache: Dehardcode constant in CalculateProgramSize()
...
This constant is related to the size of the instruction.
2018-12-10 23:47:20 -05:00
Lioncash
df8d7cfc90
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.
2018-12-10 23:44:18 -05:00
bunnei
5798d782ad
Merge pull request #1740 from FernandoS27/shader_props
...
Implemented Shader Unique Identifiers
2018-12-10 12:43:43 -05:00
Marcos Vitali
4f59d874d8
gl_shader_decompiler: IPA FrontFacing: the right value when is the front face is 0xFFFFFFFF.
2018-12-09 23:36:21 -03:00
Fernando Sahmkow
1f1cc896d3
Implemented a shader unique identifier.
2018-12-09 17:33:33 -04:00
Marcos Vitali
89a288d7ce
gl_shader_decompiler: TLDS/TLD4/TLD4S Reworked reflecting the source registers, bugs fixed and modularize.
2018-12-07 19:09:36 -03:00
bunnei
d6f17bdcc9
Merge pull request #1824 from ReinUsesLisp/fbcache
...
gl_rasterizer: Implement a framebuffer cache
2018-12-06 11:56:59 -05:00
ReinUsesLisp
e228750f52
gl_shader_decompiler: Implement TEXS.F16
2018-12-05 02:06:34 -03:00
ReinUsesLisp
ad7a069b65
gl_shader_decompiler: Fixup inverted if
2018-12-05 01:23:04 -03:00
Marcos
aa575cfea9
Rewrited TEX/TEXS (TEX Scalar). ( #1826 )
...
* Rewrited TEX/TEXS (TEX Scalar).
* Style fixes.
* Styles issues.
2018-12-04 12:24:35 -05:00
bunnei
4fa8b8aad2
Merge pull request #1822 from ReinUsesLisp/glsl-scope
...
gl_shader_decompiler: Introduce a scoped object and style changes
2018-12-03 17:10:02 -05:00