Lioncash
074f382a39
video_core: Remove unused variables
Silences several compiler warnings about unused variables.
6 years ago
Lioncash
09172c0347
vk_rasterizer: Remove unused variable in Clear()
The relevant values are already assigned further down in the lambda, so
this can be removed entirely.
6 years ago
Lioncash
991e4dc0b3
video_core: Allow copy elision to take place where applicable
Removes const from some variables that are returned from functions, as
this allows the move assignment/constructors to execute for them.
6 years ago
Lioncash
1842c5df37
buffer_cache: Eliminate redundant map lookup in MarkRegionAsWritten()
We can make use of emplace()'s return value to determine whether or not
we need to perform an increment.
emplace() performs no insertion if an element already exist, so this can
eliminate a find() call.
6 years ago
ReinUsesLisp
76bd3a8843
gl_arb_decompiler: Use NV_shader_buffer_{load,store} on assembly shaders
NV_shader_buffer_{load,store} is a 2010 extension that allows GL applications
to use what in Vulkan is known as physical pointers, this is basically C
pointers. On GLASM these is exposed through the LOAD/STORE/ATOM
instructions.
Up until now, assembly shaders were using NV_shader_storage_buffer_object.
These work fine, but have a (probably unintended) limitation that forces
us to have the limit of a single stage for all shader stages. In contrast,
with NV_shader_buffer_{load,store} we can pass GPU addresses to the
shader through local parameters (GLASM equivalent uniform constants, or
push constants on Vulkan). Local parameters have the advantage of being
per stage, allowing us to generate code without worrying about binding
overlaps.
6 years ago
David Marcec
578f84cdf4
Fix style issues
6 years ago
ReinUsesLisp
1e30bdee64
vk_device: Fix build error on old MSVC versions
Designated initializers on old MSVC versions fail to build when they
take the address of a constant.
6 years ago
David Marcec
bab9531cc6
Remove duplicate config
6 years ago
David Marcec
73118715ca
Use conditional var
6 years ago
David Marcec
95b545df7c
Drop max workers from 8->2 for testing
6 years ago
David Marcec
74d8c9e0dd
Rebase for per game settings
6 years ago
David Marcec
a4e811af27
async shaders
6 years ago
Lioncash
62ad951689
macro_hle: Remove unnecessary static keywords
These functions are already in an anonymous namespace which makes the
functions internally linked.
6 years ago
Lioncash
68f92e780d
macro_hle: Simplify shift expression in HLE_771BB18C62444DA0()
Given the expression involves a 32-bit value, this simplifies down to
just: 0x3ffffff. This is likely a remnant from testing that was never
cleaned up.
Resolves a -Wshift-overflow warning.
6 years ago
Lioncash
a18530237c
macro_hle: Remove unnecessary std::make_pair calls
The purpose of make_pair is generally to deduce the types within the
pair without explicitly specifying the types, so these usages were
generally unnecessary, particularly when the type is enforced by the
array declaration.
6 years ago
Lioncash
38c36545d5
macro: Resolve missing parameter in doxygen comment
Resolves a -Wdocumentation warning.
6 years ago
Lioncash
daa19f1894
wrapper: Make use of designated initializers where applicable
6 years ago
Lioncash
28c7c4e06c
vk_texture_cache: Make use of designated initializers where applicable
6 years ago
Lioncash
6ae380626f
vk_texture_cache: Amend mismatched access masks and indices in UploadBuffer
Discovered while converting relevant parts of the codebase over to
designated initializers.
6 years ago
Lioncash
f683a6e7e0
vk_swapchain: Make use of designated initializers where applicable
6 years ago
Lioncash
98e5d57908
vk_stream_buffer: Make use of designated initializers where applicable
6 years ago
Lioncash
947749d35d
vk_staging_buffer_pool: Make use of designated initializers where applicable
6 years ago
Lioncash
4694ea8a99
vk_shader_util: Make use of designated initializers where applicable
6 years ago
Lioncash
683403d1cf
vk_scheduler: Make use of designated initializers where applicable
6 years ago
Lioncash
a6f0caeeb9
vk_sampler_cache: Make use of designated initializers where applicable
6 years ago
Lioncash
faba1ede49
vk_resource_manager: Make use of designated initializers where applicable
6 years ago
Lioncash
96a6d95c9c
vk_renderpass_cache: Make use of designated initializers where applicable
6 years ago
Lioncash
71a085c84f
vk_rasterizer: Make use of designated initializers where applicable
6 years ago
Lioncash
42dadb45ac
vk_query_cache: Make use of designated initializers where applicable
6 years ago
Lioncash
fe2c963646
vk_pipeline_cache: Make use of designated initializers where applicable
6 years ago
Lioncash
8ffbe8e7c9
vk_memory_manager: Make use of designated initializers where applicable
6 years ago
Lioncash
6b6af38615
vk_image: Make use of designated initializers where applicable
6 years ago
Lioncash
f734fa9d78
vk_descriptor_pool: Make use of designated initializers where applicable
6 years ago
Lioncash
cc47d8b0ce
vk_graphics_pipeline: Resolve narrowing warnings
For whatever reason, VK_TRUE and VK_FALSE aren't defined as having a
VkBool32 type, so we need to cast to it explicitly.
6 years ago
Lioncash
0b4ecb96d4
vk_compute_pipeline: Make use of designated initializers where applicable
6 years ago
Lioncash
7818dcd562
vk_compute_pass: Make use of designated initializers where applicable
Note: Some barriers can't be converted over yet, as they ICE MSVC.
6 years ago
Lioncash
5dc1c68a04
vk_buffer_cache: Make use of designated initializers where applicable
Note: An array within CopyFrom() cannot be converted over yet, as it
ICEs MSVC when converted over.
6 years ago
ReinUsesLisp
c5391180e6
decode/other: Implement S2R.LaneId
This maps to host's thread id.
- Fixes graphical issues on Paper Mario.
6 years ago
ReinUsesLisp
021aca9492
gl_arb_decompiler: Execute BAR even when inside control flow
Unlike GLSL, GLASM allows us to call BAR inside control flow.
- Fixes graphical artifacts in Paper Mario.
6 years ago
ReinUsesLisp
03bb8691b7
renderer_{opengl,vulkan}: Clamp shared memory to host's limit
This stops shaders from failing to build when the exceed host's shared
memory size limit. An error is logged.
6 years ago
Lioncash
7d3ba83dde
shader_cache: Make use of std::erase_if
Now that we use C++20, we can also make use of std::erase_if instead of
needing to do the erase-remove idiom.
6 years ago
Lioncash
8d7fa4e28c
vk_device: Make use of designated initializers where applicable
Avoids redundant repetitions of variable names, and allows assignment
all in one statement.
6 years ago
Lioncash
869f37566e
vk_graphics_pipeline: Make use of designated initializers where applicable
Avoids redundant variable name repetitions.
6 years ago
ReinUsesLisp
a068ce4c32
video_core: Rearrange pixel format names
Normalizes pixel format names to match Vulkan names. Previous to this
commit pixel formats had no convention, leading to confusion and
potential bugs.
6 years ago
ReinUsesLisp
44fb3cf920
video_core: Fix DXT4 and RGB565
6 years ago
ReinUsesLisp
716ab93365
video_core/format_lookup_table: Add formats with existing PixelFormat
6 years ago
ReinUsesLisp
46c327d2d9
video_core: Fix B5G6R5_UNORM render target format
6 years ago
ReinUsesLisp
12937875a5
video_core: Fix B5G6R5U
6 years ago
ReinUsesLisp
ac8eeffbbc
video_core: Implement RGBA32_SINT render target
6 years ago
ReinUsesLisp
59610b129f
video_core: Implement RGBA32_SINT render target
6 years ago