- Dec 30, 2019
-
-
Fernando Sahmkow authored
vk_image: Add an image object abstraction
-
Rodrigo Locatti authored
-
Fernando Sahmkow authored
vk_staging_buffer_pool: Add a staging pool for temporary operations
-
- Dec 29, 2019
-
-
Rodrigo Locatti authored
-
- Dec 28, 2019
-
-
Fernando Sahmkow authored
gl_rasterizer: Allow rendering without fragment shader
-
- Dec 27, 2019
-
-
bunnei authored
shader/texture: Implement AOFFI and PTP for TLD4 and TLD4S
-
- Dec 26, 2019
-
-
ReinUsesLisp authored
Rendering without a fragment shader is usually used in depth-only passes.
-
- Dec 25, 2019
-
-
ReinUsesLisp authored
The job of this abstraction is to provide staging buffers for temporary operations. Think of image uploads or buffer uploads to device memory. It automatically deletes unused buffers.
-
ReinUsesLisp authored
This object's job is to contain an image and manage its transitions. Since Nvidia hardware doesn't know what a transition is but Vulkan requires them anyway, we have to state track image subresources individually. To avoid the overhead of tracking each subresource in images with many subresources (think of cubemap arrays with several mipmaps), this commit tracks when subresources have diverged. As long as this doesn't happen we can check the state of the first subresource (that will be shared with all subresources) and update accordingly. Image transitions are deferred to the scheduler command buffer.
-
Fernando Sahmkow authored
fixed_pipeline_state: Define structure and loaders
-
bunnei authored
gl_rasterizer: Implement RASTERIZE_ENABLE
-
- Dec 24, 2019
-
-
ReinUsesLisp authored
Marks as noexcept Hash, operator== and operator!= for consistency.
-
- Dec 23, 2019
-
-
ReinUsesLisp authored
The intention behind this hasheable structure is to describe the state of fixed function pipeline state that gets compiled to a single graphics pipeline state object. This is all dynamic state in OpenGL but Vulkan wants it in an immutable state, even if hardware can edit it freely. In this commit the structure is defined in an optimized state (it uses booleans, has paddings and many data entries that can be packed to single integers). This is intentional as an initial implementation that is easier to debug, implement and review. It will be optimized in later stages, or it might change if Vulkan gets more dynamic states.
-
ReinUsesLisp authored
-
- Dec 22, 2019
-
-
bunnei authored
gl_shader_cache: Style changes
-
bunnei authored
vk_resource_manager: Catch device losses and other changes
-
bunnei authored
Texture Cache: Add HLE methods for building 3D textures
-
Fernando Sahmkow authored
vk_shader_decompiler: Misc changes
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
-
Fernando Sahmkow authored
This commit adds a series of HLE methods for handling 3D textures in general. This helps games that generate 3D textures on every frame and may reduce loading times for certain games.
-
Fernando Sahmkow authored
renderer_vulkan/shader: Add helper GLSL shaders
-
Fernando Sahmkow authored
vk_shader_decompiler: Use Visit instead of reimplementing it
-
bunnei authored
shader/memory: Implement LDG.U8 and unaligned U8 loads
-
- Dec 21, 2019
-
-
ReinUsesLisp authored
Remove false commentary. Not dividing by 4 the size of shared memory is not a hack; it describes the number of integers, not bytes. While we are at it sort the generated code to put preprocessor lines on the top.
-
ReinUsesLisp authored
-
ReinUsesLisp authored
ExprCondCode visit implements the generic Visit. Use this instead of that one. As an intended side effect this fixes unwritten memory usages in cases when a negation of a condition code is used.
-
- Dec 20, 2019
- Dec 19, 2019
-
-
ReinUsesLisp authored
-
ReinUsesLisp authored
Notify the programmer when a request to release a fence is invalid because the fence is already free.
-
ReinUsesLisp authored
This allows us to put VKFenceWatch inside a std::vector without storing it in heap. On move we have to signal the fences where the new protected resource is, adding some overhead.
-
ReinUsesLisp authored
VK_NV_device_diagnostic_checkpoints allows us to push data to a Vulkan queue and then query it even after a device loss. This allows us to push the current pipeline object and see what was the call that killed the device.
-
ReinUsesLisp authored
When full decompilation was enabled, labels were not being inserted and instructions were misused. Fix these bugs.
-
ReinUsesLisp authored
Avoid changing gl_Position when the NDC used by the game is [0, 1] (Vulkan's native).
-
ReinUsesLisp authored
Some games write from fragment shaders to an unexistant framebuffer attachment or they don't write to one when it exists in the framebuffer. Fix this by skipping writes or adding zeroes.
-
bunnei authored
gl_shader_decompiler: Add missing DeclareImages
-
bunnei authored
shader_bytecode: Fix TLD4S encoding
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-