ReinUsesLisp
95df43ec32
maxwell_3d: Fix macro binding cursor
6 years ago
Rodrigo Locatti
598157a8c9
video_core: Silent miscellaneous warnings ( #2820 )
* texture_cache/surface_params: Remove unused local variable
* rasterizer_interface: Add missing documentation commentary
* maxwell_dma: Remove unused rasterizer reference
* video_core/gpu: Sort member declaration order to silent -Wreorder warning
* fermi_2d: Remove unused MemoryManager reference
* video_core: Silent unused variable warnings
* buffer_cache: Silent -Wreorder warnings
* kepler_memory: Remove unused MemoryManager reference
* gl_texture_cache: Add missing override
* buffer_cache: Add missing include
* shader/decode: Remove unused variables
6 years ago
ReinUsesLisp
fce2cd83d6
gl_buffer_cache: Add missing include
RasterizerInterface was considered an incomplete object by clang.
6 years ago
ReinUsesLisp
d490cc5285
float_set_predicate: Add missing negation bit for the second operand
6 years ago
ReinUsesLisp
67f47b2f6a
shader_ir: Implement VOTE
Implement VOTE using Nvidia's intrinsics. Documentation about these can
be found here
https://developer.nvidia.com/reading-between-threads-shader-intrinsics
Instead of using portable ARB instructions I opted to use Nvidia
intrinsics because these are the closest we have to how Tegra X1
hardware renders.
To stub VOTE on non-Nvidia drivers (including nouveau) this commit
simulates a GPU with a warp size of one, returning what is meaningful
for the instruction being emulated:
* anyThreadNV(value) -> value
* allThreadsNV(value) -> value
* allThreadsEqualNV(value) -> true
ballotARB, also known as "uint64_t(activeThreadsNV())", emits
VOTE.ANY Rd, PT, PT;
on nouveau's compiler. This doesn't match exactly to Nvidia's code
VOTE.ALL Rd, PT, PT;
Which is emulated with activeThreadsNV() by this commit. In theory this
shouldn't really matter since .ANY, .ALL and .EQ affect the predicates
(set to PT on those cases) and not the registers.
6 years ago
Fernando Sahmkow
e1f3d5114f
Buffer Cache: Adress Feedback.
6 years ago
Fernando Sahmkow
cf08eba948
Buffer_Cache: Implement flushing.
7 years ago
Fernando Sahmkow
51e03c738a
Buffer_Cache: Implement barriers.
7 years ago
Fernando Sahmkow
4d5e3ee41c
Buffer_Cache: Optimize and track written areas.
7 years ago
Fernando Sahmkow
2ecf0de665
BufferCache: Rework mapping caching.
7 years ago
Fernando Sahmkow
6bdc557f72
Buffer_Cache: Fixes and optimizations.
7 years ago
Fernando Sahmkow
8098f3ba58
Video_Core: Implement a new Buffer Cache
7 years ago
ReinUsesLisp
b6272eb8e2
shader_ir: Implement NOP
7 years ago
ReinUsesLisp
48e8b1ab74
half_set_predicate: Fix HSETP2_C constant buffer offset
7 years ago
Fernando Sahmkow
e82d641357
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
5188570517
decode/half_set_predicate: Fix predicates
7 years ago
Fernando Sahmkow
f1adfe6591
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
11138d67ad
shader/decode: Implement S2R Tic
7 years ago
Fernando Sahmkow
9a0fa90be2
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
57e6c1fac3
Maxwell3D: Reorganize and address feedback
7 years ago
Fernando Sahmkow
9a4a346b3f
Shader_Ir: Change Debug Asserts for Log Warnings
7 years ago
ReinUsesLisp
2f76aafca9
shader/half_set_predicate: Fix HSETP2 implementation
7 years ago
ReinUsesLisp
edc43b2509
shader/half_set_predicate: Implement missing HSETP2 variants
7 years ago
Lioncash
2f1921b8f4
video_core/control_flow: Provide operator!= for types with operator==
Provides operational symmetry for the respective structures.
7 years ago
Lioncash
e792178598
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
c3dd5c7667
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
095259a135
video_core/control_flow: Use std::move where applicable
Results in less work being done where avoidable.
7 years ago
Lioncash
0d287d3551
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
da307b1c61
video_core/control_flow: Use empty() member function for checking emptiness
It's what it's there for.
7 years ago
Lioncash
f6250ef163
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
fcc59b55f7
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
1bad7650ec
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
78f54de493
video_core/shader/decode: Prevent sign-conversion warnings
Makes it explicit that the conversions here are intentional.
7 years ago
Fernando Sahmkow
3e0f5631c3
Shader_Ir: correct clang format
7 years ago
Fernando Sahmkow
d6e1af6f23
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
62486dfb4f
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
57a372439d
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
a13b47f080
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
f63034708f
gl_shader_decompiler: Rename bufferImage to imageBuffer
The online OpenGL documentation is wrong. The type definition is
imageBuffer.
7 years ago
ReinUsesLisp
bf4cca9510
gl_shader_cache: Fix newline on buffer preprocessor definitions
7 years ago
ReinUsesLisp
93a5cdecbb
textures: Fix texture buffer size calculation
7 years ago
ReinUsesLisp
67843df9f6
gl_texture_cache: Do not set texture parameters to buffers
7 years ago
ReinUsesLisp
4f332abb1a
gl_texture_cache: Add missing break in CreateTexture
7 years ago
Fernando Sahmkow
c9690e912e
GL_State: Feedback and fixes
7 years ago
Fernando Sahmkow
527a77ec0a
Maxwell3D: Address Feedback
7 years ago
Fernando Sahmkow
ca50a64db8
Texture_Cache: Rebase Fixes
7 years ago
Fernando Sahmkow
2f716f52d9
GL_Rasterizer: Corrections to Clearing.
7 years ago
Fernando Sahmkow
8dd4797e00
Maxwell3D: Correct marking dirtiness on CB upload
7 years ago
Fernando Sahmkow
0d34a53c44
GL_Rasterizer: Rework RenderTarget/DepthBuffer clearing
7 years ago
Fernando Sahmkow
89cc60554a
Maxwell3D: Implement State Dirty Flags.
7 years ago