| Age | Commit message (Collapse) | Author |
|
Removes the sRGB hack of tracking if a frame used an sRGB rendertarget
to apply at least once to blit the final texture as sRGB. Instead of
doing this apply sRGB if the presented image has sRGB.
Also enable sRGB by default on Maxwell3D registers as some games seem to
assume this.
|
|
shader/shift: Implement SHR wrapped and clamped variants
|
|
maxwell_3d: Avoid moving macro_params
|
|
|
|
|
|
|
|
Nvidia defaults to wrapped shifts, but this is undefined behaviour on
OpenGL's spec. Explicitly mask/clamp according to what the guest shader
requires.
|
|
|
|
shader_ir/conversion: Implement F2I and F2F F16 selector
|
|
float_set_predicate: Add missing negation bit for the second operand
|
|
maxwell_3d: Fix macro binding cursor
|
|
MaxwellDMA: Fixes, corrections and relaxations.
|
|
|
|
* 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
|
|
|
|
|
|
|
|
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.
|
|
Shader_Ir: Implement F16 Variants of F2F, F2I, I2F.
|
|
|
|
Implement GPU Synchronization Mechanisms & Correct NVFlinger
|
|
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.
|
|
Downgrade and suppress a series of GPU asserts and debug messages.
|
|
maxwell3d: Implement Conditional Rendering
|
|
gl_rasterizer: Implement compute shaders
|
|
Rework Dirty Flags in GPU Pipeline, Optimize CBData and Redo Clearing mechanism
|
|
This commit takes care of implementing the F16 Variants of the
conversion instructions and makes sure conversions are done.
|
|
|
|
|
|
This log was just to know which games used DMA. It's no longer
important.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
gl_shader_decompiler: Implement gl_ViewportIndex and gl_Layer in vertex shaders
|
|
buffer_cache: Implement a generic buffer cache and its OpenGL backend
|
|
shader/texture: Add F16 support for TLDS
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|