- 13 Jun, 2020 3 commits
- 10 Jun, 2020 1 commit
-
-
bunnei authored
texture_cache: Implement rendering to 3D textures
-
- 08 Jun, 2020 6 commits
-
-
bunnei authored
gl_rasterizer: Use NV_transform_feedback for XFB on assembly shaders
-
bunnei authored
renderer_opengl: Only enable DEBUG_OUTPUT when graphics debugging is enabled
-
ReinUsesLisp authored
Handle blits to images as 2D, even when they have block depth. - Fixes rendering issues on Luigi's Mansion 3
-
ReinUsesLisp authored
-
ReinUsesLisp authored
-
ReinUsesLisp authored
This allows rendering to 3D textures with more than one slice. Applications are allowed to render to more than one slice of a texture using gl_Layer from a VTG shader. This also requires reworking how 3D texture collisions are handled, for now, this commit allows rendering to slices but not to miplevels. When a render target attempts to write to a mipmap, we fallback to the previous implementation (copying or flushing as needed). - Fixes color correction 3D textures on UE4 games (rainbow effects). - Allows Xenoblade games to render to 3D textures directly.
-
- 07 Jun, 2020 5 commits
-
-
Rodrigo Locatti authored
vk_rasterizer: Implement storage texels and atomic image operations
-
ReinUsesLisp authored
The rasterizer cache is no longer used. Each cache has its own generic implementation optimized for the cached data.
-
ReinUsesLisp authored
Trivial port the generic shader cache to Vulkan.
-
ReinUsesLisp authored
Trivially port the generic shader cache to OpenGL.
-
ReinUsesLisp authored
Implement a generic shader cache for fast lookups and invalidations. Invalidations are cheap but expensive when a shader is invalidated. Use two mutexes instead of one to avoid locking invalidations for lookups and vice versa. When a shader has to be removed, lookups are locked as expected.
-
- 06 Jun, 2020 3 commits
-
-
bunnei authored
gl_device: Black list NVIDIA 443.24 for fast buffer uploads
-
ReinUsesLisp authored
Skip fast buffer uploads on Nvidia 443.24 Vulkan beta driver on OpenGL. This driver throws the following error when calling BufferSubData or BufferData on buffers that are candidates for fast constant buffer uploads. This is the equivalens to push constants on Vulkan, except that they can access the full buffer. The error: Unknown internal debug message. The NVIDIA OpenGL driver has encountered an out of memory error. This application might behave inconsistently and fail. If this error persists on future drivers, we might have to look deeper into this issue. For now, we can black list it and log it as a temporary solution.
-
ReinUsesLisp authored
Avoids logging when it's not relevant. This can potentially reduce driver's internal thread overhead.
-
- 05 Jun, 2020 3 commits
-
-
bunnei authored
vk_rasterizer: Skip transform feedbacks when extension is unavailable
-
ReinUsesLisp authored
Games using D3D idioms can join images and samplers when a shader executes, instead of baking them into a combined sampler image. This is also possible on Vulkan. One approach to this solution would be to use separate samplers on Vulkan and leave this unimplemented on OpenGL, but we can't do this because there's no consistent way of determining which constant buffer holds a sampler and which one an image. We could in theory find the first bit and if it's in the TIC area, it's an image; but this falls apart when an image or sampler handle use an index of zero. The used approach is to track for a LOP.OR operation (this is done at an IR level, not at an ISA level), track again the constant buffers used as source and store this pair. Then, outside of shader execution, join the sample and image pair with a bitwise or operation. This approach won't work on games that truly use separate samplers in a meaningful way. For example, pooling textures in a 2D array and determining at runtime what sampler to use. This invalidates OpenGL's disk shader cache :) - Used mostly by D3D ports to Switch
-
ReinUsesLisp authored
-
- 04 Jun, 2020 6 commits
-
-
bunnei authored
gl_shader_decompiler: Fix geometry shader outputs on Intel drivers
-
bunnei authored
Downgrade "handle not signaled" error to trace
-
bunnei authored
video_core: Implement Macro JIT
-
David Marcec authored
clogs logs quite a bit
-
David Marcec authored
-
bunnei authored
Port citra-emu/citra#5376: "Actually save the input when clearing/resetting to default"
-
- 03 Jun, 2020 4 commits
-
-
ReinUsesLisp authored
NV_transform_feedback, NV_transform_feedback2 and ARB_transform_feedback3 with NV_transform_feedback interactions allows implementing transform feedbacks as dynamic state. Maxwell implements transform feedbacks as dynamic state, so using these extensions with TransformFeedbackStreamAttribsNV allows us to properly emulate transform feedbacks without having to recompile shaders when the state changes.
-
bunnei authored
texture_cache: Handle overlaps with multiple subresources
-
David Marcec authored
-
FearlessTobi authored
Co-Authored-By: xperia64 <xperiancedapps@gmail.com>
-
- 02 Jun, 2020 9 commits
-
-
bunnei authored
gl_device: Avoid devices with CAVEAT_SUPPORT on ASTC
-
bunnei authored
hid: Stub GetXpadIDs
-
bunnei authored
glsl: Squash constant buffers into a single SSBO when we hit the limit
-
LC authored
shader/other: Fix hardcoded value in S2R INVOCATION_INFO
-
LC authored
maxwell_to_vk: Add R16UI image format
-
David Marcec authored
-
ReinUsesLisp authored
Implement atomic operations on images. On GLSL these are atomicImage* functions (e.g. atomicImageAdd).
-
ReinUsesLisp authored
This is the equivalent of an image buffer on OpenGL. - Used by Octopath Traveler
-
ReinUsesLisp authored
- Used by Octopath Traveler
-