Fernando Sahmkow
a9943222f2
GL_State: Add a microprofile timer to OpenGL state.
7 years ago
Fernando Sahmkow
5c1e1a148e
Gl_Texture_Cache: Measure Buffer Copy Times
7 years ago
Fernando Sahmkow
5d31bab69a
Texture_Cache: Correct Linear Structural Match.
7 years ago
ReinUsesLisp
0eb0c24269
gl_shader_decompiler: Fix gl_PointSize redeclaration
7 years ago
ReinUsesLisp
aca40de224
gl_shader_decompiler: Fix conditional usage of GL_ARB_shader_viewport_layer_array
7 years ago
Fernando Sahmkow
f2549739d1
shader_ir: Add comments on missing instruction.
Also shows Nvidia's address space on comments.
7 years ago
Michael Scire
a1845d1dd3
prefer system reference over global accessor
7 years ago
Fernando Sahmkow
2de7649311
shader_ir: limit explorastion to best known program size.
7 years ago
Fernando Sahmkow
e7c6045a03
control_flow: Correct block breaking algorithm.
7 years ago
Fernando Sahmkow
dc4a93594c
control_flow: Assert shaders bigger than limit.
7 years ago
Fernando Sahmkow
e7a88f0ab3
control_flow: Address feedback.
7 years ago
Fernando Sahmkow
34357b110c
shader_ir: Correct parsing of scheduling instructions and correct sizing
7 years ago
Fernando Sahmkow
cfb3db1a32
shader_ir: Correct max sizing
7 years ago
Fernando Sahmkow
d45fed3030
shader_ir: Remove unnecessary constructors and use optional for ScanFlow result
7 years ago
Fernando Sahmkow
01b21ee1e8
shader_ir: Corrections, documenting and asserting control_flow
7 years ago
Fernando Sahmkow
d5533b440c
shader_ir: Unify blocks in decompiled shaders.
7 years ago
Fernando Sahmkow
926b80102f
shader_ir: Decompile Flow Stack
7 years ago
Fernando Sahmkow
459fce3a8f
shader_ir: propagate shader size to the IR
7 years ago
Fernando Sahmkow
8a6fc529a9
shader_ir: Implement BRX & BRA.CC
7 years ago
Fernando Sahmkow
c218ae4b02
shader_ir: Remove the old scanner.
7 years ago
Fernando Sahmkow
8af6e6a052
shader_ir: Implement a new shader scanner
7 years ago
Lioncash
c04785c928
gl_rasterizer: Amend documentation comment for ConfigureFramebuffers()
must_reconfigure isn't a parameter for this function any more, so it can
be replaced with current_state.
While we're at it, we can make the parameters of the declaration match
the same name as the ones in the definition.
7 years ago
Michael Scire
697206092e
Prevent merging of device mapped memory blocks.
This sets the DeviceMapped attribute for GPU-mapped memory blocks,
and prevents merging device mapped blocks. This prevents memory
mapped from the gpu from having its backing address changed by
block coalesce.
7 years ago
ReinUsesLisp
c9d886c84e
gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders
This commit implements gl_ViewportIndex and gl_Layer in vertex and
geometry shaders. In the case it's used in a vertex shader, it requires
ARB_shader_viewport_layer_array. This extension is available on AMD and
Nvidia devices (mesa and proprietary drivers), but not available on
Intel on any platform. At the moment of writing this description I don't
know if this is a hardware limitation or a driver limitation.
In the case that ARB_shader_viewport_layer_array is not available,
writes to these registers on a vertex shader are ignored, with the
appropriate logging.
7 years ago
Tobias
be020f7621
Delete decode_integer_set.cpp
7 years ago
ReinUsesLisp
d0966b9f7c
shader/texture: Add F16 support for TLDS
7 years ago
Lioncash
cbdd6cd1c0
vk_sampler_cache: Remove unused includes
These are no longer used within this header, so they can be removed.
7 years ago
Lioncash
4b27680639
video_core: Add missing override specifiers
7 years ago
ReinUsesLisp
86a874a2fc
vk_scheduler: Drop execution context in favor of views
Instead of passing by copy an execution context through out the whole
Vulkan call hierarchy, use a command buffer view and fence view
approach.
This internally dereferences the command buffer or fence forcing the
user to be unable to use an outdated version of it on normal usage.
It is still possible to keep store an outdated if it is casted to
VKFence& or vk::CommandBuffer.
While changing this file, add an extra parameter for Flush and Finish to
allow releasing the fence from this calls.
7 years ago
ReinUsesLisp
79a23ca5f0
buffer_cache: Avoid [[nodiscard]] to make clang-format happy
7 years ago
ReinUsesLisp
83050c9495
buffer_cache: Try to fix MinGW build
7 years ago
ReinUsesLisp
f7691ebe57
gl_rasterizer: Fix nullptr dereference on disabled buffers
7 years ago
ReinUsesLisp
7ecf64257a
gl_rasterizer: Minor style changes
7 years ago
ReinUsesLisp
9cdc576f60
gl_rasterizer: Fix vertex and index data invalidations
7 years ago
ReinUsesLisp
1fa21fa192
gl_buffer_cache: Implement with generic buffer cache
7 years ago
ReinUsesLisp
32c0212b24
buffer_cache: Implement a generic buffer cache
Implements a templated class with a similar approach to our current
generic texture cache. It is designed to be compatible with Vulkan and
OpenGL,
7 years ago
ReinUsesLisp
2bcae41a73
gl_buffer_cache: Remove global system getters
7 years ago
ReinUsesLisp
02ab844934
gl_device: Query SSBO alignment
7 years ago
ReinUsesLisp
d14fbfb9b5
gl_buffer_cache: Implement flushing
7 years ago
ReinUsesLisp
345f852bdb
gl_rasterizer: Drop gl_global_cache in favor of gl_buffer_cache
7 years ago
ReinUsesLisp
8155b12d3d
gl_buffer_cache: Rework to support internalized buffers
7 years ago
ReinUsesLisp
f8ba72d491
gl_buffer_cache: Store in CachedBufferEntry the used buffer handle
7 years ago
ReinUsesLisp
b54fb8fc4c
gl_buffer_cache: Return used buffer from Upload function
7 years ago
ReinUsesLisp
a6d2f52fc3
gl_rasterizer: Add some commentaries
7 years ago
ReinUsesLisp
2b9d4088ec
gl_rasterizer: Make DrawParameters rasterizer instance const
7 years ago
ReinUsesLisp
2e39c20da5
gl_rasterizer: Move index buffer uploading to its own method
7 years ago
Fernando Sahmkow
d20ede40b1
NVServices: Styling, define constructors as explicit and corrections
7 years ago
Fernando Sahmkow
b391e5f638
NVFlinger: Correct GCC compile error
7 years ago
Fernando Sahmkow
0335a25d1f
NVServices: Make NVEvents Automatic according to documentation.
7 years ago
Fernando Sahmkow
7d1b974bca
GPU: Correct Interrupts to interrupt on syncpt/value instead of event, mirroring hardware
7 years ago