ReinUsesLisp
64613db605
shader_ir/decode: Implement half float saturation
7 years ago
ReinUsesLisp
90cbf89303
shader_ir/decode: Reduce severity of unimplemented half-float FTZ
7 years ago
ReinUsesLisp
acf618afbc
renderer_opengl: Implement half float NaN comparisons
7 years ago
ReinUsesLisp
ae46ad48ed
shader_ir: Avoid using static on heap-allocated objects
Using static here might be faster at runtime, but it adds a heap
allocation called before main.
7 years ago
Fernando Sahmkow
c9305959d3
gl_rasterizer_cache: Relax restrictions on FastCopySurface and FastLayeredCopySurface
7 years ago
ReinUsesLisp
93af663683
gl_shader_manager: Move code to source file and minor clean up
7 years ago
ReinUsesLisp
75d23a3679
vk_shader_decompiler: Implement flow primitives
7 years ago
ReinUsesLisp
58ad8dfac6
vk_shader_decompiler: Implement most common texture primitives
7 years ago
ReinUsesLisp
4667ed8e22
vk_shader_decompiler: Implement texture decompilation helper functions
7 years ago
ReinUsesLisp
676172e20d
vk_shader_decompiler: Implement Assign and LogicalAssign
7 years ago
ReinUsesLisp
d316d248ab
vk_shader_decompiler: Implement non-OperationCode visits
7 years ago
ReinUsesLisp
b758c861b0
vk_shader_decompiler: Implement OperationCode decompilation interface
7 years ago
ReinUsesLisp
fec4eb9776
vk_shader_decompiler: Implement Visit
7 years ago
ReinUsesLisp
ca51f99840
vk_shader_decompiler: Implement labels tree and flow
7 years ago
ReinUsesLisp
13aa664f3f
vk_shader_decompiler: Implement declarations
7 years ago
ReinUsesLisp
ad53b233c5
vk_shader_decompiler: Declare and stub interface for a SPIR-V decompiler
7 years ago
ReinUsesLisp
970d9e57c8
video_core: Add sirit as optional dependency with Vulkan
sirit is a runtime assembler for SPIR-V
7 years ago
Fernando Sahmkow
c9f35d96be
Remove bounding in LD_C
7 years ago
Fernando Sahmkow
cd91e98dab
Correct Fermi Copy on Linear Textures.
7 years ago
Fernando Sahmkow
7c458311d3
Implement Texture Format ZF32_X24S8.
7 years ago
Fernando Sahmkow
b0aa8ad736
Correct depth compare with color formats for R32F
7 years ago
Fernando Sahmkow
9f16833097
gl_backend: Align Pixel Storage
This commit makes sure GL reads on the correct pack size for the
respective texture buffer.
7 years ago
Fernando Sahmkow
5c55ae4e18
Correct LOP_IMN encoding
7 years ago
Fernando Sahmkow
16adc735a5
Correct XMAD mode, psl and high_b on different encodings.
7 years ago
Fernando Sahmkow
021cd56bc9
Permit a Null Shader in case of a bad host_ptr.
7 years ago
ReinUsesLisp
ddcb711ee8
maxwell_3d: Reduce severity of ProcessSyncPoint
7 years ago
Lioncash
89c106e31b
video_core/textures/convert: Replace include with a forward declaration
Avoids dragging in a direct dependency in a header.
7 years ago
Lioncash
fbf452ab0e
video_core/texures/texture: Remove unnecessary includes
Nothing in this header relies on common_funcs or the memory manager.
This gets rid of reliance on indirect inclusions in the OpenGL caches.
7 years ago
bunnei
20be92d5e6
memory_manager: Improved implementation of read/write/copy block.
- Fixes graphical issues with Chocobo's Mystery Dungeon EVERY BUDDY!
- Fixes a crash with Mario Tennis Aces
7 years ago
Lioncash
00e7190e29
video_core/macro_interpreter: Remove assertion within FetchParameter()
We can just use .at(), which essentially does the same thing, but with
less code.
7 years ago
Lioncash
1efdb4897e
video_core/macro_interpreter: Simplify GetRegister()
Given we already ensure nothing can set the zeroth register in
SetRegister(), we don't need to check if the index is zero and special
case it. We can just access the register normally, since it's already
going to be zero.
We can also replace the assertion with .at() to perform the equivalent
behavior inline as part of the API.
7 years ago
Lioncash
c13fbe6a41
video_core/memory_manager: Make Read() a const qualified member function
Given this doesn't actually alter internal state, this can be made a
const member function.
7 years ago
Lioncash
76ef6e5c2b
video_core/memory_manager: Make ReadBlock() a const qualifier member function
Now, since we have a const qualified variant of GetPointer(), we can put
it to use in ReadBlock() to retrieve the source pointer that is passed
into memcpy.
Now block reading may be done from a const context.
7 years ago
Lioncash
34510bcda8
video_core/memory_manager: Add a const qualified variant of GetPointer()
Allows retrieving read-only pointers from a const context externally.
7 years ago
Lioncash
085b388a7a
video_core/memory_manager: Make FindFreeRegion() a const member function
This doesn't modify internal state, so it can be made a const member
function.
7 years ago
Lioncash
9dec087fca
video_core/memory_manager: Make GpuToCpuAddress() a const member function
This doesn't modify any internal state, so it can be made a const member
function to allow its use in const contexts.
7 years ago
Fernando Sahmkow
fc91e21206
Implement SyncPoint Register in the GPU.
7 years ago
Lioncash
30ce9b2b5c
video_core/gpu_thread: Silence truncation warning in ThreadManager's constructor
Since c5d41fd812 callback parameters were
changed to use an s64 to represent late cycles instead of an int, so
this was causing a truncation warning to occur here. Changing it to s64
is sufficient to silence the warning.
7 years ago
Lioncash
22f02076c6
video_core/engines: Make memory manager members private
These aren't used externally by anything, so they can be made private
data members.
7 years ago
Lioncash
26223f8124
video_core/engines: Remove unnecessary inclusions where applicable
Replaces header inclusions with forward declarations where applicable
and also removes unused headers within the cpp file. This reduces a few
more dependencies on core/memory.h
7 years ago
ReinUsesLisp
34c3e2c786
renderer_opengl/utils: Skip empty binds
7 years ago
ReinUsesLisp
b631c09e72
gl_rasterizer: Use ARB_multi_bind to update SSBOs
7 years ago
ReinUsesLisp
2d1f054c61
gl_rasterizer: Use ARB_multi_bind to update UBOs across stages
7 years ago
Lioncash
52746ed8dc
gl_shader_decompiler: Rename GenerateTemporal() to GenerateTemporary()
Temporal generally indicates a relation to time, but this is just
creating a temporary, so this isn't really an accurate name for what the
function is actually doing.
7 years ago
ReinUsesLisp
88a3c05b7b
gl_shader_decompiler: Fix TXQ types
TXQ returns integer types. Shaders usually do:
R0 = TXQ(); // => int
R0 = static_cast<float>(R0);
If we don't treat it as an integer, it will cast a binary float value as
float - resulting in a corrupted number.
7 years ago
Lioncash
3fd5998d84
video_core/renderer_opengl: Remove unnecessary includes
Quite a few unused includes have built up over time, particularly on
core/memory.h. Removing these includes means the source files including
those files will no longer need to be rebuilt if they're changed, making
compilation slightly faster in this scenario.
7 years ago
ReinUsesLisp
78bd66d037
gl_state: Rework to enable individual applies
7 years ago
ReinUsesLisp
06c1f75f21
gl_shader_decompiler: Return early when an operation is invalid
7 years ago
bunnei
4555b63750
gpu_thread: Improve synchronization by using CoreTiming.
7 years ago
Lioncash
781ab8407b
general: Use deducation guides for std::lock_guard and std::unique_lock
Since C++17, the introduction of deduction guides for locking facilities
means that we no longer need to hardcode the mutex type into the locks
themselves, making it easier to switch mutex types, should it ever be
necessary in the future.
7 years ago