ReinUsesLisp
3603c2f559
gl_resource_manager: Add managed query class
7 years ago
ReinUsesLisp
8449d0cf4e
gl_rasterizer: Use the least generic OpenGL draw function possible
This may help some implementations.
6 years ago
ReinUsesLisp
072a0bff5e
vk_shader_decompiler: Fix vertex id and instance id
Vulkan's VertexIndex and InstanceIndex don't match with hardware. This
is because Nvidia implements gl_VertexID and gl_InstanceID. The math
that relates these is:
gl_VertexIndex = gl_BaseVertex + gl_VertexID
gl_InstanceIndex = gl_InstanceIndex + gl_InstanceID
To emulate it using what Vulkan's SPIR-V offers (the *Index variants)
this commit substracts gl_Base* from gl_*Index to obtain the OpenGL and
hardware's equivalent.
6 years ago
Fernando Sahmkow
2dd9d660e3
GPU: Address Feedback.
6 years ago
Fernando Sahmkow
04c3213a01
GPU: Implement GPU Clock correctly.
6 years ago
Fernando Sahmkow
8137fb8981
Maxwell3D: Correct query reporting.
6 years ago
bunnei
fc246fd1a2
gpu_thread: Use MPSCQueue for GPU commands.
- Necessary for multiple service threads.
6 years ago
bunnei
f28ab9626e
video_core: memory_manager: Use GPU interface for cache functions.
6 years ago
ReinUsesLisp
389cb51a33
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.
6 years ago
ReinUsesLisp
48a1e6461b
maxwell_to_gl: Implement R8G8_USCALED
6 years ago
ReinUsesLisp
e98ec35845
maxwell_to_gl: Reduce unimplemented formats to LOG_ERROR
6 years ago
ReinUsesLisp
c2ecaf376b
vk_rasterizer: Use noexcept variants of std::bitset
Removes bounds checking from "texceptions" instances.
6 years ago
ReinUsesLisp
3c7276cd1a
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.
6 years ago
ReinUsesLisp
1eef76d7b6
maxwell_3d: Fix stencil back mask
6 years ago
ReinUsesLisp
4f5791e529
shader: Remove curly braces initializers on shared pointers
6 years ago
ReinUsesLisp
62ab366971
shader/shift: Implement SHIFT_RIGHT_{IMM,R}
Shifts a pair of registers to the right and returns the low register.
6 years ago
ReinUsesLisp
0ff3ea3188
shader/shift: Implement SHF_LEFT_{IMM,R}
Shifts a pair of registers to the left and returns the high register.
6 years ago
ReinUsesLisp
535a9fcf44
gl_rasterizer: Fix instanced draw arrays
glDrawArrays was being used when the draw had a base instance specified.
This commit removes the draw parameters abstraction and fixes the
mentioned issue.
6 years ago
ReinUsesLisp
48cb021c34
yuzu: Implement Vulkan frontend
Adds a Qt and SDL2 frontend for Vulkan. It also finishes the missing
bits on Vulkan initialization.
6 years ago
ReinUsesLisp
2ba5519371
settings: Add settings for graphics backend
6 years ago
ReinUsesLisp
1d17aca3f5
shader/other: Fix skips for SYNC and BRK
6 years ago
ReinUsesLisp
1c642262eb
shader/other: Stub S2R LaneId
6 years ago
ReinUsesLisp
25fcf5704b
buffer_cache: Delay buffer destructions
Delay buffer destruction some extra frames to avoid destroying buffers
that are still being used from older frames. This happens on Nvidia's
driver with mailbox.
6 years ago
ReinUsesLisp
1044f51a83
gl_shader_decompiler: Remove UNIMPLEMENTED for gl_PointSize
This was implemented by a previous commit and it's no longer required.
6 years ago
ReinUsesLisp
68c9d670a1
gl_texture_cache: Silence implicit sign cast warnings
6 years ago
ReinUsesLisp
ca61e82f85
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.
6 years ago
ReinUsesLisp
098218ff4c
shader/arithmetic: Implement FCMP
Compares the third operand with zero, then selects between the first and
second.
6 years ago
ReinUsesLisp
b3e4461606
texture_cache/surface_base: Fix layered break down
Layered break downs was passing "layer" as a "depth" parameter. This
commit addresses that.
6 years ago
ReinUsesLisp
dbb7b51943
gl_texture_cache: Properly implement depth/stencil sampling
This addresses the long standing issue of compatibility vs. core
profiles on OpenGL, properly implementing depth vs. stencil sampling
depending on the texture swizzle.
6 years ago
ReinUsesLisp
0d8f0ad3b3
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.
6 years ago
Fernando Sahmkow
2e6a1b965d
Shader_IR: Address feedback.
6 years ago
ReinUsesLisp
0340f04b84
shader/memory: Implement STL.S16 and STS.S16
6 years ago
ReinUsesLisp
edd5e604be
shader/memory: Implement unaligned LDL.S16 and LDS.S16
6 years ago
ReinUsesLisp
851d3adc24
shader/memory: Move unaligned load/store to functions
6 years ago
ReinUsesLisp
cff97272d2
shader/memory: Implement LDL.S16 and LDS.S16
6 years ago
Fernando Sahmkow
26b5aa702d
Shader_IR: Change name of TrackSampler function so it does not confuse with the type.
6 years ago
Fernando Sahmkow
8c800cf312
Shader_IR: Corrections, styling and extras.
6 years ago
Fernando Sahmkow
a0cd5fb25f
Shader_IR: Correct Custom Variable assignment.
6 years ago
Fernando Sahmkow
b6d3153e7e
Shader_IR: Propagate bindless index into the GL compiler.
6 years ago
Fernando Sahmkow
c066e472b9
Shader_IR: Implement Injectable Custom Variables to the IR.
6 years ago
Fernando Sahmkow
6d6a963173
GL Backend: Introduce indexed samplers into the GL backend
6 years ago
Fernando Sahmkow
123c7cf307
Shader_IR: deduce size of indexed samplers
6 years ago
Fernando Sahmkow
2b9a30d06b
Shader_IR: Setup Indexed Samplers on the IR
6 years ago
Fernando Sahmkow
f93bff419e
Shader_IR: Implement initial code for tracking indexed samplers.
6 years ago
Fernando Sahmkow
c0c5fa078b
Shader_IR: Address Feedback
6 years ago
Fernando Sahmkow
5fb7881077
Shader_IR: Allow constant access of guest driver.
6 years ago
Fernando Sahmkow
c5fdcd7a2c
Shader_IR: Address Feedback
6 years ago
Fernando Sahmkow
87546c5c19
Guest_driver: Correct compiling errors in GCC.
6 years ago
Fernando Sahmkow
61d2053adb
Shader_IR: Store Bound buffer on Shader Usage
6 years ago
Fernando Sahmkow
e9f3264c8d
GPU: Implement guest driver profile and deduce texture handler sizes.
6 years ago