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
Lioncash
e481a676de
maxwell_3d: Make dirty_pointers private
This isn't used outside of the class itself, so we can make it private
for the time being.
6 years ago
ReinUsesLisp
1692dab134
gl_state: Implement PROGRAM_POINT_SIZE
For gl_PointSize to have effect we have to activate
GL_PROGRAM_POINT_SIZE.
6 years ago
Lioncash
6ab1c2a461
renderer_opengl/utils: Remove unused header inclusions
Nothing from these headers are used, so they can be removed.
6 years ago
Lioncash
0cb80ac6dc
renderer_opengl/utils: Forward declare private structs
Keeps the definitions hidden and allows changes to the structs without
needing to recompile all users of classes containing said structs.
6 years ago
ReinUsesLisp
dcde4b9186
gl_texture_cache: Use local variables to simplify DownloadTexture
6 years ago
ReinUsesLisp
50e0bb04b3
gl_texture_cache: Fix format for RGBX16F
6 years ago
ReinUsesLisp
549ddc898e
gl_texture_cache: Use Snorm internal format for RG8S
6 years ago
ReinUsesLisp
d45f4d62fb
gl_texture_cache: Use Snorm internal format for ABGR8S
6 years ago
Lioncash
a4792176ce
control_flow: Silence -Wreorder warning for CFGRebuildState
Organizes the initializer list in the same order that the variables
would actually be initialized in.
6 years ago
Lioncash
b3810c5a5f
gl_shader_cache: Remove unused STAGE_RESERVED_UBOS constant
Given this isn't used, this can be removed entirely.
6 years ago
Lioncash
f0ed92d90d
gl_shader_cache: std::move entries in CachedShader constructor
Avoids several reallocations of std::vector instances where applicable.
6 years ago
Lioncash
15b0cdd6bb
gl_shader_cache: Remove unused entries variable in BuildShader()
Eliminates a few unnecessary constructions of std::vectors.
6 years ago
ReinUsesLisp
f47fdb4b09
vk_texture_cache: Implement generic texture cache on Vulkan
It currently ignores PBO linearizations since these should be dropped as
soon as possible on OpenGL.
6 years ago
ReinUsesLisp
6fd13dc3b8
texture_cache/surface_params: Make GetNumLayers public
6 years ago
Rodrigo Locatti
e5f1158dac
vk_compute_pass: Address feedback
Comment hardcoded SPIR-V modules.
6 years ago
ReinUsesLisp
18c91ef3e2
maxwell_to_vk: Implement GL_CLAMP hacking Nvidia's driver
Nvidia's driver defaults invalid enumerations to GL_CLAMP. Vulkan
doesn't expose GL_CLAMP through its API, but we can hack it on Nvidia's
driver using the internal driver defaults.
6 years ago