Rodrigo Locatti
2ee2a45da2
Merge pull request #5226 from ReinUsesLisp/c4715-vc
...
video_core: Enforce C4715 (not all control paths return a value)
2020-12-25 03:11:47 -03:00
ReinUsesLisp
4df8b8a0f5
cmake: Always enable Vulkan
...
Removes the unnecesary burden of maintaining separate #ifdef paths and
allows us sharing generic Vulkan code across APIs.
2020-12-24 21:07:24 -03:00
ReinUsesLisp
472e86da85
video_core: Enforce C4715 (not all control paths return a value)
...
Most of the time people write code that always returns a value,
terminates execution, throws an exception, or uses an unconventional
jump primitive.
This is not always true when we build without asserts on mainline builds.
To avoid introducing undefined behavior on our most used builds, enforce
this warning signalling an error and stopping the build from shipping.
2020-12-24 21:01:23 -03:00
ReinUsesLisp
4d7405712a
vk_shader_decompiler: Silence warning when compiling without asserts
2020-12-24 21:01:09 -03:00
bunnei
79deefc29f
Merge pull request #5157 from lioncash/array-dirty
...
maxwell_3d: Remove unused dirty_pointer array
2020-12-15 00:35:47 -08:00
bunnei
275f63f3ea
Merge pull request #5162 from lioncash/copy-shader
...
gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()
2020-12-10 00:11:11 -08:00
Rodrigo Locatti
bbf78a6df7
Merge pull request #5164 from lioncash/contains
...
video_core: Make use of ordered container contains() where applicable
2020-12-07 21:55:51 -03:00
Lioncash
909671a055
video_core: Make use of ordered container contains() where applicable
...
With C++20, we can use the more concise contains() member function
instead of comparing the result of the find() call with the end
iterator.
2020-12-07 16:30:39 -05:00
Lioncash
4d6a2247f2
ast: Improve string concat readability in operator()
...
Provides an in-place format string to make it more pleasant to read.
2020-12-07 16:15:28 -05:00
Lioncash
10fe8026a9
gl_shader_decompiler: Elide unnecessary copies within DeclareConstantBuffers()
...
Resolves a -Wrange-loop-analysis warning.
2020-12-07 14:01:52 -05:00
bunnei
72378f4f6c
Merge pull request #5149 from comex/xx-map-interval
...
map_interval: Change field order to address uninitialized field warning
2020-12-07 10:14:02 -08:00
Rodrigo Locatti
73f3e1cbf3
Merge pull request #5159 from lioncash/move-amend
...
shader_ir: std::move node within DeclareAmend()
2020-12-07 04:58:01 -03:00
Lioncash
4704a22c3f
buffer_block: Mark interface as nodiscard where applicable
...
Prevents logic errors from occurring from unused values.
2020-12-07 01:53:40 -05:00
Lioncash
7caec76970
buffer_block: Remove unnecessary includes
...
Reduces the amount of dependencies the header pulls in.
2020-12-07 01:52:16 -05:00
Lioncash
0e7ead8b49
shader_ir: std::move node within DeclareAmend()
...
Same behavior, but elides an unnecessary atomic reference count
increment and decrement.
2020-12-07 00:51:03 -05:00
Lioncash
ea0e85b869
video_core: Remove unnecessary enum class casting in logging messages
...
fmt now automatically prints the numeric value of an enum class member
by default, so we don't need to use casts any more.
Reduces the line noise a bit.
2020-12-07 00:41:50 -05:00
LC
f2ca2f4412
Merge pull request #5152 from comex/xx-override
...
renderer_vulkan: Add missing `override` specifier
2020-12-07 00:07:17 -05:00
LC
60ba2d11df
Merge pull request #5136 from lioncash/video-shadow3
...
video_core: Resolve more variable shadowing scenarios pt.3
2020-12-07 00:06:53 -05:00
Lioncash
a006a490f5
maxwell_3d: Move member variables to end of class
...
Follows our established coding style.
2020-12-06 20:56:00 -05:00
Lioncash
121f585d17
maxwell_3d: Resolve -Wdocumentation warning
...
Removes a documentation comment for a non-existent member.
2020-12-06 20:48:12 -05:00
Lioncash
05038223a7
maxwell_3d: Remove unused dirty_pointer array
...
This is unused and removing it shrinks the structure by 3584 bytes.
2020-12-06 20:46:57 -05:00
comex
2451a59949
renderer_vulkan: Add missing override
specifier
2020-12-06 18:38:52 -05:00
comex
ef14bbc69d
map_interval: Change field order to address uninitialized field warning
...
Clang complains about `new_chunk`'s constructor using the
then-uninitialized `first_chunk` (even though it's just to get a pointer
into it).
2020-12-06 18:37:23 -05:00
comex
38f4b34610
video_core: Adjust NUM
macro to avoid Clang warning
...
The previous definition was:
#define NUM(field_name) (sizeof(Maxwell3D::Regs::field_name) / sizeof(u32))
In cases where `field_name` happens to refer to an array, Clang thinks
`sizeof(an array value) / sizeof(a type)` is an instance of the idiom
where `sizeof` is used to compute an array length. So it thinks the
type in the denominator ought to be the array element type, and warns if
it isn't, assuming this is a mistake.
In reality, `NUM` is not used to get array lengths at all, so there is no
mistake. Silence the warning by applying Clang's suggested workaround
of parenthesizing the denominator.
2020-12-06 18:24:16 -05:00
comex
20f4c9175a
maxwell_dma: Rename RenderEnable::Mode::FALSE and TRUE to avoid name conflict
...
On Apple platforms, FALSE and TRUE are defined as macros by
<mach/boolean.h>, which is included by various system headers.
Note that there appear to be no actual users of the names to fix up.
2020-12-05 17:59:02 -05:00
Lioncash
5db4785535
video_core: Resolve more variable shadowing scenarios pt.3
...
Cleans out the rest of the occurrences of variable shadowing and makes
any further occurrences of shadowing compiler errors.
2020-12-05 16:02:23 -05:00
Lioncash
341083a5e1
video_core: Resolve more variable shadowing scenarios pt.2
...
Migrates the video core code closer to enabling variable shadowing
warnings as errors.
This primarily sorts out shadowing occurrences within the Vulkan code.
2020-12-05 06:39:35 -05:00
bunnei
32984bf3e1
Merge pull request #5124 from lioncash/video-shadow
...
video_core: Resolve more variable shadowing scenarios
2020-12-05 00:48:08 -08:00
bunnei
0c55e7820c
Merge pull request #5127 from FearlessTobi/port-5617
...
Port citra-emu/citra#5617 : "Fix telemetry-related exit crash from use-after-free"
2020-12-04 21:57:40 -08:00
FearlessTobi
a8fce80339
Fix telemetry-related exit crash from use-after-free
...
Co-Authored-By: xperia64 <xperia64@users.noreply.github.com>
2020-12-05 02:42:50 +01:00
Lioncash
4d9a8ef8f1
codec: Remove deprecated usage of AVCodecContext::refcounted_frames
...
This was only necessary for use with the
avcodec_decode_video2/avcoded_decode_audio4 APIs which are also
deprecated.
Given we use avcodec_send_packet/avcodec_receive_frame, this isn't
necessary, this is even indicated directly within the FFmpeg API changes
document here on 2017-09-26:
https://github.com/FFmpeg/FFmpeg/blob/master/doc/APIchanges#L410
This prevents our code from breaking whenever we update to a newer
version of FFmpeg in the future if they ever decide to fully remove this
API member.
2020-12-04 16:23:13 -05:00
Lioncash
2f181b6a90
video_core: Resolve more variable shadowing scenarios
...
Resolves variable shadowing scenarios up to the end of the OpenGL code
to make it nicer to review. The rest will be resolved in a following
commit.
2020-12-04 16:19:09 -05:00
bunnei
70812df905
Merge pull request #5064 from lioncash/node-shadow
...
node: Eliminate variable shadowing
2020-12-04 00:45:33 -08:00
Lioncash
9c0408605e
node: Mark member functions as [[nodiscard]] where applicable
...
Prevents logic bugs from accidentally ignoring the return value.
2020-12-03 16:03:34 -05:00
Lioncash
62d77b943a
node: Eliminate variable shadowing
2020-12-03 15:59:38 -05:00
Lioncash
92a5b7b388
vp9/vic: Resolve pessimizing moves
...
Removes the usage of moves that don't result in behavior different from
a copy, or otherwise would prevent copy elision from occurring.
2020-12-03 12:33:07 -05:00
bunnei
14c58ebe23
Merge pull request #5002 from ameerj/nvdec-frameskip
...
nvdec: Queue and display all decoded frames, cleanup decoders
2020-12-02 15:55:15 -08:00
bunnei
ea356e8f26
Merge pull request #5013 from ReinUsesLisp/vk-early-z
...
vk_shader_decompiler: Implement force early fragment tests
2020-11-30 11:11:07 -08:00
comex
200a0bf755
codec: Fix pragma GCC diagnostic pop
missing corresponding push
2020-11-26 16:35:42 -05:00
ReinUsesLisp
fe1efa971f
vk_shader_decompiler: Implement force early fragment tests
...
Force early fragment tests when the 3D method is enabled.
The established pipeline cache takes care of recompiling if needed.
This is implemented only on Vulkan to avoid invalidating the shader
cache on OpenGL.
2020-11-26 17:52:26 -03:00
ameerj
0a89ea1ca7
Limit queue size to 10 frames
...
Workaround for ZLA, which seems to decode and queue twice as many frames as it displays.
2020-11-26 14:04:06 -05:00
bunnei
a20ffebc80
Merge pull request #4975 from comex/invalid-syncpoint-id
...
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
2020-11-26 01:27:24 -08:00
ameerj
aa2d90b35c
Address PR feedback
...
remove some redundant moves, make deleter match naming guidelines.
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-11-26 00:18:26 -05:00
Rodrigo Locatti
d9c847bdde
Merge pull request #4976 from comex/poll-events
...
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
2020-11-25 20:44:53 -03:00
ameerj
5beb990349
Queue decoded frames, cleanup decoders
2020-11-25 17:10:44 -05:00
ameerj
942dff1fd8
cleanup unneeded comments and newlines
2020-11-25 14:46:08 -05:00
ameerj
a981e7d69c
Refactor MaxwellToSpirvComparison. Use Common::BitCast
...
Co-Authored-By: Rodrigo Locatti <reinuseslisp@airmail.cc>
2020-11-25 00:33:20 -05:00
ameerj
7d48b8be54
Address PR feedback from Rein
2020-11-24 22:46:45 -05:00
ameerj
47f8e43c22
vulkan_renderer: Alpha Test Culling Implementation
...
Used by various textures in many titles, e.g. SSBU menu.
2020-11-24 22:46:45 -05:00
comex
00f2c7fbb9
nvdrv, video_core: Don't index out of bounds when given invalid syncpoint ID
...
- Use .at() instead of raw indexing when dealing with untrusted indices.
- For the special case of WaitFence with syncpoint id UINT32_MAX,
instead of crashing, log an error and ignore. This is what I get when
running Super Mario Maker 2.
2020-11-24 12:59:41 -05:00