Fernando Sahmkow
5feb82ba87
Merge pull request #3490 from ReinUsesLisp/transform-feedbacks
...
video_core: Initial implementation of transform feedbacks
2020-03-14 09:48:15 -04:00
ReinUsesLisp
d32b3ec281
vk/gl_shader_decompiler: Silence assertion on compute
2020-03-13 18:33:05 -03:00
ReinUsesLisp
c6881ce37b
vk_shader_decompiler: Fix default varying regression
2020-03-13 18:33:05 -03:00
ReinUsesLisp
9fa70a264c
maxwell_3d: Add padding words to XFB entries
...
Use INSERT_UNION_PADDING_WORDS instead of alignas to ensure a size
requirement.
2020-03-13 18:33:05 -03:00
ReinUsesLisp
f97053bf28
gl_shader_decompiler: Fix implicit conversion errors
2020-03-13 18:33:05 -03:00
Rodrigo Locatti
b369efabe1
vk_shader_decompiler: Fix implicit type conversion
...
Co-Authored-By: Mat M. <mathew1800@gmail.com >
2020-03-13 18:33:05 -03:00
ReinUsesLisp
44c993b3b2
vk_rasterizer: Implement transform feedback binding zero
2020-03-13 18:33:05 -03:00
ReinUsesLisp
3760b3b73d
vk_shader_decompiler: Add XFB decorations to generic varyings
2020-03-13 18:33:05 -03:00
ReinUsesLisp
701a688a2a
vk_device: Enable VK_EXT_transform_feedback when available
2020-03-13 18:33:05 -03:00
ReinUsesLisp
205ce93194
vk_device: Shrink formatless capability name size
2020-03-13 18:33:05 -03:00
ReinUsesLisp
76d30348c8
shader/transform_feedback: Expose buffer stride
2020-03-13 18:33:05 -03:00
ReinUsesLisp
e708455e25
vk_shader_decompiler: Use registry for specialization
2020-03-13 18:33:05 -03:00
ReinUsesLisp
3a217e1c20
gl_rasterizer: Implement transform feedback bindings
2020-03-13 18:33:04 -03:00
ReinUsesLisp
57909b17e6
gl_shader_decompiler: Decorate output attributes with XFB layout
...
We sometimes have to slice attributes in different parts. This is needed
for example in instances where the game feedbacks 3 components but
writes 4 from the shader (something that is possible with
GL_NV_transform_feedback).
2020-03-13 18:33:04 -03:00
ReinUsesLisp
9483b8e09a
shader/transform_feedback: Add host API friendly TFB builder
2020-03-13 18:33:04 -03:00
Fernando Sahmkow
87d67b3099
Merge pull request #3473 from ReinUsesLisp/shader-purge
...
gl_shader_cache: Rework shader cache and store texture arrays
2020-03-13 16:26:24 -04:00
Rodrigo Locatti
112994bb0c
Merge branch 'master' into shader-purge
2020-03-13 16:44:06 -03:00
bunnei
d477b453c9
Merge pull request #3491 from ReinUsesLisp/polygon-modes
...
gl_rasterizer: Implement polygon modes and fill rectangles
2020-03-13 10:08:57 -04:00
ReinUsesLisp
c9261f0995
gl_shader_decompiler: Initialize gl_Position on vertex shaders
2020-03-12 23:31:06 -03:00
Fernando Sahmkow
e3225bc968
Merge pull request #3483 from namkazt/patch-1
...
vk_rasterizer: fix mistype on SetupGraphicsImages
2020-03-12 22:10:48 -04:00
Fernando Sahmkow
197ddccfe4
Merge pull request #3480 from ReinUsesLisp/vk-disabled-ubo
...
vk_rasterizer: Support disabled uniform buffers
2020-03-12 22:09:49 -04:00
ReinUsesLisp
f48ea94e29
gl_shader_decompiler: Add missing {} on smem GLSL emission
2020-03-12 21:50:37 -03:00
bunnei
57b8f3fb25
Merge pull request #3497 from FernandoS27/microprogfile-extend
...
Small corrections and features to microprofile
2020-03-12 12:14:03 -04:00
bunnei
ef529024e3
Merge pull request #3496 from vitor-k/remove-enum
...
framebuffer_layout.h: drop the use of enum for screen dimensions
2020-03-12 12:00:39 -04:00
Fernando Sahmkow
d61154dbd1
NVFlinger: Do the microprofile Flip after processing a valid frame.
2020-03-12 10:52:44 -04:00
Fernando Sahmkow
3d492a4064
Microprofile: Allow accessing token.
2020-03-12 10:50:48 -04:00
ReinUsesLisp
0e98aa1e1c
gl_shader_decompiler: Fix regression in render target declarations
...
A previous commit introduced a way to declare as few render targets as
possible. Turns out this introduced a regression in some games.
2020-03-12 05:01:20 -03:00
bunnei
7b1a7b3f3b
Merge pull request #3494 from ReinUsesLisp/fix-cs-pipeline
...
gl_shader_manager: Fix interaction between graphics and compute
2020-03-11 13:51:54 -04:00
Vitor Kiguchi
880207fc0e
framebuffer_layout.h: drop the use of enum for screen dimensions.
...
+clang format
2020-03-11 14:22:28 -03:00
ReinUsesLisp
d45d8c6d54
gl_shader_manager: Fix interaction between graphics and compute
...
After a compute shader was set to the pipeline, no graphics shader was
invoked again. To address this use glUseProgram to bind compute shaders
(without state tracking) and call glUseProgram(0) when transitioning out
of it back to the graphics pipeline.
2020-03-11 01:04:52 -03:00
bunnei
3d71c29e14
Merge pull request #3458 from FearlessTobi/voice-issues
...
cubeb_sink: Don't discard other channels when performing downmixing
2020-03-10 22:18:37 -04:00
ReinUsesLisp
38db8295db
gl_rasterizer: Implement polygon modes and fill rectangles
2020-03-09 20:39:58 -03:00
ReinUsesLisp
1a169c6db6
engines/maxwell_3d: Add TFB registers and store them in shader registry
2020-03-09 18:40:53 -03:00
ReinUsesLisp
da61974a28
shader/registry: Address feedback
2020-03-09 18:40:53 -03:00
ReinUsesLisp
2fa67e23da
gl_shader_decompiler: Add identifier to decompiled code
2020-03-09 18:40:53 -03:00
ReinUsesLisp
048d260e9a
gl_shader_decompiler: Roll back to GLSL core 430
...
RenderDoc won't build shaders if we use GLSL compatibility.
2020-03-09 18:40:53 -03:00
ReinUsesLisp
147566a26f
const_buffer_engine_interface: Store component types
...
This is required for Vulkan. Sampling integer textures with float
handles is illegal.
2020-03-09 18:40:53 -03:00
ReinUsesLisp
80b47975eb
yuzu/loading_screen: Remove unused shader progress mode
2020-03-09 18:40:53 -03:00
ReinUsesLisp
2ce5429def
gl_shader_cache: Reduce registry consistency to debug assert
...
Registry consistency is something that practically can't happen and it
has a measurable runtime cost. Reduce it to a DEBUG_ASSERT.
2020-03-09 18:40:07 -03:00
ReinUsesLisp
18575325bc
shader/registry: Cache tessellation state
2020-03-09 18:40:07 -03:00
ReinUsesLisp
f7ff589e00
shader/registry: Store graphics and compute metadata
...
Store information GLSL forces us to provide but it's dynamic state in
hardware (workgroup sizes, primitive topology, shared memory size).
2020-03-09 18:40:07 -03:00
ReinUsesLisp
0f74f984cd
video_core: Rename "const buffer locker" to "registry"
2020-03-09 18:40:06 -03:00
ReinUsesLisp
5e232bf82d
gl_shader_cache: Rework shader cache and remove post-specializations
...
Instead of pre-specializing shaders and then post-specializing them,
drop the later and only "specialize" the shader while decoding it.
2020-03-09 18:40:06 -03:00
Rodrigo Locatti
a8147865a1
Merge pull request #3301 from ReinUsesLisp/state-tracker
...
video_core: Remove gl_state and use a state tracker based on dirty flags
2020-03-09 18:34:37 -03:00
bunnei
0dd23507bd
Merge pull request #3486 from ReinUsesLisp/fix-anisotropy-hack
...
textures: Fix anisotropy hack
2020-03-08 16:28:07 -04:00
ReinUsesLisp
30ce04cd18
textures: Fix anisotropy hack
...
Previous code could generate an anisotropy value way higher than x16.
2020-03-08 15:59:38 -03:00
FearlessTobi
1aa41ab75d
cubeb_sink: Don't discard other channels when performing downmixing
...
Previously, when performing downmixing, we would discard all channels except the left and right one.
This implementation respects them when mixing down to Stereo.
It is taken from this document: http://www.atsc.org/wp-content/uploads/2015/03/A52-201212-17.pdf .
Fixes Luigis Mansion 3 cutscene and Bayonetta audio.
2020-03-08 03:16:06 -04:00
bunnei
d95adb7799
Merge pull request #3452 from Morph1984/anisotropic-filtering
...
frontend/Graphics: Add "Advanced" graphics tab and experimental Anisotropic Filtering support
2020-03-07 22:28:35 -05:00
Nguyen Dac Nam
1ad3f40316
vk_reasterizer: fix mistype on SetupGraphicsImages
...
This should use Maxwell3D engine. Fixed some GPU error on Kirby and maybe other games.
2020-03-08 10:06:59 +07:00
bunnei
6631f88213
Merge pull request #3481 from ReinUsesLisp/abgr5-storage
...
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
2020-03-07 19:51:33 -05:00