Fernando Sahmkow
666d431ad8
Merge pull request #3473 from ReinUsesLisp/shader-purge
...
gl_shader_cache: Rework shader cache and store texture arrays
2020-03-13 16:26:24 +07:00
Rodrigo Locatti
244fe13219
Merge branch 'master' into shader-purge
2020-03-13 16:44:06 +07:00
bunnei
b30b1f741d
Merge pull request #3491 from ReinUsesLisp/polygon-modes
...
gl_rasterizer: Implement polygon modes and fill rectangles
2020-03-13 10:08:57 +07:00
Nguyen Dac Nam
829f424618
nit & remove some optional param
2020-03-13 20:47:38 +07:00
Nguyen Dac Nam
a166217480
shader_decode: implement XMAD mode CSfu
2020-03-13 19:01:49 +07:00
makigumo
753bc2026f
fix formatting
2020-03-13 11:37:24 +07:00
makigumo
54681909be
maxwell_to_vk: add vertex format eA2B10G10R10UnormPack32
2020-03-13 11:26:13 +07:00
Nguyen Dac Nam
00607fe1e0
clang-format
2020-03-13 15:38:57 +07:00
Nguyen Dac Nam
325977c0c6
Apply suggestions from code review
...
Co-Authored-By: Mat M. <mathew1800@gmail.com>
2020-03-13 15:35:15 +07:00
Nguyen Dac Nam
70ff82f72d
shader_decode: BFE add ref of reverse parallel method.
2020-03-13 14:20:18 +07:00
Nguyen Dac Nam
96a4abe12d
shader_decode: implement BREV on BFE
...
Implement reverse parallel follow: https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel
2020-03-13 14:13:31 +07:00
Nguyen Dac Nam
93547cac68
shader_bytecode: update BFE instructions struct.
2020-03-13 12:52:16 +07:00
Nguyen Dac Nam
911c56ccef
node_helper: add IBitfieldExtract case
2020-03-13 12:50:32 +07:00
Nguyen Dac Nam
465ba30d08
shader_decode: Reimplement BFE instructions
2020-03-13 12:48:01 +07:00
ReinUsesLisp
e24197bb3f
gl_shader_decompiler: Initialize gl_Position on vertex shaders
2020-03-12 23:31:06 +07:00
Fernando Sahmkow
00e9ba0603
Merge pull request #3483 from namkazt/patch-1
...
vk_rasterizer: fix mistype on SetupGraphicsImages
2020-03-12 22:10:48 +07:00
Fernando Sahmkow
f159a12820
Merge pull request #3480 from ReinUsesLisp/vk-disabled-ubo
...
vk_rasterizer: Support disabled uniform buffers
2020-03-12 22:09:49 +07:00
ReinUsesLisp
3a10016e38
gl_shader_decompiler: Add missing {} on smem GLSL emission
2020-03-12 21:50:37 +07:00
ReinUsesLisp
4dcca90ef4
video_core: Implement RGBA16_SNORM
...
Implement RGBA16_SNORM with the current API. Nothing special here.
2020-03-12 21:42:33 +07:00
ReinUsesLisp
e22816a5bb
texture_cache: Report incompatible textures as black
...
Some games bind incompatible texture types to certain types.
For example Astral Chain binds a 2D texture with 1 layer (non-array) to
a cubemap slot (that's how it's used in the shader). After testing this
in hardware, the expected "undefined behavior" is to report all pixels
as black.
We already have a path for reporting black textures in the texture
cache. When textures types are incompatible, this commit binds these
kind of textures. This is done on the API agnostic texture cache so no
extra code has to be inserted on OpenGL or Vulkan.
As a side effect, this fixes invalidations of ASTC textures on Astral
Chain. This happened because yuzu detected a cube texture and forced
6 faces, generating a texture larger than what the TIC reported.
2020-03-12 18:22:05 +07:00
ReinUsesLisp
daae6a323b
texture_cache/surface_params: Force depth=1 on 2D textures
...
Sometimes games will sample a 2D array TIC with a 2D access in the
shader. This causes bad interactions with the rest of the texture cache.
To emulate what the game wants to do, force a depth=1 on 2D textures
(not 2D arrays) and let the texture cache handle the rest.
2020-03-12 18:11:42 +07:00
ReinUsesLisp
38fe070d78
gl_shader_decompiler: Add layer component to texelFetch
...
TexelFetch was not emitting the array component generating invalid GLSL.
2020-03-12 18:10:29 +07:00
bunnei
ca2d228c9d
Merge pull request #3497 from FernandoS27/microprogfile-extend
...
Small corrections and features to microprofile
2020-03-12 12:14:03 +07:00
bunnei
c21dc36cda
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 +07:00
Fernando Sahmkow
95b804ff05
NVFlinger: Do the microprofile Flip after processing a valid frame.
2020-03-12 10:52:44 +07:00
Fernando Sahmkow
448856695a
Microprofile: Allow accessing token.
2020-03-12 10:50:48 +07:00
ReinUsesLisp
825d629565
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 +07:00
bunnei
fce33adcf1
Merge pull request #3494 from ReinUsesLisp/fix-cs-pipeline
...
gl_shader_manager: Fix interaction between graphics and compute
2020-03-11 13:51:54 +07:00
Vitor Kiguchi
e891ff9a0c
framebuffer_layout.h: drop the use of enum for screen dimensions.
...
+clang format
2020-03-11 14:22:28 +07:00
ReinUsesLisp
8357908099
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 +07:00
bunnei
503ebe9b96
Merge pull request #3458 from FearlessTobi/voice-issues
...
cubeb_sink: Don't discard other channels when performing downmixing
2020-03-10 22:18:37 +07:00
ReinUsesLisp
e4bc3c3342
gl_rasterizer: Implement polygon modes and fill rectangles
2020-03-09 20:39:58 +07:00
ReinUsesLisp
eb5861e0a2
engines/maxwell_3d: Add TFB registers and store them in shader registry
2020-03-09 18:40:53 +07:00
ReinUsesLisp
b1acb4f73f
shader/registry: Address feedback
2020-03-09 18:40:53 +07:00
ReinUsesLisp
b1061afed9
gl_shader_decompiler: Add identifier to decompiled code
2020-03-09 18:40:53 +07:00
ReinUsesLisp
e612242977
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 +07:00
ReinUsesLisp
978172530e
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 +07:00
ReinUsesLisp
120f688272
yuzu/loading_screen: Remove unused shader progress mode
2020-03-09 18:40:53 +07:00
ReinUsesLisp
e1932351a9
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 +07:00
ReinUsesLisp
66a8a3e887
shader/registry: Cache tessellation state
2020-03-09 18:40:07 +07:00
ReinUsesLisp
0528be5c92
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 +07:00
ReinUsesLisp
e8efd5a901
video_core: Rename "const buffer locker" to "registry"
2020-03-09 18:40:06 +07:00
ReinUsesLisp
bd8b9bbcee
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 +07:00
Rodrigo Locatti
22e825a3bc
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 +07:00
bunnei
c281173df6
Merge pull request #3486 from ReinUsesLisp/fix-anisotropy-hack
...
textures: Fix anisotropy hack
2020-03-08 16:28:07 +07:00
ReinUsesLisp
1aa75b1081
textures: Fix anisotropy hack
...
Previous code could generate an anisotropy value way higher than x16.
2020-03-08 15:59:38 +07:00
FearlessTobi
59d0d34dce
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 +07:00
bunnei
84e9f9f395
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 +07:00
Nguyen Dac Nam
16cfbb068c
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
662feb8c1c
Merge pull request #3481 from ReinUsesLisp/abgr5-storage
...
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
2020-03-07 19:51:33 +07:00