Fernando Sahmkow
ca11633e1d
Gl_Rasterizer: Skip Tesselation Control and Eval stages as they are un implemented.
...
This commit ensures the OGL backend does not execute tesselation shader
stages as they are currently unimplemented.
2019-12-11 15:41:26 -04:00
bunnei
1566b0c519
Merge pull request #3210 from ReinUsesLisp/memory-barrier
...
shader: Implement MEMBAR.GL
2019-12-11 14:24:39 -05:00
Joel Holdsworth
e6d65064da
Added missing include
2019-12-11 18:11:49 +00:00
ReinUsesLisp
0957919b45
gl_device: Enable compute shaders for Intel Mesa drivers
...
Previously we naively checked for "Intel" in GL_VENDOR, but this
includes both Intel's proprietary driver and the mesa driver. Re-enable
compute shaders for mesa.
2019-12-11 00:00:30 -03:00
ReinUsesLisp
fba4acf010
gl_shader_cache: Add missing new-line on emitted GLSL
...
Add missing new-line. This caused shaders using local memory and shared
memory to inject a preprocessor GLSL line after an expression (resulting
in invalid code).
It looked like this:
shared uint smem[8];#define LOCAL_MEMORY_SIZE 16
It should look like this (addressed by this commit):
shared uint smem[8];
\#define LOCAL_MEMORY_SIZE 16
2019-12-10 23:52:51 -03:00
Fernando Sahmkow
1987e66daa
Maxwell3D: Implement Depth Mode.
...
This commit finishes adding depth mode that was reverted before due to
other unresolved issues.
2019-12-10 19:51:46 -04:00
ReinUsesLisp
6e95568616
shader: Implement MEMBAR.GL
...
Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
2019-12-10 16:45:03 -03:00
ReinUsesLisp
fdff48420a
vk_shader_decompiler: Fix build issues on old gcc versions
2019-12-10 01:55:38 -03:00
ReinUsesLisp
761483ac63
vk_shader_decompiler: Reduce YNegate's severity
2019-12-09 23:52:28 -03:00
ReinUsesLisp
72b999d789
shader_ir/other: Implement S2R InvocationId
2019-12-09 23:52:28 -03:00
ReinUsesLisp
7ec8977596
vk_shader_decompiler: Misc changes
...
Update Sirit and its usage in vk_shader_decompiler. Highlights:
- Implement tessellation shaders
- Implement geometry shaders
- Implement some missing features
- Use native half float instructions when available.
2019-12-09 23:51:57 -03:00
ReinUsesLisp
f2de7089e1
shader: Keep track of shaders using warp instructions
2019-12-09 23:40:41 -03:00
ReinUsesLisp
243a33aba9
shader_ir/memory: Implement patch stores
2019-12-09 23:25:21 -03:00
ReinUsesLisp
e3a6205772
vk_device: Misc changes
...
- Setup more features and requirements.
- Improve logging for missing features.
- Collect telemetry parameters.
- Add queries for more image formats.
- Query push constants limits.
- Optionally enable some extensions.
2019-12-09 01:04:48 -03:00
bunnei
80ea58f1db
Merge pull request #3198 from ReinUsesLisp/tessellation-maxwell
...
maxwell_3d: Add tessellation state entries
2019-12-08 22:28:25 -05:00
ReinUsesLisp
3c2839e533
externals: Update Vulkan-Headers
2019-12-08 22:08:19 -03:00
ReinUsesLisp
b6cafd5c88
vk_swapchain: Add support for swapping sRGB
...
We don't know until the game is running if it's using an sRGB color
space or not. Add support for hot-swapping swapchain surface formats.
2019-12-06 22:42:08 -03:00
ReinUsesLisp
b377e0c75c
maxwell_3d: Add tessellation tess level registers
2019-12-06 22:08:22 -03:00
ReinUsesLisp
cac31c3fbb
maxwell_3d: Add tessellation mode register
2019-12-06 22:07:31 -03:00
ReinUsesLisp
c69c5be931
maxwell_3d: Add patch vertices register
2019-12-06 22:06:53 -03:00
ReinUsesLisp
959ac10dc8
shader_bytecode: Remove corrupted character
2019-12-06 20:31:56 -03:00
bunnei
2b4786f709
Merge pull request #3109 from FernandoS27/new-instr
...
Implement FLO & TXD Instructions on GPU Shaders
2019-12-06 18:18:16 -05:00
bunnei
6c951b2c80
Merge pull request #2987 from FernandoS27/texture-invalid
...
Texture_Cache: Redo invalid Surfaces handling.
2019-12-02 12:07:05 -05:00
bunnei
a82a7408a7
Merge pull request #3184 from ReinUsesLisp/framebuffer-cache
...
gl_framebuffer_cache: Optimize framebuffer cache management
2019-11-30 18:46:40 -05:00
ReinUsesLisp
94a911d619
texture_cache/surface_base: Fix out of bounds texture views
...
Some texture views were being created out of bounds (with more layers or
mipmaps than what the original texture has). This is because of a
miscalculation in mipmap bounding. end_layer and end_mipmap are out of
bounds (e.g. layer 6 in a cubemap), there's no need to add one more
there.
Fixes OpenGL errors and Vulkan crashes on Splatoon 2.
2019-11-29 16:51:14 -03:00
ReinUsesLisp
e57b57cdbc
gl_framebuffer_cache: Optimize framebuffer key
...
Pack color attachment enumerations into a single u32. To determine the
number of buffers, the highest color attachment with a shared pointer
that doesn't point to null is used.
2019-11-28 23:02:20 -03:00
ReinUsesLisp
da1bef3a85
gl_rasterizer: Re-enable framebuffer cache for clear buffers
2019-11-28 23:02:20 -03:00
ReinUsesLisp
d4ada20e67
renderer_opengl: Make ScreenRectVertex's constructor constexpr
2019-11-28 20:36:02 -03:00
ReinUsesLisp
9b6d302900
renderer_opengl: Remove C casts
2019-11-28 20:28:27 -03:00
ReinUsesLisp
7db2bbcb12
renderer_opengl: Use explicit binding for presentation shaders
2019-11-28 20:25:56 -03:00
ReinUsesLisp
339cf19cd8
renderer_opengl: Drop macros for message decorations
2019-11-28 20:15:25 -03:00
ReinUsesLisp
e132f0fddd
renderer_opengl: Move static definitions to anonymous namespace
2019-11-28 20:14:40 -03:00
ReinUsesLisp
08e6173296
renderer_opengl: Move commentaries to header file
2019-11-28 20:11:03 -03:00
bunnei
ec9f949bc8
Merge pull request #3169 from lioncash/memory
...
core/memory: Deglobalize memory management code
2019-11-28 11:43:17 -05:00
Rodrigo Locatti
f1536be219
Merge pull request #3174 from lioncash/optional
...
video_core/gpu_thread: Tidy up SwapBuffers()
2019-11-27 20:35:31 -03:00
Lioncash
ab484b42b9
video_core/gpu_thread: Tidy up SwapBuffers()
...
We can just use std::nullopt and std::make_optional to make this a
little bit less noisy.
2019-11-27 17:46:11 -05:00
Lioncash
70eebf7ba8
video_core/const_buffer_locker: Make use of std::tie in HasEqualKeys()
...
Tidies it up a little bit visually.
2019-11-27 05:53:43 -05:00
Lioncash
40aa442a35
video_core/const_buffer_locker: Remove unused includes
2019-11-27 05:51:13 -05:00
Lioncash
3f27987dcc
video_core/const_buffer_locker: Remove #pragma once from cpp file
...
Silences a compiler warning.
2019-11-27 05:50:51 -05:00
Lioncash
ad85ba53dd
core/memory: Migrate over RasterizerMarkRegionCached() to the Memory class
...
This is only used within the accelerated rasterizer in two places, so
this is also a very trivial migration.
2019-11-26 21:55:38 -05:00
Lioncash
7110e6a128
core/memory: Migrate over GetPointer()
...
With all of the interfaces ready for migration, it's trivial to migrate
over GetPointer().
2019-11-26 21:55:38 -05:00
Lioncash
e04aeb9531
core: Prepare various classes for memory read/write migration
...
Amends a few interfaces to be able to handle the migration over to the
new Memory class by passing the class by reference as a function
parameter where necessary.
Notably, within the filesystem services, this eliminates two ReadBlock()
calls by using the helper functions of HLERequestContext to do that for
us.
2019-11-26 21:55:37 -05:00
bunnei
6fbfa5bb89
Merge pull request #3143 from ReinUsesLisp/indexing-bug
...
gl_device: Deduce indexing bug from device instead of heuristic
2019-11-26 21:53:12 -05:00
ReinUsesLisp
c769397a9a
gl_shader_decompiler: Fix casts from fp32 to f16
...
Casts from f32 to f16 zeroes the higher half of the target register.
2019-11-25 22:22:33 -03:00
ReinUsesLisp
b326331a1f
gl_device: Deduce indexing bug from device instead of heuristic
...
The heuristic to detect AMD's driver was not working properly since it
also included Intel. Instead of using heuristics to detect it, compare
the GL_VENDOR string.
2019-11-25 16:15:22 -03:00
bunnei
242629852b
Merge pull request #3158 from ReinUsesLisp/srgb-blit
...
gl_texture_cache: Apply sRGB on blits
2019-11-24 20:47:13 -05:00
bunnei
740190597b
Merge pull request #3155 from bunnei/fix-asynch-gpu-wait
...
gpu_thread: Don't spin wait if there are no GPU commands.
2019-11-24 20:19:25 -05:00
bunnei
e1ad08d11b
Merge pull request #3098 from ReinUsesLisp/shader-invalidations
...
gl_shader_cache: Miscellaneous changes to shaders
2019-11-24 19:36:30 -05:00
ReinUsesLisp
f2cf4f8ce7
gl_texture_cache: Apply sRGB on blits
...
glBlitFramebuffer keeps in mind GL_FRAMEBUFFER_SRGB's state. Enable this
depending on the target surface pixel format.
2019-11-24 18:13:33 -03:00
bunnei
b8f67a1bcd
Merge pull request #3105 from ReinUsesLisp/fix-stencil-reg
...
maxwell_3d: Fix stencil_back_func_mask offset
2019-11-24 13:53:23 -05:00