ReinUsesLisp
d26e74f0a3
shader/memory: Implement STL.S16 and STS.S16
6 years ago
ReinUsesLisp
9a2cdf8520
shader/memory: Implement unaligned LDL.S16 and LDS.S16
6 years ago
ReinUsesLisp
531f25a037
shader/memory: Move unaligned load/store to functions
6 years ago
ReinUsesLisp
96638f57c9
shader/memory: Implement LDL.S16 and LDS.S16
6 years ago
Fernando Sahmkow
806f569143
Shader_IR: Change name of TrackSampler function so it does not confuse with the type.
6 years ago
Fernando Sahmkow
3919b7b8a9
Shader_IR: Corrections, styling and extras.
6 years ago
Fernando Sahmkow
37b8504faa
Shader_IR: Correct Custom Variable assignment.
6 years ago
Fernando Sahmkow
7c530e0666
Shader_IR: Propagate bindless index into the GL compiler.
6 years ago
Fernando Sahmkow
3c34678627
Shader_IR: Implement Injectable Custom Variables to the IR.
6 years ago
Fernando Sahmkow
2b02f29a2d
GL Backend: Introduce indexed samplers into the GL backend
6 years ago
Fernando Sahmkow
037ea431ce
Shader_IR: deduce size of indexed samplers
6 years ago
Fernando Sahmkow
f4603d23c5
Shader_IR: Setup Indexed Samplers on the IR
6 years ago
Fernando Sahmkow
603c861532
Shader_IR: Implement initial code for tracking indexed samplers.
6 years ago
Fernando Sahmkow
64496f2456
Shader_IR: Address Feedback
6 years ago
Fernando Sahmkow
b97608ca64
Shader_IR: Allow constant access of guest driver.
6 years ago
Fernando Sahmkow
dc5cfa8d28
Shader_IR: Address Feedback
6 years ago
Fernando Sahmkow
74aa7de5e3
Guest_driver: Correct compiling errors in GCC.
6 years ago
Fernando Sahmkow
1e4b6bef6f
Shader_IR: Store Bound buffer on Shader Usage
6 years ago
Fernando Sahmkow
c921e496eb
GPU: Implement guest driver profile and deduce texture handler sizes.
6 years ago
ReinUsesLisp
1690f1adba
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
3ce28342a2
gl_shader_cache: Disable fastmath on Nvidia
6 years ago
ReinUsesLisp
a665581684
vk_blit_screen: Address feedback
6 years ago
ReinUsesLisp
f5dfe68a94
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
b2c976ad0e
vk_shader_decompiler: Implement UAtomicAdd (ATOMS) on SPIR-V
Also updates sirit to include atomic instructions.
6 years ago
ReinUsesLisp
d110a371bb
gl_state: Use bool instead of GLboolean
This fixes template resolution considering GLboolean an integer instead
of a bool.
6 years ago
ReinUsesLisp
94915d4ea1
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
09b1d762d7
vk_rasterizer: Address feedback
6 years ago
ReinUsesLisp
f34e519da3
gl_shader_decompiler: Fix decompilation of condition codes
Use Visit instead of reimplementing it. Fixes unimplemented negations
for condition codes.
6 years ago
ReinUsesLisp
fe5356d223
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
38e789c761
renderer_vulkan: Add header as placeholder
6 years ago
ReinUsesLisp
f09cd52980
vk_texture_cache: Address feedback
6 years ago
ReinUsesLisp
63ba41a26d
shader/memory: Implement ATOMS.ADD.U32
6 years ago
ReinUsesLisp
0caab54b5d
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
82e1285c1e
vk_texture_cache: Fix typo in commentary
Co-Authored-By: MysticExile <30736337+MysticExile@users.noreply.github.com>
6 years ago
Lioncash
9e874898f5
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
c375d735e6
gl_state: Implement PROGRAM_POINT_SIZE
For gl_PointSize to have effect we have to activate
GL_PROGRAM_POINT_SIZE.
6 years ago
Lioncash
7af56dfa76
renderer_opengl/utils: Remove unused header inclusions
Nothing from these headers are used, so they can be removed.
6 years ago
Lioncash
06d30fbcca
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
66a1c777c9
gl_texture_cache: Use local variables to simplify DownloadTexture
6 years ago
ReinUsesLisp
cdb00546f0
gl_texture_cache: Fix format for RGBX16F
6 years ago
ReinUsesLisp
2d09467f6f
gl_texture_cache: Use Snorm internal format for RG8S
6 years ago
ReinUsesLisp
02624c35ec
gl_texture_cache: Use Snorm internal format for ABGR8S
6 years ago
Lioncash
a1eee1749e
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
f10ea944e0
gl_shader_cache: Remove unused STAGE_RESERVED_UBOS constant
Given this isn't used, this can be removed entirely.
6 years ago
Lioncash
4cd5ad90f3
gl_shader_cache: std::move entries in CachedShader constructor
Avoids several reallocations of std::vector instances where applicable.
6 years ago
Lioncash
15a6840e7a
gl_shader_cache: Remove unused entries variable in BuildShader()
Eliminates a few unnecessary constructions of std::vectors.
6 years ago
ReinUsesLisp
09e17fbb0f
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
2b2712fa95
texture_cache/surface_params: Make GetNumLayers public
6 years ago
Rodrigo Locatti
b1138e5ea1
vk_compute_pass: Address feedback
Comment hardcoded SPIR-V modules.
6 years ago
ReinUsesLisp
3d46709b7f
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