ameerj
84f7e7e91c
vk_scheduler: Use std::jthread
4 years ago
ameerj
877cd60b00
gpu: Use std::jthread for async gpu thread
4 years ago
Morph
2df2b3719a
renderers: Log total pipeline count
4 years ago
ameerj
db1c4b125f
vulkan_debug_callback: Ignore InvalidCommandBuffer-VkDescriptorSet errors
...
This validation error is spammed on some titles, asserting that VkDescriptorSet 0x0[] was destroyed.
This is likely a validation layer bug when using VK_KHR_push_descriptor, which can avoid using traditional VkDescriptorSet. It should be safe to ignore for now.
4 years ago
Morph
d86a9b9a4b
Merge pull request #6943 from FernandoS27/omae-wa-mou-shindeiru
...
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD
4 years ago
Fernando Sahmkow
7a712da2b3
Vulkan: Disable VK_EXT_SAMPLER_FILTER_MINMAX in GCN AMD since it's broken.
4 years ago
Morph
62e88d0e74
Merge pull request #7006 from FernandoS27/a-motherfucking-driver
...
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
4 years ago
Morph
fde9b84b21
Merge pull request #6944 from FernandoS27/dear-drunk-me
...
Vulkan/Descriptors: Increase sets per pool on AMD propietary driver.
4 years ago
Fernando Sahmkow
e7c8a0bb23
Vulkan: Blacklist Int8Float16 Extension on AMD on driver 21.9.1
4 years ago
Fernando S
1bb28dfe2c
Merge pull request #7001 from ameerj/wario-fix
...
vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
4 years ago
Fernando Sahmkow
e7ca37b1e5
Vulkan/Descriptors: Increase sets per pool on AMFD propietary driver.
4 years ago
ameerj
35e5a67a83
vk_swapchain: Use immediate present mode when mailbox is unavailable and FPS is unlocked
...
Allows drivers that do not support VK_PRESENT_MODE_MAILBOX_KHR the ability to present at a framerate higher than the monitor's refresh rate when the FPS is unlocked.
4 years ago
Mai M
e4318d2207
Merge pull request #7002 from ameerj/vk-state-unused
...
vk_state_tracker: Remove unused function
4 years ago
ameerj
678f73069f
vk_rasterizer: Fix dynamic StencilOp updating when two faces are enabled
...
This function was incorrectly using the stencil_two_side_enable register when dynamically updating the StencilOp.
4 years ago
ameerj
8e289ade15
vk_state_tracker: Remove unused function
4 years ago
Morph
e67463df24
shader_environment: Add missing <algorithm> include
4 years ago
Morph
63b4c8f9f7
vk_descriptor_pool: Add missing <algorithm> include
4 years ago
Morph
76abf55f25
slot_vector: Add missing <algorithm> include
4 years ago
Morph
554c46d186
video_core/memory_manager: Add missing <algorithm> include
4 years ago
Morph
ae028ddf22
codec: Add missing <string_view> include
4 years ago
Fernando S
be4e192903
Merge pull request #6846 from ameerj/nvdec-gpu-decode
...
nvdec: Add GPU video decoding for all capable drivers and platforms
4 years ago
Fernando S
82c867164b
Merge pull request #6901 from ameerj/vk-clear-bits
...
vk_rasterizer: Only clear depth/stencil buffers when specified in attachment aspect mask
4 years ago
Fernando S
ec6490f5ad
Merge pull request #6941 from ameerj/swapchain-srgb
...
vk_swapchain: Prefer linear swapchain format when presenting sRGB images
4 years ago
Fernando S
472aad69db
Merge pull request #6953 from ameerj/anv-semaphore
...
renderer_vulkan: Wait on present semaphore at queue submit
4 years ago
Feng Chen
0292374807
Fix blend equation enum error
4 years ago
ameerj
7d854fbdb0
renderer_vulkan: Wait on present semaphore at queue submit
...
The present semaphore is being signalled by the call to acquire the
swapchain image. This semaphore is meant to be waited on when rendering
to the swapchain image. Currently it is waited on when presenting, but
moving its usage to be waited on in the command buffer submission allows
for proper usage of this semaphore.
Fixes the device lost when launching titles on the Intel Linux Mesa driver.
4 years ago
bunnei
b2572a56d3
Merge pull request #6900 from ameerj/attr-reorder
...
structured_control_flow: Add DemoteCombinationPass
4 years ago
bunnei
956171f024
Merge pull request #6897 from FernandoS27/pineapple-does-not-belong-in-pizza
...
Project <tentative title>: Rework Garbage Collection.
4 years ago
bunnei
ec19d9594f
Merge pull request #6879 from ameerj/decoder-assert
...
vk_blit_screen: Fix non-accelerated texture size calculation
4 years ago
ameerj
4fda7f1c82
structured_control_flow: Conditionally invoke demote reorder pass
...
This is only needed on select drivers when a fragment shader discards/demotes.
4 years ago
Fernando Sahmkow
fe0acec539
Garbage Collection: Make it more agressive on high priority mode.
4 years ago
Fernando Sahmkow
ff48f06fb9
Garbage Collection: Adress Feedback.
4 years ago
ameerj
27f8f3333f
vulkan_device: Enable VK_KHR_swapchain_mutable_format if available
...
Silences validation errors when creating sRGB image views of linear swapchain images
4 years ago
ameerj
3c65c8580f
vk_swapchain: Prefer linear swapchain format when presenting sRGB images
...
Fixes broken sRGB when presenting from a secondary GPU.
4 years ago
Fernando Sahmkow
ba82bb359b
Garbage Collection: enable as default, eliminate option.
4 years ago
Fernando Sahmkow
d540d284b5
VideoCore: Rework Garbage Collection.
4 years ago
ameerj
eb2624ed65
vp9_types: Minor refactor of VP9 info structs.
4 years ago
ameerj
3de38c9a70
vp9_types: Remove unused Vp9PictureInfo members
4 years ago
Fernando S
3843995ceb
Merge pull request #6919 from ameerj/vk-int8-capability
...
vulkan_device: Add a check for int8 support
4 years ago
Ameer J
de71a4d70d
Merge pull request #6894 from FernandoS27/bunneis-left-ear
...
GPU_MemoryManger: Fix GetSubmappedRange.
4 years ago
ameerj
4d535799eb
vulkan_device: Add a check for int8 support
...
Silences validation errors when shaders use int8 without specifying its support to the API
4 years ago
ameerj
e0397f00d0
vk_rasterizer: Only clear depth and stencil buffers when set in attachment aspect mask
...
Silences validation errors for clearing the depth/stencil buffers of framebuffer attachments that were not specified to have depth/stencil usage.
4 years ago
Ameer J
bde6b899a1
Merge pull request #6888 from v1993/patch-3
...
video_core: eliminate constant ternary
4 years ago
Fernando Sahmkow
ef2066b272
GPU_MemoryManger: Fix GetSubmappedRange.
4 years ago
Valeri
4fd655cb46
video_core: eliminate constant ternary
...
`via_header_index` is already checked above, so it would never be true in this branch
4 years ago
ameerj
b384129c63
h264: Lower max_num_ref_frames
...
GPU decoding seems to be more picky when it comes to the maximum number of reference frames.
4 years ago
ameerj
cd016d3cb5
configure_graphics: Add GPU nvdec decoding as an option
...
Some system configurations may see visual regressions or lower performance using GPU decoding compared to CPU decoding. This setting provides the option for users to specify their decoding preference.
Co-Authored-By: yzct12345 <87620833+yzct12345@users.noreply.github.com>
4 years ago
ameerj
a832aa699f
codec: Improve libav memory alloc and cleanup
4 years ago
ameerj
bc3efb79cc
codec: Fallback to CPU decoding if no compatible GPU format is found
4 years ago
lat9nq
92bc51b66a
cmake: Add VDPAU and NVDEC support to FFmpeg
...
Adds {h264_,vp9_}{nvdec,vdpau} hwaccels.
4 years ago
ameerj
537c6ac8fe
vk_blit_screen: Fix non-accelerated texture size calculation
...
Addresses the potential OOB access in UnswizzleTexture.
4 years ago
Merry
1770503185
xbyak: Update include path
4 years ago
bunnei
87d63b858a
Merge pull request #6861 from yzct12345/const-mempy-is-all-the-speed
...
decoders: Optimize memcpy for the other functions
4 years ago
bunnei
0509fe3377
Merge pull request #6838 from ameerj/sws-align
...
vic: Specify sws_scale height stride.
4 years ago
ameerj
356e10898f
codec: Replace deprecated av_init_packet usage
4 years ago
ameerj
659039ca6d
nvdec: Implement GPU accelerated decoding for all platforms
...
Supplements the VAAPI intel gpu decoder by implementing the D3D11VA decoder for Windows, and CUVID/VDPAU for Nvidia and AMD on drivers linux respectively.
4 years ago
yzct12345
430255caf8
decoders: Templates allow memcpy optimizations
4 years ago
Fernando S
6a082df427
Merge pull request #6820 from yzct12345/split-cache
...
texture_cache: Split out template definitions
4 years ago
ameerj
a779cede7c
vic: Specify sws_scale height stride.
...
Silences a sws_scale runtime warning about unaligned strides.
4 years ago
Mai M
2da91ec75b
Merge pull request #6844 from ameerj/vp9-empty-frame
...
vp9: Ensure the first frame is complete
4 years ago
ameerj
fa22695705
vp9: Ensure the first frame is complete
...
Silences a runtime error due to the first frame missing the frame data, and being set to hidden despite being a key-frame.
4 years ago
yzct12345
c4eafcc861
texture_cache: Address ameerj's review
4 years ago
Fernando S
859deda3bb
Merge pull request #6834 from K0bin/buffer-image-granularity
...
Respect Vulkan bufferImageGranularity
4 years ago
bunnei
bd0e1d3a25
Merge pull request #6830 from ameerj/nvdec-unimpld-codec
...
nvdec: Better logging for unimplemented codecs
4 years ago
Robin Kertels
bb29dcb7f2
vulkan_memory_allocator: Respect bufferImageGranularity
4 years ago
ameerj
928b64d2ce
nvdec: Better logging for unimplemented codecs
4 years ago
bunnei
268b5764c7
Merge pull request #6791 from ameerj/astc-opt
...
astc_decoder: Various performance and memory optimizations
4 years ago
yzct12345
e80323b8b0
texture_cache: Address ameerj's review
4 years ago
bunnei
f183668a87
Merge pull request #6799 from ameerj/vp9-fixes
...
nvdec: Fix VP9 reference frame refreshes
4 years ago
ameerj
e3688f0627
vp9: Cleanup unused variables
...
With reference frames refreshes fix, we no longer need to buffer two frames in advance.
We can also remove other unused or otherwise unneeded variables.
4 years ago
ameerj
a3f80a97a3
vp9: Fix reference frame refreshes
...
This resolves the artifacting when decoding VP9 streams.
4 years ago
yzct12345
02e98f6c93
texture_cache: Don't change copyright year
4 years ago
yzct12345
5566f3dbc0
texture_cache: Address ameerj's review
4 years ago
yzct12345
f9563c8f24
texture_cache: Split templates out
4 years ago
yzct12345
2868d4ba84
nvdec: Implement VA-API hardware video acceleration ( #6713 )
...
* nvdec: VA-API
* Verify formatting
* Forgot a semicolon for Windows
* Clarify comment about AV_PIX_FMT_NV12
* Fix assert log spam from missing negation
* vic: Remove forgotten debug code
* Address lioncash's review
* Mention VA-API is Intel/AMD
* Address v1993's review
* Hopefully fix CMakeLists style this time
* vic: Improve cache locality
* vic: Fix off-by-one error
* codec: Async
* codec: Forgot the GetValue()
* nvdec: Address ameerj's review
* codec: Fallback to CPU without VA-API support
* cmake: Address lat9nq's review
* cmake: Make VA-API optional
* vaapi: Multiple GPU
* Apply suggestions from code review
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
* nvdec: Address ameerj's review
* codec: Use anonymous instead of static
* nvdec: Remove enum and fix memory leak
* nvdec: Address ameerj's review
* codec: Remove preparation for threading
Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
4 years ago
yzct12345
f56d0db5bd
decoders: Optimize swizzle copy performance ( #6790 )
...
This makes UnswizzleTexture up to two times faster. It is the main bottleneck in NVDEC video decoding.
4 years ago
Fernando S
30f0b7cf31
Merge pull request #6720 from ameerj/vk-screenshot
...
renderer_vulkan: Implement screenshots
4 years ago
Ameer J
db32c3762b
Merge pull request #6765 from ReinUsesLisp/y-negate-vk
...
vk_rasterizer: Flip viewport on Y_NEGATE
4 years ago
ameerj
c439fc9be9
astc_decoder: Reduce workgroup size
...
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
4 years ago
ameerj
5ab8053511
astc_decoder: Compute offset swizzles in-shader
...
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
4 years ago
ameerj
b2862e4772
astc_decoder: Make use of uvec4 for payload data
4 years ago
ameerj
a75d70fa90
astc_decoder: Simplify Select2DPartition
4 years ago
ameerj
5665d05547
astc_decoder: Optimize the use EncodingData
...
This buffer was a list of EncodingData structures sorted by their bit length, with some duplication from the cpu decoder implementation.
We can take advantage of its sorted property to optimize its usage in the shader.
Thanks to wwylele for the optimization idea.
4 years ago
ameerj
15c0c213b1
astc.h: Move data to cpp implementation
...
Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
4 years ago
bunnei
7530594602
Merge pull request #6759 from ReinUsesLisp/pipeline-statistics
...
renderer_vulkan: Add setting to log pipeline statistics
4 years ago
ReinUsesLisp
b185567a03
vk_rasterizer: Flip viewport on Y_NEGATE
...
Matches OpenGL's behavior. I don't believe this register flips geometry,
but we have to try to match behavior on both backends.
4 years ago
ameerj
7ac99bb127
renderers: Add explicit invert_y bool to screenshot callback
...
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
4 years ago
ameerj
75e7f54fb0
renderer_vulkan: Implement screenshots
4 years ago
ameerj
548bac8989
vk_blit_screen: Add public CreateFramebuffer method
4 years ago
ameerj
1e6c5d323d
vk_blit_screen: Make Draw method more generic
...
Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
4 years ago
ReinUsesLisp
3b006f4fe2
renderer_vulkan: Add setting to log pipeline statistics
...
Use VK_KHR_pipeline_executable_properties when enabled and available to
log statistics about the pipeline cache in a game.
For example, this is on Turing GPUs when generating a pipeline cache
from Super Smash Bros. Ultimate:
Average pipeline statistics
==========================================
Code size: 6433.167
Register count: 32.939
More advanced results could be presented, at the moment it's just an
average of all 3D and compute pipelines.
4 years ago
bunnei
92887a65f0
Merge pull request #6749 from lioncash/rtarget
...
render_target: Add missing initializer for size extent
4 years ago
Rodrigo Locatti
ab206d6378
Merge pull request #6748 from lioncash/engine-init
...
video_core/engine: Consistently initialize rasterizer pointers
4 years ago
bunnei
2717e79c74
Merge pull request #6745 from lioncash/copies
...
video_core: Remove some unused variables
4 years ago
Lioncash
00e100de08
render_target: Add missing initializer for size extent
...
Everything else has a default constructor that does the straightforward
thing of initializing most members to a default value, except for the
size.
We explicitly initialize the size (and others, for consistency), to
prevent potential uninitialized reads from occurring. Particularly given
the largeish surface area that this struct is used in.
4 years ago
Lioncash
f8964dd89a
video_core/engine: Consistently initialize rasterizer pointers
...
Ensures all of the engines have consistent and deterministic
initialization of the rasterizer pointers.
4 years ago
Lioncash
8c82c594f0
vulkan_wrapper: Fix SetObjectName() always indicating objects as images
...
We should be using the passed in object type instead.
4 years ago
Lioncash
ec56a17acd
buffer_cache: Remove unused small_vector in CommitAsyncFlushesHigh()
...
Given this is non-trivial, the constructor is required to execute, so
this removes a bit of redundant codegen.
4 years ago
Lioncash
075a744e38
gl_shader_cache: Remove unused variable
4 years ago
Lioncash
296728ec46
vk_compute_pass: Remove unused captures
...
Resolves two compiler warnings.
4 years ago
bunnei
d6c799494c
Merge pull request #6696 from ameerj/speed-limit-rename
...
general: Rename "Frame Limit" references to "Speed Limit"
4 years ago
Rodrigo Locatti
7511f65e31
Merge pull request #6741 from ReinUsesLisp/stream-remove
...
vk_stream_buffer: Remove unused stream buffer
4 years ago
Rodrigo Locatti
1a94b3f452
Merge pull request #6740 from K0bin/hvv-fallback
...
Handle allocation failure in Staging buffer
4 years ago
Robin Kertels
75050c788c
vk_staging_buffer_pool: Fall back to host memory when allocation fails
4 years ago
Rodrigo Locatti
c6991fa900
Merge pull request #6728 from ReinUsesLisp/null-buffer-usage
...
vk_buffer_cache: Add transform feedback usage to null buffer
4 years ago
ReinUsesLisp
5f9a4817a5
vk_stream_buffer: Remove unused stream buffer
...
Remove unused file.
4 years ago
ReinUsesLisp
771dcb2a56
vk_compute_pass: Fix pipeline barrier for indexed quads
...
Use an index buffer barrier instead of a vertex input read barrier.
4 years ago
ReinUsesLisp
27ed6e7c2b
vk_buffer_cache: Add transform feedback usage to null buffer
...
Fixes bad API usages on Vulkan.
4 years ago
bunnei
98b26b6e12
Merge pull request #6585 from ameerj/hades
...
Shader Decompiler Rewrite
4 years ago
bunnei
84b9c42642
Merge pull request #6690 from ReinUsesLisp/dma-clear-fixups
...
buffer_cache: Misc fixups related to buffer clears
4 years ago
ameerj
c80ae87b4e
renderer_base: Removed redundant settings
...
use_framelimiter was not being used internally by the renderers.
set_background_color was always set to true as there is no toggle for the renderer background color, instead users directly choose the color of their choice.
4 years ago
ameerj
9dfbc9bdce
general: Rename "Frame Limit" references to "Speed Limit"
...
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate.
This allows us to differentiate it from the fps unlocker setting.
4 years ago
ReinUsesLisp
a55ff22900
vulkan/blit_image: Commit descriptor sets within worker thread
...
Fixes race condition caused. The descriptor pool is not thread safe, so
we have to commit descriptor sets within the same thread.
4 years ago
ReinUsesLisp
f6796cad9c
vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptor
...
Causes crashes on Link's Awakening intro. It's hard to debug if it's our
fault due to bugs in validation layers.
4 years ago
ReinUsesLisp
3c6d440015
Revert "renderers: Disable async shader compilation"
...
This reverts commit 4a152767286717fa69bfc94846a124a366f70065.
4 years ago
ReinUsesLisp
8381490a04
opengl: Fix asynchronous shaders
...
Wait for shader to build before configuring it, and wait for the shader
to build before sharing it with other contexts.
4 years ago
ReinUsesLisp
258f35515d
shader_environment: Receive cache version from outside
...
This allows us invalidating OpenGL and Vulkan separately in the future.
4 years ago
ameerj
56478bc9ac
shader: Fix disabled attribute default values
4 years ago
ameerj
c9528282d9
gl_device: Simplify GLASM setting logic
4 years ago
ReinUsesLisp
e1ed218b41
renderer_opengl: Use ARB_separate_shader_objects
...
Ensures that states set for a particular stage are not attached to other
stages which may not need them.
4 years ago
ameerj
94af0a00f6
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
4 years ago
ReinUsesLisp
8c166c68d4
gl_shader_cache: Properly implement asynchronous shaders
4 years ago
lat9nq
49946cf780
shader_recompiler, video_core: Resolve clang errors
...
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
4 years ago
ameerj
41493fbe89
renderers: Fix clang formatting
4 years ago
ameerj
8390286a89
renderers: Disable async shader compilation
...
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
4 years ago
ReinUsesLisp
be54aad1c4
maxwell_to_vk: Add R16_SNORM
4 years ago
ameerj
11f04f1022
shader: Ignore global memory ops on devices lacking int64 support
4 years ago
lat9nq
55233c2861
vulkan_device: Add missing include algorithm
4 years ago
ameerj
7277d7fe96
vulkan_device: Blacklist ampere devices from float16 math
4 years ago
ameerj
dbee32d302
gl_shader_cache: Fixes for async shaders
4 years ago
ReinUsesLisp
57171b23f9
vulkan_device: Enable VK_EXT_extended_dynamic_state on RADV 21.2 onward
4 years ago
ReinUsesLisp
8722668b3c
emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
...
Fix regression on Fire Emblem: Three Houses when using native fp16.
4 years ago
ReinUsesLisp
fba6bd92d4
vk_rasterizer: Workaround bug in VK_EXT_vertex_input_dynamic_state
...
Workaround potential bug on Nvidia's driver where only updating high
attributes leaves low attributes out dated.
4 years ago
ReinUsesLisp
5643a909bc
shader: Fix disabled and unwritten attributes and varyings
4 years ago
ReinUsesLisp
f94f0be521
vk_graphics_pipeline: Implement smooth lines
4 years ago
ReinUsesLisp
57a8921e01
vk_graphics_pipeline: Implement line width
4 years ago
lat9nq
fb9b1787f8
video_core: Enable GL SPIR-V shaders
4 years ago
lat9nq
1152d66ddd
general: Add setting shader_backend
...
GLASM is getting good enough that we can move it out of advanced
graphics settings. This removes the setting `use_assembly_shaders`,
opting for a enum class `shader_backend`. This comes with the benefits
that it is extensible for additional shader backends besides GLSL and
GLASM, and this will work better with a QComboBox.
Qt removes the related assembly shader setting from the Advanced
Graphics section and places it as a new QComboBox in the API Settings
group. This will replace the Vulkan device selector when OpenGL is
selected.
Additionally, mark all of the custom anisotropic filtering settings as
"WILL BREAK THINGS", as that is the case with a select few games.
4 years ago
ReinUsesLisp
8a3427a4c8
glasm: Add passthrough geometry shader support
4 years ago
ReinUsesLisp
7dafa96ab5
shader: Rework varyings and implement passthrough geometry shaders
...
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
4 years ago
ReinUsesLisp
4f052a1f39
vk_graphics_pipeline: Implement conservative rendering
4 years ago
ReinUsesLisp
395bed3a0a
shader: Unify shader stage types
4 years ago
ReinUsesLisp
fb166b5ff4
shader: Emulate 64-bit integers when not supported
...
Useful for mobile and Intel Xe devices.
4 years ago
ReinUsesLisp
3877918e96
gl_graphics_pipeline: Fix assembly shaders check for transform feedbacks
4 years ago
ReinUsesLisp
9bd0531384
gl_graphics_pipeline: Inline hash and operator== key functions
4 years ago
ReinUsesLisp
f5db8c7440
gl_shader_cache: Check previous pipeline before checking hash map
...
Port optimization from Vulkan.
4 years ago
ReinUsesLisp
218dedca1f
gl_graphics_pipeline: Port optimizations from Vulkan pipelines
4 years ago
ReinUsesLisp
df9b7e18f5
buffer_cache: Fix debugging leftover
4 years ago
ReinUsesLisp
838d7e4ca5
buffer_cache: Fix size reductions not having in mind bind sizes
...
A buffer binding can change between shaders without changing the
shaders. This lead to outdated bindings on OpenGL.
4 years ago
ameerj
fcff19e0fa
shaders: Allow shader notify when async shaders is disabled
4 years ago
ReinUsesLisp
ca67077ca8
vk_graphics_pipeline: Use VK_KHR_push_descriptor when available
...
~51% faster on Nvidia compared to previous method.
4 years ago
ReinUsesLisp
374eeda1a3
shader: Properly manage attributes not written from previous stages
4 years ago
ReinUsesLisp
0ffea97e2e
shader: Split profile and runtime info headers
4 years ago
ReinUsesLisp
cbbca26d18
shader: Add support for native 16-bit floats
4 years ago
ReinUsesLisp
376aa94819
shader: Rename maxwell/program.h to translate_program.h
4 years ago
ReinUsesLisp
69f9b97e7e
vulkan_device: Blacklist VK_EXT_vertex_input_dynamic_state on Intel
4 years ago
ameerj
d36f667bc0
glsl: Address rest of feedback
4 years ago
ameerj
3b339fbbf6
glsl: Conditionally use fine/coarse derivatives based on device support
4 years ago
ameerj
6eea88d614
glsl: Cleanup/Address feedback
4 years ago
ameerj
74f683787e
gl_shader_cache: Implement async shaders
4 years ago
ameerj
5e7b2b9661
glsl: Add stubs for sparse queries and variable aoffi when not supported
4 years ago
ameerj
ff3de0fb6b
gl_shader_cache: Remove const from pipeline source arguments
4 years ago
ameerj
413eb6983f
gl_shader_cache: Move OGL shader compilation to the respective Pipeline constructor
4 years ago
ameerj
e81c73a874
glsl: Address more feedback. Implement indexed texture reads
4 years ago
ameerj
6650c4799d
gl_rasterizer: Add texture fetch barrier for fragments
...
Fixes flicker seen in XC2
4 years ago
ameerj
8bb8bbf4ae
glsl: Implement fswzadd
...
and wip nv thread shuffle impl
4 years ago
ameerj
970fc39d98
glsl: Rebase fixes
4 years ago
ameerj
747b8556a4
glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported
4 years ago
ameerj
6577a63d36
glsl: skip gl_ViewportIndex write if device does not support it
4 years ago
ameerj
f4799e8fa1
glsl: Implement transform feedback
4 years ago
ameerj
e35ffbbeb0
glsl: Implement VOTE for subgroup size potentially larger
4 years ago
ameerj
3d086e6130
glsl: Implement some attribute getters and setters
4 years ago
ameerj
bd24fa9713
glsl: Query GL Device for FP16 extension support
4 years ago
ReinUsesLisp
53667ddd4e
glsl: Fixup build issues
4 years ago
ameerj
eaff1030de
glsl: Initial backend
4 years ago
ReinUsesLisp
8fb2048934
vk_rasterizer: Exit render passes on fragment barriers
4 years ago
Rodrigo Locatti
dbf7cb9f90
vk_graphics_pipeline: Fix path with no VK_EXT_extended_dynamic_state
4 years ago
ReinUsesLisp
94e751f415
buffer_cache: Invalidate fast buffers on compute
4 years ago
lat9nq
373f75d944
shader: Add shader loop safety check settings
...
Also add a setting for enable Nsight Aftermath.
4 years ago
ReinUsesLisp
ba3bdf1d41
vulkan_device: Enable VK_EXT_vertex_input_dynamic_state
4 years ago
ReinUsesLisp
41cca8b8ad
vk_pipeline_cache: Skip cached pipelines with different dynamic state
4 years ago
ReinUsesLisp
ea038d6653
vulkan: Add VK_EXT_vertex_input_dynamic_state support
...
Reduces the number of total pipelines generated on Vulkan.
Tested on Super Smash Bros. Ultimate.
4 years ago
ReinUsesLisp
cb78a1b494
shader: Reorder shader cache directories
4 years ago
ReinUsesLisp
3025b2f605
vk_rasterizer: Implement first index
4 years ago
ReinUsesLisp
d554778311
vulkan: Use VK_EXT_provoking_vertex when available
4 years ago
ameerj
cd8427367e
gl_buffer_cache: Use unorm internal formats for snorm texture buffer views
...
Fixes black textures in UE4 games
4 years ago
ReinUsesLisp
5befc0bf87
shader_environment: Fix local memory size calculations
4 years ago
ReinUsesLisp
60a96c49e5
buffer_cache: Fix copy based uniform bindings tracking
4 years ago
ameerj
15bdd27cac
shader_environment: Add shader_local_memory_crs_size to local memory size
...
Fixes DOOM 2016 missing local memory
4 years ago
ReinUsesLisp
7eaa74ad23
gl_texture_cache: Create image storage views
...
Fixes SULD.D tests.
4 years ago
ReinUsesLisp
b1ed64ac18
gl_shader_util: Move shader utility code to a separate file
4 years ago
ReinUsesLisp
12fe7210d2
gl_shader_cache: Store workers in shader cache object
4 years ago
ReinUsesLisp
cffd4716c5
vk_pipeline_cache,shader_notify: Add shader notifications
4 years ago
ReinUsesLisp
48aad8dc05
vk_pipeline_cache: Add asynchronous shaders
4 years ago
ReinUsesLisp
2a0aeaa3d2
vk_rasterizer: Flush work on clear and dispatches
4 years ago
FernandoS27
c736b9ffab
DMA: Restrict optimised path for BlockToLinear further.
4 years ago
ReinUsesLisp
f45f7b5c2a
vk_swapchain: Handle outdated swapchains
...
Fixes pixelated presentation on Intel devices.
4 years ago
FernandoS27
562af30181
shader: Fix VertexA Shaders.
4 years ago
ReinUsesLisp
b02c78b276
vk_buffer_cache: Handle null texture buffers
...
Fixes a crash on Age of Calamity cutscenes.
4 years ago
ReinUsesLisp
8f099af6a8
nsight_aftermath_tracker: Fix SPIR-V module writes
4 years ago