Fernando Sahmkow
8e9a4944db
GPU: Implement GPU Clock correctly.
7 years ago
Fernando Sahmkow
0cb3bcfbb7
Maxwell3D: Correct query reporting.
7 years ago
ReinUsesLisp
bf9a822b87
shader/decode: Fix constant buffer offsets
Some instances were using cbuf34.offset instead of cbuf34.GetOffset().
This returned the an invalid offset. Address those instances and rename
offset to "shifted_offset" to avoid future bugs.
7 years ago
ReinUsesLisp
7da52673d0
gl_rasterizer: Implement GL_POINT_SPRITE
OpenGL core defaults to GL_POINT_SPRITE, meanwhile on OpenGL
compatibility we have to explicitly enable it. This fixes
gl_PointCoord's behaviour.
7 years ago
ReinUsesLisp
4eed744277
maxwell_3d: Fix stencil back mask
7 years ago
ReinUsesLisp
017474c3f8
shader/shift: Implement SHF_LEFT_{IMM,R}
Shifts a pair of registers to the left and returns the high register.
7 years ago
ReinUsesLisp
137a8aa55c
shader/bfi: Implement register-constant buffer variant
It's the same as the variant that was implemented, but it takes the
operands from another source.
7 years ago
ReinUsesLisp
e3fc3459c8
shader/arithmetic: Implement FCMP
Compares the third operand with zero, then selects between the first and
second.
7 years ago
ReinUsesLisp
d95d4ac843
shader/memory: Implement ATOM.ADD
ATOM operates atomically on global memory. For now only add ATOM.ADD
since that's what was found in commercial games.
This asserts for ATOM.ADD.S32 (handling the others as unimplemented),
although ATOM.ADD.U32 shouldn't be any different.
This change forces us to change the default type on SPIR-V storage
buffers from float to uint. We could also alias the buffers, but it's
simpler for now to just use uint. While we are at it, abstract the code
to avoid repetition.
7 years ago
Fernando Sahmkow
b97608ca64
Shader_IR: Allow constant access of guest driver.
7 years ago
Fernando Sahmkow
c921e496eb
GPU: Implement guest driver profile and deduce texture handler sizes.
7 years ago
ReinUsesLisp
94915d4ea1
vk_graphics_pipeline: Set front facing properly
Front face was being forced to a certain value when cull face is
disabled. Set a default value on initialization and drop the forcefully
set front facing value with culling disabled.
7 years ago
ReinUsesLisp
63ba41a26d
shader/memory: Implement ATOMS.ADD.U32
7 years ago
Lioncash
9e874898f5
maxwell_3d: Make dirty_pointers private
This isn't used outside of the class itself, so we can make it private
for the time being.
7 years ago
ReinUsesLisp
c375d735e6
gl_state: Implement PROGRAM_POINT_SIZE
For gl_PointSize to have effect we have to activate
GL_PROGRAM_POINT_SIZE.
7 years ago
ReinUsesLisp
0d6d8129c4
yuzu: Remove Maxwell debugger
This was carried from Citra and wasn't really used on yuzu. It also adds
some runtime overhead. This commit removes it from yuzu's codebase.
7 years ago
ReinUsesLisp
5770418fb3
maxwell_3d: Add depth bounds registers
7 years ago
ReinUsesLisp
cf27b59493
shader/r2p: Refactor P2R to support P2R
7 years ago
ReinUsesLisp
da0aa4da6b
gl_rasterizer: Implement RASTERIZE_ENABLE
RASTERIZE_ENABLE is the opposite of GL_RASTERIZER_DISCARD. Implement it
naturally using this.
NVN games expect rasterize to be enabled by default, reflect that in our
initial GPU state.
7 years ago
ReinUsesLisp
8b26b4228b
shader_bytecode: Fix TLD4S encoding
7 years ago
ReinUsesLisp
e09c1fbc1f
shader/texture: Implement TLD4.PTP
7 years ago
Fernando Sahmkow
af89723fa3
Shader_Ir: Correct TLD4S encoding and implement f16 flag.
7 years ago
Fernando Sahmkow
7ffb672f61
Maxwell3D: Implement Depth Mode.
This commit finishes adding depth mode that was reverted before due to
other unresolved issues.
7 years ago
ReinUsesLisp
425a254fa2
shader: Implement MEMBAR.GL
Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
7 years ago
ReinUsesLisp
6233b1db08
shader_ir/memory: Implement patch stores
7 years ago
ReinUsesLisp
36651f215a
maxwell_3d: Add tessellation tess level registers
7 years ago
ReinUsesLisp
707bf41c6f
maxwell_3d: Add tessellation mode register
7 years ago
ReinUsesLisp
d2b50c5ebd
maxwell_3d: Add patch vertices register
7 years ago
ReinUsesLisp
74f515e8b6
shader_bytecode: Remove corrupted character
7 years ago
ReinUsesLisp
180417c514
gl_shader_cache: Remove dynamic BaseBinding specialization
7 years ago
ReinUsesLisp
c8a48aacc0
video_core: Unify ProgramType and ShaderStage into ShaderType
7 years ago
ReinUsesLisp
287ae2b9e8
gl_shader_cache: Specialize local memory size for compute shaders
Local memory size in compute shaders was stubbed with an arbitary size.
This commit specializes local memory size from guest GPU parameters.
7 years ago
ReinUsesLisp
4f5d8e4342
gl_shader_cache: Specialize shader workgroup
Drop the usage of ARB_compute_variable_group_size and specialize compute
shaders instead. This permits compute to run on AMD and Intel
proprietary drivers.
7 years ago
ReinUsesLisp
80eacdf89b
texture_cache: Use a table instead of switch for texture formats
Use a large flat array to look up texture formats. This allows us to
properly implement formats with different component types. It should
also be faster.
7 years ago
Fernando Sahmkow
cd0f5dfc17
Shader_IR: Implement TXD instruction.
7 years ago
Fernando Sahmkow
f3d1b370aa
Shader_IR: Implement FLO instruction.
7 years ago
Fernando Sahmkow
95137a04e1
Shader_Bytecode: Add encodings for FLO, SHF and TXD
7 years ago
ReinUsesLisp
7990220df7
maxwell_3d: Fix stencil_back_func_mask offset
stencil_back_func_mask and stencil_back_mask were misplaced. This commit
addresses that issue.
7 years ago
ReinUsesLisp
096f339a2a
video_core: Silence implicit conversion warnings
7 years ago
ReinUsesLisp
56e237d1f9
shader_ir/warp: Implement FSWZADD
7 years ago
bunnei
1bdae0fe29
common_func: Use std::array for INSERT_PADDING_* macros.
- Zero initialization here is useful for determinism.
7 years ago
Fernando Sahmkow
9293c3a0f2
Shader_IR: Fix TLD4 and add Bindless Variant.
This commit fixes an issue where not all 4 results of tld4 were being
written, the color component was defaulted to red, among other things.
It also implements the bindless variant.
7 years ago
ReinUsesLisp
fa31e5b868
maxwell_3d/kepler_compute: Remove unused arguments in GetTexture
7 years ago
ReinUsesLisp
538ddd220e
video_core/textures: Remove unused index entry in FullTextureInfo
7 years ago
ReinUsesLisp
961fe4d19b
maxwell_3d: Remove unused method GetStageTextures
7 years ago
ReinUsesLisp
3e469cecc1
maxwell_3d: Silence implicit conversion warnings
While we are at it, unify types for dirty reg pointers.
7 years ago
Fernando Sahmkow
be856a38d6
Shader_IR: Address Feedback.
7 years ago
Fernando Sahmkow
e3afd6595a
Shader_IR: Clang format
7 years ago
ReinUsesLisp
ec85648af3
gl_shader_disk_cache: Store and load fast BRX
7 years ago
Fernando Sahmkow
33fcec3502
Shader_IR: allow lookup of texture samplers within the shader_ir for instructions that don't provide it
7 years ago