ReinUsesLisp
62ab366971
shader/shift: Implement SHIFT_RIGHT_{IMM,R}
Shifts a pair of registers to the right and returns the low register.
6 years ago
ReinUsesLisp
0ff3ea3188
shader/shift: Implement SHF_LEFT_{IMM,R}
Shifts a pair of registers to the left and returns the high register.
6 years ago
ReinUsesLisp
535a9fcf44
gl_rasterizer: Fix instanced draw arrays
glDrawArrays was being used when the draw had a base instance specified.
This commit removes the draw parameters abstraction and fixes the
mentioned issue.
6 years ago
ReinUsesLisp
48cb021c34
yuzu: Implement Vulkan frontend
Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing
bits on Vulkan initialization.
6 years ago
ReinUsesLisp
2ba5519371
settings: Add settings for graphics backend
6 years ago
ReinUsesLisp
1d17aca3f5
shader/other: Fix skips for SYNC and BRK
6 years ago
ReinUsesLisp
1c642262eb
shader/other: Stub S2R LaneId
6 years ago
ReinUsesLisp
25fcf5704b
buffer_cache: Delay buffer destructions
Delay buffer destruction some extra frames to avoid destroying buffers
that are still being used from older frames. This happens on Nvidia's
driver with mailbox.
6 years ago
ReinUsesLisp
1044f51a83
gl_shader_decompiler: Remove UNIMPLEMENTED for gl_PointSize
This was implemented by a previous commit and it's no longer required.
6 years ago
ReinUsesLisp
68c9d670a1
gl_texture_cache: Silence implicit sign cast warnings
6 years ago
ReinUsesLisp
ca61e82f85
shader/bfi: Implement register-constant buffer variant
It's the same as the variant that was implemented, but it takes the
operands from another source.
6 years ago
ReinUsesLisp
098218ff4c
shader/arithmetic: Implement FCMP
Compares the third operand with zero, then selects between the first and
second.
6 years ago
ReinUsesLisp
b3e4461606
texture_cache/surface_base: Fix layered break down
Layered break downs was passing "layer" as a "depth" parameter. This
commit addresses that.
6 years ago
ReinUsesLisp
dbb7b51943
gl_texture_cache: Properly implement depth/stencil sampling
This addresses the long standing issue of compatibility vs. core
profiles on OpenGL, properly implementing depth vs. stencil sampling
depending on the texture swizzle.
6 years ago
ReinUsesLisp
0d8f0ad3b3
shader/memory: Implement ATOM.ADD
ATOM operates atomically on global memory. For now only add ATOM.ADD
since that's what was found in commercial games.
This asserts for ATOM.ADD.S32 (handling the others as unimplemented),
although ATOM.ADD.U32 shouldn't be any different.
This change forces us to change the default type on SPIR-V storage
buffers from float to uint. We could also alias the buffers, but it's
simpler for now to just use uint. While we are at it, abstract the code
to avoid repetition.
6 years ago
Fernando Sahmkow
2e6a1b965d
Shader_IR: Address feedback.
6 years ago
ReinUsesLisp
0340f04b84
shader/memory: Implement STL.S16 and STS.S16
6 years ago
ReinUsesLisp
edd5e604be
shader/memory: Implement unaligned LDL.S16 and LDS.S16
6 years ago
ReinUsesLisp
851d3adc24
shader/memory: Move unaligned load/store to functions
6 years ago
ReinUsesLisp
cff97272d2
shader/memory: Implement LDL.S16 and LDS.S16
6 years ago
Fernando Sahmkow
26b5aa702d
Shader_IR: Change name of TrackSampler function so it does not confuse with the type.
6 years ago
Fernando Sahmkow
8c800cf312
Shader_IR: Corrections, styling and extras.
6 years ago
Fernando Sahmkow
a0cd5fb25f
Shader_IR: Correct Custom Variable assignment.
6 years ago
Fernando Sahmkow
b6d3153e7e
Shader_IR: Propagate bindless index into the GL compiler.
6 years ago
Fernando Sahmkow
c066e472b9
Shader_IR: Implement Injectable Custom Variables to the IR.
6 years ago
Fernando Sahmkow
6d6a963173
GL Backend: Introduce indexed samplers into the GL backend
6 years ago
Fernando Sahmkow
123c7cf307
Shader_IR: deduce size of indexed samplers
6 years ago
Fernando Sahmkow
2b9a30d06b
Shader_IR: Setup Indexed Samplers on the IR
6 years ago
Fernando Sahmkow
f93bff419e
Shader_IR: Implement initial code for tracking indexed samplers.
6 years ago
Fernando Sahmkow
c0c5fa078b
Shader_IR: Address Feedback
6 years ago
Fernando Sahmkow
5fb7881077
Shader_IR: Allow constant access of guest driver.
6 years ago
Fernando Sahmkow
c5fdcd7a2c
Shader_IR: Address Feedback
6 years ago
Fernando Sahmkow
87546c5c19
Guest_driver: Correct compiling errors in GCC.
6 years ago
Fernando Sahmkow
61d2053adb
Shader_IR: Store Bound buffer on Shader Usage
6 years ago
Fernando Sahmkow
e9f3264c8d
GPU: Implement guest driver profile and deduce texture handler sizes.
6 years ago
ReinUsesLisp
84532ba55a
vk_shader_decompiler: Disable default values on unwritten render targets
Some games like The Legend of Zelda: Breath of the Wild assign
render targets without writing them from the fragment shader. This
generates Vulkan validation errors, so silence these I previously
introduced a commit to set "vec4(0, 0, 0, 1)" for these attachments. The
problem is that this is not what games expect. This commit reverts that
change.
6 years ago
ReinUsesLisp
402f69fb3e
gl_shader_cache: Disable fastmath on Nvidia
6 years ago
ReinUsesLisp
aa09f9385c
vk_blit_screen: Address feedback
6 years ago
ReinUsesLisp
fcc78abc3c
vk_blit_screen: Initial implementation
This abstraction takes care of presenting accelerated and
non-accelerated or "framebuffer" images to the Vulkan swapchain.
6 years ago
ReinUsesLisp
6b54252b77
vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-V
Also updates sirit to include atomic instructions.
6 years ago
ReinUsesLisp
1538f99365
gl_state: Use bool instead of GLboolean
This fixes template resolution considering GLboolean an integer instead
of a bool.
6 years ago
ReinUsesLisp
4862fc4970
vk_graphics_pipeline: Set front facing properly
Front face was being forced to a certain value when cull face is
disabled. Set a default value on initialization and drop the forcefully
set front facing value with culling disabled.
6 years ago
ReinUsesLisp
9a3f0d3d1e
vk_rasterizer: Address feedback
6 years ago
ReinUsesLisp
203353a4d6
gl_shader_decompiler: Fix decompilation of condition codes
Use Visit instead of reimplementing it. Fixes unimplemented negations
for condition codes.
6 years ago
ReinUsesLisp
ef4b9a6e39
vk_rasterizer: Implement Vulkan's rasterizer
This abstraction is Vulkan's equivalent to OpenGL's rasterizer. It takes
care of joining all parts of the backend and rendering accordingly on
demand.
6 years ago
ReinUsesLisp
b52586eaaa
renderer_vulkan: Add header as placeholder
6 years ago
ReinUsesLisp
affa8cef27
vk_texture_cache: Address feedback
6 years ago
ReinUsesLisp
c4fd02b47f
shader/memory: Implement ATOMS.ADD.U32
6 years ago
ReinUsesLisp
078193d8bd
format_lookup_table: Fix ZF32_X24S8 component types
Component types for ZF32_X24S8 were using UNORM. Drivers will set FLOAT,
UINT, UNORM, UNORM; causing a format mismatch. This commit addresses
that.
6 years ago
Rodrigo Locatti
ec6681ecf4
vk_texture_cache: Fix typo in commentary
Co-Authored-By: MysticExile <30736337+MysticExile@users.noreply.github.com>
6 years ago