Fernando Sahmkow
86d8563314
Buffer_Cache: Fixes and optimizations.
7 years ago
Fernando Sahmkow
862bec001b
Video_Core: Implement a new Buffer Cache
7 years ago
ReinUsesLisp
80702aa88f
renderer_opengl: Implement RGB565 framebuffer format
6 years ago
ReinUsesLisp
9cdf5c6c31
renderer_opengl: Use block linear swizzling for CPU framebuffers
6 years ago
ReinUsesLisp
8ad7268c75
renderer_opengl: Use VideoCore pixel format
6 years ago
ReinUsesLisp
9a76e94b3d
gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig
6 years ago
ReinUsesLisp
2ff8044806
shader_ir: Implement NOP
7 years ago
ReinUsesLisp
ec0da3ef64
half_set_predicate: Fix HSETP2_C constant buffer offset
7 years ago
Fernando Sahmkow
e52c895559
GPU: Flush commands on every dma pusher step.
This commit ensures that the host gpu is constantly fed with commands to
work with, while the guest gpu keeps producing the rest of the commands.
This reduces syncing time between host and guest gpu.
7 years ago
ReinUsesLisp
77f1a676a1
decode/half_set_predicate: Fix predicates
7 years ago
Fernando Sahmkow
a452ff983d
MaxwellDMA: Fixes, corrections and relaxations.
This commit fixes offsets on Linear -> Tiled copies, corrects z pos
fortiled->linear copies, corrects bytes_per_pixel calculation in tiled
-> linear copies and relaxes some limitations set by latest dma fixes
refactors.
7 years ago
ReinUsesLisp
104641db07
shader/decode: Implement S2R Tic
7 years ago
Fernando Sahmkow
11f4e739bd
Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.
This commit takes care of implementing the F16 Variants of the
conversion instructions and makes sure conversions are done.
7 years ago
Fernando Sahmkow
7a35178ee2
Maxwell3D: Reorganize and address feedback
7 years ago
Fernando Sahmkow
1158777737
Shader_Ir: Change Debug Asserts for Log Warnings
7 years ago
ReinUsesLisp
45c162444d
shader/half_set_predicate: Fix HSETP2 implementation
7 years ago
ReinUsesLisp
6c4985edc9
shader/half_set_predicate: Implement missing HSETP2 variants
7 years ago
Lioncash
c1c89411da
video_core/control_flow: Provide operator!= for types with operator==
Provides operational symmetry for the respective structures.
7 years ago
Lioncash
1780e0e3d0
video_core/control_flow: Prevent sign conversion in TryGetBlock()
The return value is a u32, not an s32, so this would result in an
implicit signedness conversion.
7 years ago
Lioncash
a162a844d2
video_core/control_flow: Remove unnecessary BlockStack copy constructor
This is the default behavior of the copy constructor, so it doesn't need
to be specified.
While we're at it we can make the other non-default constructor
explicit.
7 years ago
Lioncash
56bc11d952
video_core/control_flow: Use std::move where applicable
Results in less work being done where avoidable.
7 years ago
Lioncash
e7b39f47f8
video_core/control_flow: Use the prefix variant of operator++ for iterators
Same thing, but potentially allows a standard library implementation to
pick a more efficient codepath.
7 years ago
Lioncash
6885e7e7ec
video_core/control_flow: Use empty() member function for checking emptiness
It's what it's there for.
7 years ago
Lioncash
45fa12a05c
video_core: Resolve -Wreorder warnings
Ensures that the constructor members are always initialized in the order
that they're declared in.
7 years ago
Lioncash
47df844338
video_core/control_flow: Make program_size for ScanFlow() a std::size_t
Prevents a truncation warning from occurring with MSVC. Also the
internal data structures already treat it as a size_t, so this is just a
discrepancy in the interface.
7 years ago
Lioncash
3df9558593
video_core/control_flow: Place all internally linked types/functions within an anonymous namespace
Previously, quite a few functions were being linked with external
linkage.
7 years ago
Lioncash
1109db86b7
video_core/shader/decode: Prevent sign-conversion warnings
Makes it explicit that the conversions here are intentional.
7 years ago
Fernando Sahmkow
5a06e33859
Shader_Ir: correct clang format
7 years ago
Fernando Sahmkow
43f57d668c
GPU: Add missing puller methods.
This adds some missing puller methods. We don't assert them as these are
nop operations for us.
7 years ago
Fernando Sahmkow
3a3fee5abf
MaxwellDMA/KeplerCopy: Downgrade DMA log message to Trace.
This log was just to know which games used DMA. It's no longer
important.
7 years ago
Fernando Sahmkow
d3b71ff80d
Gl_Texture_Cache: Remove assert on component type in GetFormatTuple
Textures can have different components types in different orders. This
assert was completely inprecise and the effectiveness of such is better
handled by case and within the texture cache.
7 years ago
Fernando Sahmkow
0b65e9335e
Shader_Ir: Downgrade precision and rounding asserts to debug asserts.
This commit reduces the sevirity of asserts for FP precision and
rounding as this are well known and have little to no consequences in
gpu's accuracy.
7 years ago
ReinUsesLisp
74632c76ce
gl_shader_decompiler: Rename bufferImage to imageBuffer
The online OpenGL documentation is wrong. The type definition is
imageBuffer.
7 years ago
ReinUsesLisp
87909d327f
gl_shader_cache: Fix newline on buffer preprocessor definitions
7 years ago
ReinUsesLisp
e7bdf8b22a
textures: Fix texture buffer size calculation
7 years ago
ReinUsesLisp
84027f4808
gl_texture_cache: Do not set texture parameters to buffers
7 years ago
ReinUsesLisp
73b2dc6d4f
gl_texture_cache: Add missing break in CreateTexture
7 years ago
Fernando Sahmkow
4be61013a1
GL_State: Feedback and fixes
7 years ago
Fernando Sahmkow
5ad889f6fd
Maxwell3D: Address Feedback
7 years ago
Fernando Sahmkow
7826f0afd9
Texture_Cache: Rebase Fixes
7 years ago
Fernando Sahmkow
8cdbfe69b1
GL_Rasterizer: Corrections to Clearing.
7 years ago
Fernando Sahmkow
0ff4a5fa39
Maxwell3D: Correct marking dirtiness on CB upload
7 years ago
Fernando Sahmkow
fec32fed18
GL_Rasterizer: Rework RenderTarget/DepthBuffer clearing
7 years ago
Fernando Sahmkow
a081dea8ab
Maxwell3D: Implement State Dirty Flags.
7 years ago
Fernando Sahmkow
0d3db58657
Maxwell3D: Rework CBData Upload
7 years ago
Fernando Sahmkow
f2e7b29c14
Maxwell3D: Rework the dirty system to be more consistant and scaleable
7 years ago
Fernando Sahmkow
e42bcf2314
maxwell3d: Implement Conditional Rendering
Conditional Rendering takes care of conditionaly clearing or drawing
depending on a set of queries. This PR implements the query checks to
stablish if things can be rendered or not.
7 years ago
Lioncash
bebbdc2067
shader_ir: std::move Node instance where applicable
These are std::shared_ptr instances underneath the hood, which means
copying them isn't as cheap as a regular pointer. Particularly so on
weakly-ordered systems.
This avoids atomic reference count increments and decrements where they
aren't necessary for the core set of operations.
7 years ago
Lioncash
60926ac16b
shader_ir: Rename Get/SetTemporal to Get/SetTemporary
This is more accurate in terms of describing what the functions are
actually doing. Temporal relates to time, not the setting of a temporary
itself.
7 years ago
Lioncash
44d87ff641
shader_ir: Remove unused includes
Removes unnecessary header dependencies.
7 years ago