ReinUsesLisp
0544c7ebce
shader/r2p: Refactor P2R to support P2R
6 years ago
ReinUsesLisp
0eb9f3b107
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.
6 years ago
ReinUsesLisp
6acbec5666
shader_bytecode: Fix TLD4S encoding
6 years ago
ReinUsesLisp
ac847a8cca
shader/texture: Implement TLD4.PTP
6 years ago
Fernando Sahmkow
e47f66ac4b
Shader_Ir: Correct TLD4S encoding and implement f16 flag.
6 years ago
Fernando Sahmkow
1987e66daa
Maxwell3D: Implement Depth Mode.
This commit finishes adding depth mode that was reverted before due to
other unresolved issues.
6 years ago
ReinUsesLisp
6e95568616
shader: Implement MEMBAR.GL
Implement using memoryBarrier in GLSL and OpMemoryBarrier on SPIR-V.
6 years ago
ReinUsesLisp
243a33aba9
shader_ir/memory: Implement patch stores
6 years ago
ReinUsesLisp
b377e0c75c
maxwell_3d: Add tessellation tess level registers
6 years ago
ReinUsesLisp
cac31c3fbb
maxwell_3d: Add tessellation mode register
6 years ago
ReinUsesLisp
c69c5be931
maxwell_3d: Add patch vertices register
6 years ago
ReinUsesLisp
959ac10dc8
shader_bytecode: Remove corrupted character
6 years ago
ReinUsesLisp
0ecd1a227d
gl_shader_cache: Remove dynamic BaseBinding specialization
6 years ago
ReinUsesLisp
5f6a589d63
video_core: Unify ProgramType and ShaderStage into ShaderType
6 years ago
ReinUsesLisp
46ad4bd297
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.
6 years ago
ReinUsesLisp
b0b505984d
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.
6 years ago
ReinUsesLisp
c884dc8af2
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.
6 years ago
Fernando Sahmkow
206d13c987
Shader_IR: Implement TXD instruction.
6 years ago
Fernando Sahmkow
6267529837
Shader_IR: Implement FLO instruction.
6 years ago
Fernando Sahmkow
cb07d60362
Shader_Bytecode: Add encodings for FLO, SHF and TXD
6 years ago
ReinUsesLisp
2f14d6ba63
maxwell_3d: Fix stencil_back_func_mask offset
stencil_back_func_mask and stencil_back_mask were misplaced. This commit
addresses that issue.
6 years ago
ReinUsesLisp
905cc250a4
video_core: Silence implicit conversion warnings
6 years ago
ReinUsesLisp
bb94bcc991
shader_ir/warp: Implement FSWZADD
6 years ago
bunnei
fe02b9f968
common_func: Use std::array for INSERT_PADDING_* macros.
- Zero initialization here is useful for determinism.
6 years ago
Fernando Sahmkow
d65eed3b61
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.
6 years ago
ReinUsesLisp
902431adce
maxwell_3d/kepler_compute: Remove unused arguments in GetTexture
6 years ago
ReinUsesLisp
cea1214e5a
video_core/textures: Remove unused index entry in FullTextureInfo
6 years ago
ReinUsesLisp
cf7206fe7b
maxwell_3d: Remove unused method GetStageTextures
6 years ago
ReinUsesLisp
15a52a86bd
maxwell_3d: Silence implicit conversion warnings
While we are at it, unify types for dirty reg pointers.
6 years ago
Fernando Sahmkow
ab86995cb9
Shader_IR: Address Feedback.
6 years ago
Fernando Sahmkow
094fa9ec6c
Shader_IR: Clang format
6 years ago
ReinUsesLisp
c37c37d4a2
gl_shader_disk_cache: Store and load fast BRX
6 years ago
Fernando Sahmkow
4168b287c9
Shader_IR: allow lookup of texture samplers within the shader_ir for instructions that don't provide it
6 years ago
Fernando Sahmkow
d4da704ac5
VideoCore: Unify const buffer accessing along engines and provide ConstBufferLocker class to shaders.
6 years ago
Lioncash
f1443d2b41
shader_bytecode: Make Matcher constexpr capable
Greatly shrinks the amount of generated code for GetDecodeTable().
Collapses an assembly output of 9000+ lines down to ~3621 with Clang,
and 6513 down to ~2616 with GCC, given it's now allowed to construct all
the entries as a sequence of constant data.
6 years ago
ReinUsesLisp
94d32c3cd2
maxwell_3d: Reduce FlushMMEInlineDraw logging to Trace
6 years ago
Fernando Sahmkow
9dc2027153
Fermi2D: Use a different formula for delimiting blit areas.
6 years ago
Fernando Sahmkow
ea7b91dbf9
Fermi2D: limit blit area to only available area
Normaly OpenGL does not care if the areas exceed the texture regions but
other backends such as Vulkan do care about the limits of this areas.
This PR crops the areas of the blit in order that they don't surpass the
limits of the textures. This should help Vulkan and faulty OpenGL
drivers
6 years ago
Lioncash
0b0ac56219
maxwell_3d: Silence truncation warnings
A trivial warning caused by not using size_t as the argument types
instead of u32.
6 years ago
ReinUsesLisp
521b03ddb4
maxwell_3d: Add dirty flags for depth bounds values
This is useful in Vulkan where we want to update depth bounds without
caring if it's enabled or disabled through vkCmdSetDepthBounds.
6 years ago
Fernando Sahmkow
d53d764965
Maxwell3D: Corrections and refactors to MME instance refactor
6 years ago
FearlessTobi
97f509e9d4
Fix clang-format
6 years ago
FearlessTobi
4c1c09c8d8
fermi_2d: Lower surface copy log severity to DEBUG
6 years ago
ReinUsesLisp
79a7463f4c
gl_shader_decompiler: Use uint for images and fix SUATOM
In the process remove implementation of SUATOM.MIN and SUATOM.MAX as
these require a distinction between U32 and S32. These have to be
implemented with imageCompSwap loop.
6 years ago
ReinUsesLisp
331d140bb4
shader/image: Implement SULD and remove irrelevant code
* Implement SULD as float.
* Remove conditional declaration of GL_ARB_shader_viewport_layer_array.
6 years ago
ReinUsesLisp
dfe69a7f19
shader_bytecode: Add SULD encoding
6 years ago
Fernando Sahmkow
f02b9d37f0
Shader_IR: ICMP corrections and fixes
6 years ago
David Marcec
5bcd512c3c
Mark DrawArrays as LOG_TRACE
There's no reason to clog logs with DrawArray.
6 years ago
Fernando Sahmkow
01b8a78a8a
Shader_IR: Implement ICMP.
6 years ago
Fernando Sahmkow
ab61f800b6
Rasterizer: Refactor and simplify DrawBatch Interface.
6 years ago