aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2020-09-17decode/image: Eliminate switch fallthrough in DecodeImage()Lioncash
Fortunately this didn't result in any issues, given the block that code was falling through to would immediately break.
2020-09-16video_core: Enforce -Werror=switchReinUsesLisp
This forces us to fix all -Wswitch warnings in video_core.
2020-09-06video_core: Remove all Core::System references in rendererReinUsesLisp
Now that the GPU is initialized when video backends are initialized, it's no longer needed to query components once the game is running: it can be done when yuzu is booting. This allows us to pass components between constructors and in the process remove all Core::System references in the video backend.
2020-09-03Merge pull request #4611 from lioncash/xbyak2bunnei
externals: Update Xbyak to 5.96
2020-09-03Merge pull request #4575 from lioncash/asyncbunnei
async_shaders: Mark getters as const member functions
2020-08-30vk_device: Fix driver id check on AMD for VK_EXT_extended_dynamic_stateReinUsesLisp
'driver_id' can only be known on Vulkan 1.1 after creating a logical device. Move the driver id check to disable VK_EXT_extended_dynamic_state after the logical device is successfully initialized. The Vulkan device will have the extension enabled but it will not be used.
2020-08-30externals: Update Xbyak to 5.96Lioncash
I made a request on the Xbyak issue tracker to allow some constructors to be constexpr in order to avoid static constructors from needing to execute for some of our register constants. This request was implemented, so this updates Xbyak so that we can make use of it.
2020-08-28vk_device: Blacklist AMD proprietary from VK_EXT_extended_dynamic_stateReinUsesLisp
Vertex binding's <stride> is bugged on AMD's proprietary drivers when using VK_EXT_extended_dynamic_state. Blacklist it for now while we investigate how to report this issue to AMD.
2020-08-27Merge pull request #4524 from lioncash/memory-logbunnei
shader/memory: Amend UNIMPLEMENTED_IF_MSG without a message
2020-08-26Merge pull request #4569 from ReinUsesLisp/glsl-cmakebunnei
video_core/host_shaders: Add CMake integration for string shaders
2020-08-26Merge pull request #4555 from ReinUsesLisp/fix-primitive-topologybunnei
vk_state_tracker: Fix primitive topology
2020-08-26memory_manager: Make use of [[nodiscard]] in the interfaceLioncash
2020-08-26memory_manager: Make operator+ const qualifiedLioncash
This doesn't modify member state, so it can be marked as const.
2020-08-25Merge pull request #4574 from lioncash/const-fnbunnei
memory_manager: Mark IsGranularRange() as a const member function
2020-08-24Merge pull request #4542 from ReinUsesLisp/gpu-init-basebunnei
video_core: Initialize renderer with a GPU
2020-08-24async_shaders: Mark getters as const member functionsLioncash
While we're at it, we can also mark them as nodiscard.
2020-08-24memory_manager: Mark IsGranularRange() as a const member functionLioncash
This doesn't modify internal member state, so it can be marked as const.
2020-08-23gl_texture_cache: Take std::string by reference in DecorateViewName()Lioncash
LabelGLObject takes a string_view, so we don't need to make copies of the std::string.
2020-08-23video_core/fence_manager: Remove unnecessary includesLioncash
Avoids pulling in unnecessary things that can cause rebuilds when they aren't required.
2020-08-23video_core/host_shaders: Add CMake integration for string shadersReinUsesLisp
Add the necessary CMake code to copy the contents in a string source shader (GLSL or GLASM) to a header file then consumed by video_core files. This allows editting GLSL in its own files without having to maintain them in source files. For now, only OpenGL presentation shaders are moved, but we can add GLASM presentation shaders and static SPIR-V generation through glslangValidator in the future.
2020-08-23gl_shader_util: Use std::string_view instead of star pointerReinUsesLisp
This allows us passing any type of string and hinting the length of the string to the OpenGL driver.
2020-08-22video_core: Initialize renderer with a GPUReinUsesLisp
Add an extra step in GPU initialization to be able to initialize render backends with a valid GPU instance.
2020-08-21Merge pull request #4521 from lioncash/optionalcachebunnei
gl_shader_disk_cache: Make use of std::nullopt where applicable
2020-08-21Merge pull request #4523 from lioncash/self-assignbunnei
macro-interpreter: Resolve -Wself-assign-field warning
2020-08-20vk_state_tracker: Fix primitive topologyReinUsesLisp
State track the current primitive topology with a regular comparison instead of using dirty flags. This fixes a bug in dirty flags for this particular state and it also avoids unnecessary state changes as this property is stored in a frequently changed bit field.
2020-08-20Merge pull request #4546 from lioncash/telemetrybunnei
common/telemetry: Migrate namespace into the Common namespace
2020-08-18Merge pull request #4522 from lioncash/vulk-copybunnei
vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()
2020-08-18common/telemetry: Migrate namespace into the Common namespaceLioncash
Migrates the Telemetry namespace into the Common namespace to make the code consistent with the rest of our common code.
2020-08-17Merge pull request #4535 from lioncash/fileutilbunnei
common/fileutil: Convert namespace to Common::FS
2020-08-17Merge pull request #4443 from ameerj/vk-async-shadersDavid
vulkan_renderer: Async shader/graphics pipeline compilation
2020-08-17Merge pull request #4520 from lioncash/pessimizeDavid
async_shaders: Resolve -Wpessimizing-move warning
2020-08-16Remove unneeded newlines, optional Registry in shader paramsameerj
Addressing feedback from Rodrigo
2020-08-16Morph: Update worker allocation commentAmeer J
Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
2020-08-16move thread 1/4 count computation into allocate workers methodameerj
2020-08-16Address feedback, add shader compile notifier, update setting textameerj
2020-08-16Vk Async Worker directly emplace in cacheameerj
2020-08-16Address feedback. Bruteforce delete duplicatesameerj
2020-08-16Vk Async pipeline compilationameerj
2020-08-16common/fileutil: Convert namespace to Common::FSLioncash
Migrates a remaining common file over to the Common namespace, making it consistent with the rest of common files. This also allows for high-traffic FS related code to alias the filesystem function namespace as namespace FS = Common::FS; for more concise typing.
2020-08-16Merge pull request #4528 from lioncash/discardbunnei
common: Make use of [[nodiscard]] where applicable
2020-08-16Merge pull request #4519 from lioncash/semibunnei
maxwell_3d: Resolve -Wextra-semi warning
2020-08-15common/compression: Roll back std::span changesLioncash
Seems like all compilers don't support std::span yet.
2020-08-15Merge pull request #4416 from lioncash/spanbunnei
lz4_compression/zstd_compression: Make use of std::span in interfaces
2020-08-14Merge pull request #4453 from ReinUsesLisp/block-to-linearbunnei
textures/decoders: Fix block linear to pitch copies
2020-08-14shader/memory: Amend UNIMPLEMENTED_IF_MSG without a messageLioncash
We need to provide a message for this variant of the macro, so we can simply log out the type being used.
2020-08-14macro-interpreter: Resolve -Wself-assign-field warningLioncash
This was assigning the field to itself, which is a no-op. The size doesn't change between its initial assignment and this one, so this is a safe change to make.
2020-08-14vulkan/wrapper: Avoid unnecessary copy in EnumerateInstanceExtensionProperties()Lioncash
Given this is implicitly creating a std::optional, we can move the vector into it.
2020-08-14gl_shader_disk_cache: Make use of std::nullopt where applicableLioncash
Allows the compiler to avoid unnecessarily zeroing out the internal buffer of std::optional on some implementations.
2020-08-14async_shaders: Resolve -Wpessimizing-move warningLioncash
Prevents pessimization of the move constructor (which thankfully didn't actually happen in practice here, given std::thread isn't copyable).
2020-08-14maxwell_3d: Resolve -Wextra-semi warningLioncash
Semicolons after a function definition aren't necessary.