ReinUsesLisp
e24197bb3f
gl_shader_decompiler: Initialize gl_Position on vertex shaders
6 years ago
ReinUsesLisp
3a10016e38
gl_shader_decompiler: Add missing {} on smem GLSL emission
6 years ago
ReinUsesLisp
4dcca90ef4
video_core: Implement RGBA16_SNORM
Implement RGBA16_SNORM with the current API. Nothing special here.
6 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.
6 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.
6 years ago
ReinUsesLisp
38fe070d78
gl_shader_decompiler: Add layer component to texelFetch
TexelFetch was not emitting the array component generating invalid GLSL.
6 years ago
Fernando Sahmkow
95b804ff05
NVFlinger: Do the microprofile Flip after processing a valid frame.
6 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.
6 years ago
Vitor Kiguchi
e891ff9a0c
framebuffer_layout.h: drop the use of enum for screen dimensions.
+clang format
6 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.
6 years ago
ReinUsesLisp
e4bc3c3342
gl_rasterizer: Implement polygon modes and fill rectangles
6 years ago
ReinUsesLisp
eb5861e0a2
engines/maxwell_3d: Add TFB registers and store them in shader registry
6 years ago
ReinUsesLisp
b1acb4f73f
shader/registry: Address feedback
6 years ago
ReinUsesLisp
b1061afed9
gl_shader_decompiler: Add identifier to decompiled code
6 years ago
ReinUsesLisp
e612242977
gl_shader_decompiler: Roll back to GLSL core 430
RenderDoc won't build shaders if we use GLSL compatibility.
6 years ago
ReinUsesLisp
978172530e
const_buffer_engine_interface: Store component types
This is required for Vulkan. Sampling integer textures with float
handles is illegal.
6 years ago
ReinUsesLisp
120f688272
yuzu/loading_screen: Remove unused shader progress mode
6 years ago
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.
6 years ago
ReinUsesLisp
66a8a3e887
shader/registry: Cache tessellation state
6 years ago
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).
6 years ago
ReinUsesLisp
e8efd5a901
video_core: Rename "const buffer locker" to "registry"
6 years ago
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.
6 years ago
ReinUsesLisp
1aa75b1081
textures: Fix anisotropy hack
Previous code could generate an anisotropy value way higher than x16.
6 years ago
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.
6 years ago
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.
6 years ago
ReinUsesLisp
e4f9ce0379
vk_rasterizer: Support disabled uniform buffers
6 years ago
ReinUsesLisp
aa6fe3f1aa
maxwell_to_vk: Remove Storage capability for A1B5G5R5U
6 years ago
James Rowe
002d9508a0
input/udp - Add minor error handling to prevent bad input from crashing
6 years ago
James Rowe
fc205a1bc5
Frontend/SDL - Provide proper default for UDP input
When the default file is read in, the settings default value is only used
when the key is missing. As it was, the key existed, but the value was empty string
causing it to accept that as a value to pass into the core
6 years ago
James Rowe
2cdda8c564
input/udp - Dont log on invalid packet received
6 years ago
bunnei
dba112e510
core: hle: Implement separate A32/A64 SVC interfaces.
6 years ago
bunnei
c083ea7d78
core: Implement separate A32/A64 ARM interfaces.
6 years ago
bunnei
6fc485a607
core: loader: Remove check for 32-bit.
6 years ago
bunnei
64facb403e
core: dynarmic: Add CP15 from Citra.
6 years ago
Nguyen Dac Nam
85a4222a8c
nit: move comment to right place.
6 years ago
ReinUsesLisp
735c003a70
video_core/dirty_flags: Address feedback
6 years ago
ReinUsesLisp
ef7f6eb67d
renderer_opengl: Fix edge-case where alpha testing might cull presentation
6 years ago
ReinUsesLisp
a6a350ddc3
gl_texture_cache: Remove blending disable on blits
Blending doesn't affect blits. Rasterizer discard does, update the
commentaries.
6 years ago
ReinUsesLisp
887d5288ef
gl_rasterizer: Don't disable blending on clears
Blending doesn't affect clears.
6 years ago
ReinUsesLisp
ac204754d4
dirty_flags: Deduplicate code between OpenGL and Vulkan
6 years ago
ReinUsesLisp
6669b359a3
vk_rasterizer: Pass Maxwell registers to dynamic updates
6 years ago
ReinUsesLisp
042256c6bb
state_tracker: Remove type traits with named structures
6 years ago
ReinUsesLisp
6ac3eb4d87
vk_state_tracker: Implement dirty flags for stencil properties
6 years ago
ReinUsesLisp
f9df2c6bcd
vk_state_tracker: Implement dirty flags for depth bounds
6 years ago
ReinUsesLisp
cd0e28c9ec
vk_state_tracker: Implement dirty flags for blend constants
6 years ago
ReinUsesLisp
a33870996b
vk_state_tracker: Implement dirty flags for depth bias
6 years ago
ReinUsesLisp
42f1874965
vk_state_tracker: Implement dirty flags for scissors
6 years ago
ReinUsesLisp
1bd95a314f
vk_state_tracker: Initial implementation
Add support for render targets and viewports.
6 years ago
ReinUsesLisp
b1498d2c54
gl_rasterizer: Remove num vertex buffers magic number
6 years ago
ReinUsesLisp
62437943a7
gl_rasterizer: Only apply polygon offset clamp if enabled
6 years ago