ReinUsesLisp
84feabac88
glasm: Implement forced early Z
5 years ago
ReinUsesLisp
6bc54e12a0
glasm: Set transform feedback state
5 years ago
ReinUsesLisp
69b910e9e7
video_core: Abstract transform feedback translation utility
5 years ago
ReinUsesLisp
c07cc9d6a5
gl_shader_cache: Pass shader runtime information
5 years ago
ReinUsesLisp
9e7b6622c2
shader: Split profile and runtime information in separate structs
5 years ago
ReinUsesLisp
54decced92
gl_shader_manager: Zero initialize current assembly programs
5 years ago
ReinUsesLisp
c0e4074721
gl_shader_manager: Remove unintentionally committed #pragma
5 years ago
ReinUsesLisp
690b1841e6
renderer_opengl: State track compute assembly programs
5 years ago
ReinUsesLisp
c5ca4fe451
renderer_opengl: State track assembly programs
5 years ago
ReinUsesLisp
85fc7e584e
HACK: Bind stages before and after bindings
Works around a bug where program parameters are only applied to the
current stage, and this one wasn't bound at the moment.
Affects all SSBO usages on GLASM.
5 years ago
ReinUsesLisp
8b7d5912d6
glasm: Support textures used in more than one stage
5 years ago
ReinUsesLisp
258f2dec1b
opengl: Initial (broken) support to GLASM shaders
5 years ago
ReinUsesLisp
568d813eea
vk_update_descriptor: Properly initialize payload on the update descriptor queue
5 years ago
ReinUsesLisp
01e18581b9
vk_pipeline_cache: Enable int8 and int16 types on Vulkan
5 years ago
ReinUsesLisp
dc02cb92e4
gl_rasterizer: Flush L2 caches before glFlush on GLASM
5 years ago
ReinUsesLisp
2c81ad8311
glasm: Initial GLASM compute implementation for testing
5 years ago
ReinUsesLisp
36f1586267
vk_scheduler: Use locks instead of SPSC a queue
This tries to fix a data race where we'd wait forever for the GPU.
5 years ago
ReinUsesLisp
56c47951c5
vk_query_cache: Wait before reading queries
5 years ago
ReinUsesLisp
a515036604
vk_master_semaphore: Use fetch_add to increase master semaphore tick
5 years ago
ReinUsesLisp
bfa47539f6
gl_shader_cache: Remove code unintentionally committed
5 years ago
ReinUsesLisp
bed090807a
Move SPIR-V emission functions to their own header
5 years ago
ReinUsesLisp
d621e96d0d
shader: Initial OpenGL implementation
5 years ago
ReinUsesLisp
48a17298d7
spirv: Support OpenGL uniform buffers and change bindings
5 years ago
FernandoS27
c49d56c931
shader: Address feedback
5 years ago
FernandoS27
b541f5e5e3
shader: Implement VertexA stage
5 years ago
ReinUsesLisp
f4b82b8dd7
vk_graphics_pipeline: Fix texture buffer descriptors
5 years ago
ReinUsesLisp
53acdda772
vk_scheduler: Allow command submission on worker thread
This changes how Scheduler::Flush works. It queues the current command
buffer to be sent to the GPU but does not do it immediately. The Vulkan
worker thread takes care of that. Users will have to use
Scheduler::Flush + Scheduler::WaitWorker to get the previous behavior.
Scheduler::Finish is unchanged.
To avoid waiting on work never queued, Scheduler::Wait sends the current
command buffer if that's what the caller wants to wait.
5 years ago
ReinUsesLisp
c5425b38c1
vk_compute_pass: Fix -Wshadow warning
5 years ago
ReinUsesLisp
025b20f96a
shader: Move pipeline cache logic to separate files
Move code to separate files to be able to reuse it from OpenGL. This
greatly simplifies the pipeline cache logic on Vulkan.
Transform feedback state is not yet abstracted and it's still
intrusively stored inside vk_pipeline_cache. It will be moved when
needed on OpenGL.
5 years ago
ReinUsesLisp
ac8835659e
vulkan: Defer descriptor set work to the Vulkan thread
Move descriptor lookup and update code to a separate thread. Delaying
this removes work from the main GPU thread and allows creating
descriptor layouts on another thread. This reduces a bit the workload
of the main thread when new pipelines are encountered.
5 years ago
ReinUsesLisp
2f3c3dfc10
vulkan: Rework descriptor allocation algorithm
Create multiple descriptor pools on demand. There are some degrees of
freedom what is considered a compatible pool to avoid wasting large
pools on small descriptors.
5 years ago
ReinUsesLisp
5ed871398b
vk_graphics_pipeline: Generate specialized pipeline config functions and improve code
5 years ago
ReinUsesLisp
f4ace63957
shader: Accelerate pipeline transitions and use dirty flags for shaders
5 years ago
ReinUsesLisp
8fda599a31
vk_compute_pipeline: Fix index comparison oversight on compute texture buffers
5 years ago
ReinUsesLisp
0c0ee9d897
vulkan_device: Require shaderClipDistance and shaderCullDistance features
5 years ago
ReinUsesLisp
5b1b06f11e
vk_graphics_pipeline: Guard against non-tessellation pipelines using patches
5 years ago
Rodrigo Locatti
2dc86372c7
shader: Fix bugs and build issues on GCC
5 years ago
ReinUsesLisp
7a1f296cda
shader: Fix render targets with null attachments
5 years ago
ReinUsesLisp
0ace34575c
shader: Require dual source blending
5 years ago
ReinUsesLisp
d10cf55353
shader: Implement indexed textures
5 years ago
ReinUsesLisp
050e81500c
shader: Move microinstruction header to the value header
5 years ago
ReinUsesLisp
dd860b684c
shader: Implement D3D samplers
5 years ago
FernandoS27
f18a6dd1bd
shader: Implement SR_Y_DIRECTION
5 years ago
ReinUsesLisp
95815a3883
shader: Implement PIXLD.MY_INDEX
5 years ago
ReinUsesLisp
e3514bcd6b
spirv: Implement ViewportMask with NV_viewport_array2
5 years ago
ReinUsesLisp
183855e396
shader: Implement tessellation shaders, polygon mode and invocation id
5 years ago
lat9nq
7ae3ea6bee
vk_pipeline_cache: Silence GCC warnings
Silences `-Werror=missing-field-initializers` due to missing
initializers.
5 years ago
ReinUsesLisp
416e1b7441
spirv: Implement image buffers
5 years ago
ameerj
6c512f4bff
spirv: Implement alpha test
5 years ago
ReinUsesLisp
b126987c59
shader: Implement transform feedbacks and define file format
5 years ago