Commit Graph

14052 Commits (a42964467230120319363e07e8fb7cf155e15d88)
 

Author SHA1 Message Date
ReinUsesLisp afebdda203 maxwell_3d: Add padding words to XFB entries
Use INSERT_UNION_PADDING_WORDS instead of alignas to ensure a size
requirement.
5 years ago
ReinUsesLisp 4bc4851d45 gl_shader_decompiler: Fix implicit conversion errors 5 years ago
Rodrigo Locatti 47459f6a36 vk_shader_decompiler: Fix implicit type conversion
Co-Authored-By: Mat M. <mathew1800@gmail.com>
5 years ago
ReinUsesLisp 2fae1e6205 vk_rasterizer: Implement transform feedback binding zero 5 years ago
ReinUsesLisp b67360c0f8 vk_shader_decompiler: Add XFB decorations to generic varyings 5 years ago
ReinUsesLisp 8d5bdcb17b vk_device: Enable VK_EXT_transform_feedback when available 5 years ago
ReinUsesLisp c320702092 vk_device: Shrink formatless capability name size 5 years ago
ReinUsesLisp ae6189d7c2 shader/transform_feedback: Expose buffer stride 5 years ago
ReinUsesLisp 7acebd7eb6 vk_shader_decompiler: Use registry for specialization 5 years ago
ReinUsesLisp 8e9f23f393 gl_rasterizer: Implement transform feedback bindings 5 years ago
ReinUsesLisp 4d711dface 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).
5 years ago
ReinUsesLisp 3dcaa84ba4 shader/transform_feedback: Add host API friendly TFB builder 5 years ago
Fernando Sahmkow 666d431ad8
Merge pull request #3473 from ReinUsesLisp/shader-purge
gl_shader_cache: Rework shader cache and store texture arrays
5 years ago
Rodrigo Locatti 244fe13219
Merge branch 'master' into shader-purge 5 years ago
bunnei b30b1f741d
Merge pull request #3491 from ReinUsesLisp/polygon-modes
gl_rasterizer: Implement polygon modes and fill rectangles
5 years ago
Nguyen Dac Nam 829f424618
nit & remove some optional param 5 years ago
Nguyen Dac Nam a166217480
shader_decode: implement XMAD mode CSfu 5 years ago
makigumo 753bc2026f
fix formatting 5 years ago
makigumo 54681909be
maxwell_to_vk: add vertex format eA2B10G10R10UnormPack32 5 years ago
Nguyen Dac Nam 00607fe1e0
clang-format 5 years ago
Nguyen Dac Nam 325977c0c6
Apply suggestions from code review
Co-Authored-By: Mat M. <mathew1800@gmail.com>
5 years ago
Nguyen Dac Nam 70ff82f72d
shader_decode: BFE add ref of reverse parallel method. 5 years ago
Nguyen Dac Nam 96a4abe12d
shader_decode: implement BREV on BFE
Implement reverse parallel follow: https://graphics.stanford.edu/~seander/bithacks.html#ReverseParallel
5 years ago
Nguyen Dac Nam 93547cac68
shader_bytecode: update BFE instructions struct. 5 years ago
Nguyen Dac Nam 911c56ccef
node_helper: add IBitfieldExtract case 5 years ago
Nguyen Dac Nam 465ba30d08
shader_decode: Reimplement BFE instructions 5 years ago
ReinUsesLisp e24197bb3f gl_shader_decompiler: Initialize gl_Position on vertex shaders 5 years ago
Fernando Sahmkow 00e9ba0603
Merge pull request #3483 from namkazt/patch-1
vk_rasterizer: fix mistype on SetupGraphicsImages
5 years ago
Fernando Sahmkow f159a12820
Merge pull request #3480 from ReinUsesLisp/vk-disabled-ubo
vk_rasterizer: Support disabled uniform buffers
5 years ago
ReinUsesLisp 3a10016e38 gl_shader_decompiler: Add missing {} on smem GLSL emission 5 years ago
ReinUsesLisp 4dcca90ef4 video_core: Implement RGBA16_SNORM
Implement RGBA16_SNORM with the current API. Nothing special here.
5 years ago
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.
5 years ago
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.
5 years ago
ReinUsesLisp 38fe070d78 gl_shader_decompiler: Add layer component to texelFetch
TexelFetch was not emitting the array component generating invalid GLSL.
5 years ago
bunnei ca2d228c9d
Merge pull request #3497 from FernandoS27/microprogfile-extend
Small corrections and features to microprofile
5 years ago
bunnei c21dc36cda
Merge pull request #3496 from vitor-k/remove-enum
framebuffer_layout.h: drop the use of enum for screen dimensions
5 years ago
Fernando Sahmkow 95b804ff05 NVFlinger: Do the microprofile Flip after processing a valid frame. 5 years ago
Fernando Sahmkow 448856695a Microprofile: Allow accessing token. 5 years ago
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.
5 years ago
bunnei fce33adcf1
Merge pull request #3494 from ReinUsesLisp/fix-cs-pipeline
gl_shader_manager: Fix interaction between graphics and compute
5 years ago
Vitor Kiguchi e891ff9a0c framebuffer_layout.h: drop the use of enum for screen dimensions.
+clang format
5 years ago
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.
5 years ago
bunnei 503ebe9b96
Merge pull request #3458 from FearlessTobi/voice-issues
cubeb_sink: Don't discard other channels when performing downmixing
5 years ago
ReinUsesLisp e4bc3c3342 gl_rasterizer: Implement polygon modes and fill rectangles 5 years ago
ReinUsesLisp eb5861e0a2 engines/maxwell_3d: Add TFB registers and store them in shader registry 5 years ago
ReinUsesLisp b1acb4f73f shader/registry: Address feedback 5 years ago
ReinUsesLisp b1061afed9 gl_shader_decompiler: Add identifier to decompiled code 5 years ago
ReinUsesLisp e612242977 gl_shader_decompiler: Roll back to GLSL core 430
RenderDoc won't build shaders if we use GLSL compatibility.
5 years ago
ReinUsesLisp 978172530e const_buffer_engine_interface: Store component types
This is required for Vulkan. Sampling integer textures with float
handles is illegal.
5 years ago
ReinUsesLisp 120f688272 yuzu/loading_screen: Remove unused shader progress mode 5 years ago